处理被盗的长期和短期 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 然后,在 https://console.aws.amazon.com/bedrock 上打开 Amazon Bedrock 控制台。

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

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

  4. 选择操作

  5. 选择 Deactivate(停用)。

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

重新激活密钥
  1. 使用有权使用 Amazon Bedrock 控制台的 IAM 身份登录。 AWS Management Console 然后,在 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 Management Console 然后,在 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 Management Console 然后,在 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"} } } }