本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
控制生成和使用 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 密钥,请将以下策略附加到该身份:
警告
-
你无法阻止短期密钥的生成。
-
此策略将禁止为所有支持创建特定 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" } } } ] }