具有 API 密钥访问权限的 IBM Cloud Functions
IBM Cloud Functions with API Key Access
我创建了一个 IBM Cloud Function ACTION 并将 Web Actions 附加到它。在 "API" 中,我能够定义要使用 "POST https:// example.com/hello" 访问的函数。经过测试,一切正常。
现在我想通过向我的一些客户分发 API 密钥来保护此 API。在 API 管理中,我可以通过激活 Require applications to authenticate via API key
滑块看到这是可行的。激活后,我还可以对 per-key basis
.
上的呼叫进行速率限制
问题是:如何创建 API 键?以及如何调用我的端点?
到目前为止,我去过 "Manage > Access (IAM)",然后 IBM Cloud API keys
并为我创建了一个 API 密钥(这不是我想要的,因为这是一个 API 我所有具有管理员权限的帐户的密钥,我想要的是一个 API 密钥,允许我的用户仅调用我的 API)。使用 API 密钥,我在 curl 中调用了 API:
curl -X POST "https:// example.com/hello" -H "X-IBM-Client-Id: <MY-API-KEY>"
仍然,我得到了 401 未授权...所以我猜是出了什么问题,但我不知道具体是什么。
你是对的。您创建的密钥适用于您的所有命名空间。以下是为您的 API 端点创建密钥的文档 - https://cloud.ibm.com/docs/api-management?topic=api-management-keys_secrets
有点令人困惑 :(。在创建 API 端点并将其映射到操作之后。您不必启用 as web 操作即可与 API 一起使用网关。
- 您可以启用身份验证,然后保存 API。这个很重要。文档说
Note: You cannot see the tabs until you save your application or API for the first time.
- 现在您可以转到“共享”选项卡并为此 API(而不是您的命名空间)创建一个新的 API 密钥
3 我现在可以使用密钥了。我在 API Explorer
中使用 Try it
功能。
我创建了一个 IBM Cloud Function ACTION 并将 Web Actions 附加到它。在 "API" 中,我能够定义要使用 "POST https:// example.com/hello" 访问的函数。经过测试,一切正常。
现在我想通过向我的一些客户分发 API 密钥来保护此 API。在 API 管理中,我可以通过激活 Require applications to authenticate via API key
滑块看到这是可行的。激活后,我还可以对 per-key basis
.
问题是:如何创建 API 键?以及如何调用我的端点?
到目前为止,我去过 "Manage > Access (IAM)",然后 IBM Cloud API keys
并为我创建了一个 API 密钥(这不是我想要的,因为这是一个 API 我所有具有管理员权限的帐户的密钥,我想要的是一个 API 密钥,允许我的用户仅调用我的 API)。使用 API 密钥,我在 curl 中调用了 API:
curl -X POST "https:// example.com/hello" -H "X-IBM-Client-Id: <MY-API-KEY>"
仍然,我得到了 401 未授权...所以我猜是出了什么问题,但我不知道具体是什么。
你是对的。您创建的密钥适用于您的所有命名空间。以下是为您的 API 端点创建密钥的文档 - https://cloud.ibm.com/docs/api-management?topic=api-management-keys_secrets
有点令人困惑 :(。在创建 API 端点并将其映射到操作之后。您不必启用 as web 操作即可与 API 一起使用网关。
- 您可以启用身份验证,然后保存 API。这个很重要。文档说
Note: You cannot see the tabs until you save your application or API for the first time.
- 现在您可以转到“共享”选项卡并为此 API(而不是您的命名空间)创建一个新的 API 密钥
3 我现在可以使用密钥了。我在 API Explorer
中使用 Try it
功能。