我创建了一个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密钥?以及如何称呼我的端点?
到目前为止,我去过“管理>访问(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的未授权...所以我想可能是出了点问题,但我无法确切获得。
答案 0 :(得分:2)
你是对的。您创建的密钥适用于所有名称空间。以下是为您的API端点创建密钥的文档-https://cloud.ibm.com/docs/api-management?topic=api-management-keys_secrets
这有点令人困惑:(.。创建API端点并将其映射到操作后。不必与Web Gateway一起启用即可与API网关一起使用。
Note: You cannot see the tabs until you save your application or API for the first time.