Amazon Bedrock 的 API 密钥
Amazon Bedrock 是一项完全托管的服务,提供来自领先的 AI 公司和 Amazon 的基础模型。您可以通过 AWS Management Console 访问 Amazon Bedrock,也可以使用 AWS CLI 或 AWS API 以编程方式访问。向 Amazon Bedrock 发出编程请求时,您可以使用临时安全凭证或 Amazon Bedrock API 密钥进行身份验证。Amazon Bedrock 支持两种类型的 API 密钥:
-
短期 API 密钥 – 短期 API 密钥是使用 AWS 签名版本 4 的预签名 URL。短期 API 密钥与生成 API 密钥的身份的凭证具有相同的权限和过期时间,有效期最长为 12 小时或控制台会话的剩余时间(以较短者为准)。您可以使用 Amazon Bedrock 控制台、Python 包
aws-bedrock-token-generator
和其他编程语言的包来生成短期 API 密钥。有关更多信息,请参阅《Amazon Bedrock 用户指南》中的 Generate Amazon Bedrock API keys for easy access to the Amazon Bedrock API。 -
长期 API 密钥 – 长期 API 密钥与 IAM 用户关联并使用 IAM 服务特定凭证生成。这些凭证仅设计用于 Amazon Bedrock,通过限制凭证范围来增强安全性。您可以设置长期 API 密钥的过期时间。您可以使用 IAM 或 Amazon Bedrock 控制台、AWS CLI 或者 AWS API 来生成长期 API 密钥。
一个 IAM 用户最多可以拥有两个 Amazon Bedrock 长期 API 密钥,这有助于您实施安全的密钥轮换实践。
当生成长期 API 密钥时,AWS 托管式策略 AmazonBedrockLimitedAccess 会自动附加到 IAM 用户。此策略授予对核心 Amazon Bedrock API 操作的访问权限。如果需要额外的 Amazon Bedrock 访问权限,则可以修改 IAM 用户的权限。有关修改权限的信息,请参阅添加和删除 IAM 身份权限。
注意
与短期 API 密钥相比,长期 API 密钥的安全风险更高。建议尽可能使用短期 API 密钥或临时安全凭证。如果使用长期 API 密钥,建议实施定期密钥轮换实践。
先决条件
必须先满足以下先决条件,然后才能从 IAM 控制台生成 Amazon Bedrock 长期 API 密钥:
-
与长期 API 密钥关联的 IAM 用户。有关创建 IAM 用户的说明,请参阅在 AWS 账户 中创建 IAM 用户。
-
确保您拥有以下 IAM 策略权限来管理 IAM 用户的服务特定凭证。示例策略授予创建、列出、更新、删除和重置服务特定凭证的权限。请将 Resource 元素中的
值替换为要为其生成 Amazon Bedrock API 密钥的 IAM 用户的名称:username
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageBedrockServiceSpecificCredentials", "Effect": "Allow", "Action": [ "iam:CreateServiceSpecificCredential", "iam:ListServiceSpecificCredentials", "iam:UpdateServiceSpecificCredential", "iam:DeleteServiceSpecificCredential", "iam:ResetServiceSpecificCredential" ], "Resource": "arn:aws:iam::*:user/
username
" } ] }
生成 Amazon Bedrock 的长期 API 密钥(控制台)
生成 Amazon Bedrock 长期 API 密钥(控制台)
登录 AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在 IAM 控制台的导航窗格中,选择用户。
-
选择要为其生成 Amazon Bedrock 长期 API 密钥的 IAM 用户。
-
选择安全凭证选项卡。
-
在 Amazon Bedrock 的 API 密钥部分中,选择生成 API 密钥。
-
对于 API 密钥过期时间,请执行以下操作之一:
-
选择 API 密钥的过期时间 1、5、30、90 或 365 天。
-
选择自定义持续时间以指定自定义 API 密钥到期日期。
-
选择永不过期(不推荐)
-
-
选择生成 API 密钥。
-
复制或下载 API 密钥。这是唯一可以查看 API 密钥值的时间。
重要
安全存储 API 密钥。关闭对话框后,将无法再次检索 API 密钥。如果丢失或忘记了秘密访问密钥,则无法检索它。相反,请创建新的访问密钥并使旧密钥处于非活动状态。
生成 Amazon Bedrock 的长期 API 密钥 (AWS CLI)
要使用 AWS CLI 生成 Amazon Bedrock 长期 API 密钥,请按照以下步骤进行操作:
-
使用 create-user
命令创建将与 Amazon Bedrock 一起使用的 IAM 用户: aws iam create-user \ --user-name
BedrockAPIKey_1
-
使用 attach-user-policy
命令将 AWS 托管式策略 AmazonBedrockLimitedAccess
附加到 Amazon Bedrock IAM 用户:aws iam attach-user-policy --user-name
BedrockAPIKey_1
\ --policy-arn arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess -
使用 create-service-specific-credential
命令生成 Amazon Bedrock 长期 API 密钥。对于凭证期限,可以指定 1-36600 天之间的值。如果未指定凭证期限,则 API 密钥将不会过期。 要生成有效期为 30 天的长期 API 密钥,请执行下面的操作:
aws iam create-service-specific-credential \ --user-name
BedrockAPIKey_1
\ --service-name bedrock.amazonaws.com \ --credential-age-days30
响应中返回的 ServiceApiKeyValue
是长期 Amazon Bedrock API 密钥。安全地存储 ServiceApiKeyValue
值,因为您以后无法检索它。
列出长期 API 密钥 (AWS CLI)
要列出特定用户的 Amazon Bedrock 长期 API 密钥元数据,请使用带有 --user-name
参数的 list-service-specific-credentials
aws iam list-service-specific-credentials \ --service-name bedrock.amazonaws.com \ --user-name
BedrockAPIKey_1
要列出账户中的所有 Amazon Bedrock 长期 API 密钥元数据,请使用带有 --all-users
参数的 list-service-specific-credentials
aws iam list-service-specific-credentials \ --service-name bedrock.amazonaws.com \ --all-users
更新长期 API 密钥状态 (AWS CLI)
要更新 Amazon Bedrock 的长期 API 密钥的状态,请使用 update-service-specific-credential
aws iam update-service-specific-credential \ --user-name "
BedrockAPIKey_1
" \ --service-specific-credential-id "ACCA1234EXAMPLE1234
" \ --statusInactive|Active
生成 Amazon Bedrock 的长期 API 密钥 (AWS API)
您可以使用下面的 API 操作来生成和管理 Amazon Bedrock 的长期 API 密钥: