处理被盗的长期和短期 Amazon Bedrock API 密钥 - Amazon Bedrock

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

处理被盗的长期和短期 Amazon Bedrock API 密钥

如果您的 API 密钥遭到泄露,则应撤消其使用权限。您可以使用多种方法来撤销 Amazon Bedrock API 密钥的权限:

  • 对于长期的 Amazon Bedrock API 密钥 UpdateServiceSpecificCredentialResetServiceSpecificCredential,您可以通过以下DeleteServiceSpecificCredential方式使用、或撤消权限:

    • 将密钥的状态设置为非活动状态。您可以稍后重新激活密钥。

    • 重置密钥。此操作会为密钥生成一个新密码。

    • 永久删除密钥。

    注意

    要通过 API 执行这些操作,您必须使用 AWS 凭证进行身份验证,而不是使用 Amazon Bedrock API 密钥进行身份验证。

  • 对于长期和短期 Amazon Bedrock API 密钥,您可以附加 IAM 策略来撤销权限。

更改长期亚马逊 Bedrock API 密钥的状态

选择您首选方法的选项卡,然后按照以下步骤操作:

Console
停用密钥
  1. 使用有权使用 Amazon Bedrock 控制台的 IAM 身份登录。 AWS Management Console 然后,打开 Amazon Bedrock 控制台,网址为https://console.aws.amazon.com/bedrock/

  2. 在左侧导航窗格中,选择 API 密钥

  3. Amazon Bedrock 的 API 密钥部分,选择一个密钥。

  4. 选择操作

  5. 选择 Deactivate(停用)。

重新激活密钥
  1. 使用有权使用 Amazon Bedrock 控制台的 IAM 身份登录。 AWS Management Console 然后,打开 Amazon Bedrock 控制台,网址为https://console.aws.amazon.com/bedrock/

  2. 在左侧导航窗格中,选择 API 密钥

  3. Amazon Bedrock 的 API 密钥部分,选择一个密钥。

  4. 选择操作

  5. 选择 “重新激活”。

Python

要使用 API 停用密钥,请使用 IAM 终端节点发送UpdateServiceSpecificCredential请求并指定StatusInactive。您可以使用以下代码片段停用密钥,${ServiceSpecificCredentialId}替换为创建密钥时返回的值。

import boto3 iam_client = boto3.client("iam") iam_client.update_service_specific_credential( service_specific_credential_id=${ServiceSpecificCredentialId}, status="Inactive" )

要使用 API 重新激活密钥,请使用 IAM 终端节点发送UpdateServiceSpecificCredential请求并指定StatusActive。您可以使用以下代码片段重新激活密钥,${ServiceSpecificCredentialId}替换为创建密钥时返回的值。

import boto3 iam_client = boto3.client("iam") iam_client.update_service_specific_credential( service_specific_credential_id=${ServiceSpecificCredentialId}, status="Active" )

重置长期的 Amazon Bedrock API 密钥

选择您首选方法的选项卡,然后按照以下步骤操作:

Console
重置密钥
  1. 使用有权使用 Amazon Bedrock 控制台的 IAM 身份登录。 AWS Management Console 然后,打开 Amazon Bedrock 控制台,网址为https://console.aws.amazon.com/bedrock/

  2. 在左侧导航窗格中,选择 API 密钥

  3. Amazon Bedrock 的 API 密钥部分,选择一个密钥。

  4. 选择操作

  5. 选择 “重置密钥”。

Python

要使用 API 重置密钥,请使用 IAM 终端节点发送ResetServiceSpecificCredential请求。您可以使用以下代码片段来重置密钥,${ServiceSpecificCredentialId}替换为创建密钥时返回的值。

import boto3 iam_client = boto3.client("iam") iam_client.reset_service_specific_credential( service_specific_credential_id=${ServiceSpecificCredentialId} )

删除长期的 Amazon Bedrock API 密钥

选择您首选方法的选项卡,然后按照以下步骤操作:

Console
删除密钥
  1. 使用有权使用 Amazon Bedrock 控制台的 IAM 身份登录。 AWS Management Console 然后,打开 Amazon Bedrock 控制台,网址为https://console.aws.amazon.com/bedrock/

  2. 在左侧导航窗格中,选择 API 密钥

  3. Amazon Bedrock 的 API 密钥部分,选择一个密钥。

  4. 选择操作

  5. 选择删除

Python

要使用 API 删除密钥,请使用 IAM 终端节点发送DeleteServiceSpecificCredential请求。您可以使用以下代码段删除密钥,${ServiceSpecificCredentialId}替换为创建密钥时返回的值。

import boto3 iam_client = boto3.client("iam") iam_client.delete_service_specific_credential( service_specific_credential_id=${ServiceSpecificCredentialId} )

附加 IAM 策略以移除使用 Amazon Bedrock API 密钥的权限

本节提供一些 IAM 政策,您可以使用这些策略来限制对 Amazon Bedrock API 密钥的访问。

拒绝身份使用 Amazon Bedrock API 密钥拨打电话

允许身份使用 Amazon Bedrock API 密钥拨打电话的操作是bedrock:CallWithBearerToken。为了防止身份使用 Amazon Bedrock API 密钥进行调用,您可以根据密钥的类型为身份附加一个 IAM 策略:

  • 长期密钥-将策略附加到与密钥关联的 IAM 用户。

  • 短期密钥-将策略附加到用于生成密钥的 IAM 角色。

您可以附加到 IAM 身份的 IAM 策略如下:

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "bedrock:CallWithBearerToken", "Resource": "*" } }

使 IAM 角色会话失效

如果短期密钥被泄露,您可以通过使用于生成密钥的角色会话失效来防止其使用。要使角色会话失效,请将以下策略附加到生成密钥的 IAM 身份。2014-05-07T23:47:00Z替换为您希望会话失效的时间。

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "DateLessThan": {"aws:TokenIssueTime": "2014-05-07T23:47:00Z"} } } }