Ibm cloud 具有API密钥访问的IBM云函数
我已经创建了一个IBMCloudFunction操作,并将Web操作附加到它。在“API”中,我能够通过“POST https://example.com/hello”定义要访问的函数。经过测试,这一切工作正常 现在我想通过向我的一些客户机分发API密钥来保护这个API。在API管理中,我可以通过激活Ibm cloud 具有API密钥访问的IBM云函数,ibm-cloud,ibm-cloud-functions,Ibm Cloud,Ibm Cloud Functions,我已经创建了一个IBMCloudFunction操作,并将Web操作附加到它。在“API”中,我能够通过“POST https://example.com/hello”定义要访问的函数。经过测试,这一切工作正常 现在我想通过向我的一些客户机分发API密钥来保护这个API。在API管理中,我可以通过激活要求应用程序通过API密钥进行身份验证滑块看出这是可行的。一旦激活,我还可以根据每个键对呼叫进行分级限制 问题是:如何创建API键?我如何调用我的端点 到目前为止,我一直在“管理>访问(IAM)”,
要求应用程序通过API密钥进行身份验证滑块看出这是可行的。一旦激活,我还可以根据每个键对呼叫进行分级限制
问题是:如何创建API键?我如何调用我的端点
到目前为止,我一直在“管理>访问(IAM)”,然后IBM Cloud API Key
并为我创建了一个API密钥(这不是我想要的,因为这是我所有具有管理员权限的帐户的API密钥,我想要的是一个API密钥,只允许我的用户调用我的API)。使用我的API密钥,我在curl中调用了API,如下所示:
curl -X POST "https:// example.com/hello" -H "X-IBM-Client-Id: <MY-API-KEY>"
curl-X POST“https://example.com/hello”-H“X-IBM-Client-Id:”
尽管如此,我还是得到了一份未经授权的401。。。所以我想可能是出了什么问题,但我不知道确切的原因。你是对的。您创建的密钥用于所有命名空间。以下是为API端点创建密钥的文档-
这有点令人困惑:(。在创建API端点并将其映射到操作之后。您不必启用“作为web操作”才能与API网关一起使用
您可以启用身份验证,然后保存API。这一点很重要。文档中说:注意:只有在第一次保存应用程序或API时,您才能看到选项卡。
现在,您可以转到“共享”选项卡并仅为此API(而不是您的命名空间)创建一个新的API密钥
3此时我可以使用该键。我正在使用API资源管理器中的试用功能。