处理泄露的长期和短期 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 策略来撤销权限。

更改长期 Amazon Bedrock API 密钥的状态

如果您需要防止暂时使用密钥,请将其停用。准备好再次使用密钥后,可将其重新激活。

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

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

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

  3. 长期 API 密钥部分中,选择状态非活动的密钥。

  4. 选择操作

  5. 选择停用

  6. 要进行确认,请选择停用 API 密钥。密钥的状态变为非活动

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

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

  3. 长期 API 密钥部分中,选择状态非活动的密钥。

  4. 选择操作

  5. 选择激活

  6. 要进行确认,请选择激活 API 密钥。密钥的状态变为活动

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 管理控制台然后,在 https://console.aws.amazon.com/bedrock 上打开 Amazon Bedrock 控制台。

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

  3. 长期 API 密钥部分中,选择一个密钥。

  4. 选择操作

  5. 选择重置密钥

  6. 选择下一步

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 管理控制台然后,在 https://console.aws.amazon.com/bedrock 上打开 Amazon Bedrock 控制台。

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

  3. 长期 API 密钥部分中,选择一个密钥。

  4. 选择操作

  5. 选择删除

  6. 确认删除操作。

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 策略如下所示:

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

使 IAM 角色会话失效

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

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