检索访问令牌
通过使用 IBM Cloud® Identity and Access Management (IAM) 访问令牌认证对服务的请求,开始使用 Hyper Protect Crypto Services 密钥管理服务 API。
访问令牌是在 1 小时后到期的临时凭证。 在获取的令牌到期后,必须生成新令牌以继续调用 IBM Cloud 或服务 API。 要维护对服务的访问权,请定期重新生成 API 密钥的访问令牌。
使用 CLI 检索访问令牌
可以使用 IBM Cloud CLI 快速生成个人 Cloud IAM 访问令牌。
-
使用 IBM Cloud CLI 登录到 IBM Cloud。
ibmcloud login如果登录失败,请运行
ibmcloud login --sso命令重试。 使用联合标识登录时需要--sso参数。 如果使用此选项,请转至 CLI 输出中列出的链接以生成一次性密码。 -
选择要在其中创建 Hyper Protect Crypto Services 服务实例的区域和资源组。 可以使用以下命令来设置目标区域和资源组。
ibmcloud target -r <region_name> -g <resource_group_name> -
运行以下命令来检索 Cloud IAM 访问令牌。
ibmcloud iam oauth-tokens以下截断的示例显示检索到的 IAM 令牌。
IAM token: Bearer eyJraWQiOiIyM...
使用 API 检索访问令牌
您还可以使用 API 密钥 以编程方式检索访问令牌,然后针对 IBM Cloud IAM 令牌交换 API 密钥。 根据是为用户还是为应用程序创建访问令牌,相应地使用 IBM Cloud 用户 API 密钥 或 服务标识 API 密钥。
-
使用 IBM Cloud CLI 登录到 IBM Cloud。
ibmcloud login如果登录失败,请运行
ibmcloud login --sso命令重试。 使用联合标识登录时需要--sso参数。 如果使用此选项,请转至 CLI 输出中列出的链接以生成一次性密码。 -
使用以下命令选择包含已供应的 Hyper Protect Crypto Services 实例的区域和资源组:
ibmcloud target -r <region_name> -g <resource_group_name> -
创建 API 密钥。
-
如果要检索用户的访问令牌,请使用以下命令创建用户 API 密钥:
ibmcloud iam api-key-create <API_key_name> [-d, --description <description>] [--file <API_key_file_name>]使用
<API_key_name>参数将 API 密钥指定为唯一名称。 确保保存 API 密钥以供以后使用,方法是使用<API_key_file_name>参数或从命令响应复制 API 密钥值。 -
如果要检索应用程序的访问令牌,请通过完成以下步骤来创建服务标识 API 密钥:
-
使用以下命令为应用程序创建 服务标识:
ibmcloud iam service-id-create <service_ID_name> [-d, --description <description>]使用
<service_ID_name>参数将服务标识指定为唯一名称。 -
使用以下命令创建服务标识 API 密钥:
ibmcloud iam service-api-key-create <API_key_name> <service_ID_name> [-d, --description <description>] [--file <API_key_file_name>]使用
<API_key_name>参数指定唯一名称的 API 密钥,并将<service_ID_name>替换为您在上一步中分配给服务标识的唯一别名。 确保保存 API 密钥以供以后使用,方法是使用<API_key_file_name>参数或从命令响应复制 API 密钥值。
-
-
-
根据访问策略,为用户或服务标识分配对 Hyper Protect Crypto Services 实例的相应访问权。
要了解 IAM 访问角色如何映射到特定的 Hyper Protect Crypto Services 服务操作,请参阅 角色和许可权。
-
调用 IAM 身份服务 API 来检索访问令牌。
curl -X POST \ "https://iam.cloud.ibm.com/identity/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "Accept: application/json" \ -d "grant_type=urn:ibm:params:oauth:grant-type:apikey&apikey=<API_key>" > token.json在请求中,将
<API_key>替换为您在上一步中创建的用户 API 密钥或服务标识 API 密钥。 以下截断的示例显示token.json文件的内容:{ "access_token": "eyJraWQiOiIyM...", "expiration": 1512161390, "expires_in": 3600, "refresh_token": "...", "token_type": "Bearer" }使用以 Bearer 令牌类型为前缀的完整
access_token值,通过 Hyper Protect Crypto Services 密钥管理服务 API 以编程方式管理服务的密钥。 要查看示例 Hyper Protect Crypto Services 密钥管理服务 API 请求,请查看 生成密钥管理服务 API 请求。