控制生成和使用 Amazon Bedrock API 密钥的权限 - Amazon Bedrock

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

控制生成和使用 Amazon Bedrock API 密钥的权限

Amazon Bedrock API 密钥的生成和使用由亚马逊 Bedrock 和 IAM 服务中的操作和条件密钥控制。

控制 Amazon Bedrock API 密钥的生成

ia m: CreateServiceSpecificCredential 操作控制特定于服务的密钥(例如长期的 A mazon Bedrock API 密钥)的生成。您可以将此操作的范围限定为 IAM 用户,以此作为一种资源,以限制可以为其生成密钥的用户。

您可以使用以下条件键对iam:CreateServiceSpecificCredential操作的权限施加条件:

  • iam: ServiceSpecificCredentialAgeDays — 允许您在条件中指定密钥的到期时间(以天为单位)。例如,您可以使用此条件密钥仅允许创建在 90 天内过期的 API 密钥。

  • iam: ServiceSpecificCredentialServiceName — 允许您在条件中指定服务的名称。例如,您可以使用此条件密钥仅允许为 Amazon Bedrock 创建 API 密钥,而不允许为其他服务创建 API 密钥。

控制 Amazon Bedrock API 密钥的使用

基石:CallWithBearerToken操作控制短期或长期的 Amazon Bedrock API 密钥的使用。

您可以使用带有字符串bedrock:bearerTokenType条件运算符的条件键来指定要申请权限的不记名令牌的类型。bedrock:CallWithBearerToken可以指定以下值之一:

  • SHORT_TERM— 在条件中指定短期 Amazon Bedrock API 密钥。

  • LONG_TERM— 在条件中指定长期的 Amazon Bedrock API 密钥。

下表汇总了如何防止身份生成或使用 Amazon Bedrock API 密钥:

用途 长期密钥 短期密钥
防止生成密钥 将拒绝该iam:CreateServiceSpecificCredential操作的策略附加到 IAM 身份。 不适用
防止使用密钥 向与密钥关联的 IAM 用户附加拒绝该bedrock:CallWithBearerToken操作的策略。 向不希望使用密钥的 IAM 身份附加拒绝bedrock:CallWithBearerToken操作的策略。
警告

由于短期 Amazon Bedrock API 密钥使用会话中的现有证书,因此您可以通过拒绝对生成密钥的身份bedrock:CallWithBearerToken执行操作来防止其使用。但是,您无法阻止生成短期密钥。

控制 API 密钥生成和使用的策略示例

例如,用于控制 API 密钥生成和使用的 IAM 策略,请从以下主题中进行选择:

防止身份生成长期密钥和使用 Amazon Bedrock API 密钥

为防止 IAM 身份生成长期的 Amazon Bedrock API 密钥和使用任何 Amazon Bedrock API 密钥,请将以下策略附加到该身份:

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid":"DenyBedrockShortAndLongTermAPIKeys", "Effect": "Deny", "Action": [ "iam:CreateServiceSpecificCredential", "bedrock:CallWithBearerToken" ], "Resource": [ "*" ] } ] }
警告
  • 你无法阻止短期密钥的生成。

  • 此策略将禁止为所有支持创建特定 AWS 服务凭证的服务创建凭证。有关更多信息,请参阅适用于 IAM 用户的服务专用证书

防止身份使用短期 API 密钥

要防止 IAM 身份使用短期 Amazon Bedrock API 密钥,请将以下策略附加到该身份:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "bedrock:CallWithBearerToken", "Resource": "*", "Condition": { "StringEquals": { "bedrock:bearerTokenType": "SHORT_TERM" } } } }

防止身份使用长期 API 密钥

要防止 IAM 身份使用长期的 Amazon Bedrock API 密钥,请将以下策略附加到该身份:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "bedrock:CallWithBearerToken", "Resource": "*", "Condition": { "StringEquals": { "bedrock:bearerTokenType": "LONG_TERM" } } } ] }

明确禁止身份使用短期 API 密钥

要明确阻止 IAM 身份使用短期 Amazon Bedrock API 密钥,但允许使用其他 API 密钥,请将以下策略附加到该身份:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "bedrock:CallWithBearerToken", "Resource": "*", "Condition": { "StringEquals": { "bedrock:bearerTokenType": "SHORT_TERM" } } }, { "Effect": "Allow", "Action": "bedrock:CallWithBearerToken", "Resource": "*" } ] }

明确禁止身份使用长期 API 密钥

要明确阻止 IAM 身份使用长期 Amazon Bedrock API 密钥,但允许使用其他 API 密钥,请将以下策略附加到该身份:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "bedrock:CallWithBearerToken", "Resource": "*", "Condition": { "StringEquals": { "bedrock:bearerTokenType": "LONG_TERM" } } }, { "Effect": "Allow", "Action": "bedrock:CallWithBearerToken", "Resource": "*" } ] }

只有在 Amazon Bedrock 密钥在 90 天内过期时才允许创建这些密钥

要允许 IAM 身份仅在适用于 Amazon Bedrock 且过期时间不超过 90 天的情况下创建长期 API 密钥,请将以下策略附加到该身份:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceSpecificCredential", "Resource": "arn:aws:iam::123456789012:user/username", "Condition": { "StringEquals": { "iam:ServiceSpecificCredentialServiceName": "bedrock.amazonaws.com" }, "NumericLessThanEquals": { "iam:ServiceSpecificCredentialAgeDays": "90" } } } ] }