授予 IAM 許可以請求存取 Amazon Bedrock 基礎模型 - Amazon Bedrock

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

授予 IAM 許可以請求存取 Amazon Bedrock 基礎模型

對 Amazon Bedrock 無伺服器基礎模型的存取由下列 IAM 動作控制:

IAM 動作 描述 適用於哪些模型
bedrock:PutFoundationModelEntitlement 允許 IAM 身分請求存取 Amazon Bedrock 無伺服器基礎模型。 所有 Amazon Bedrock 無伺服器模型
aws-marketplace:訂閱

允許 IAM 實體訂閱 AWS Marketplace 產品,包括 Amazon Bedrock 基礎模型。

只有具有產品 ID 的 Amazon Bedrock 無伺服器模型 AWS Marketplace。
aws-marketplace:取消訂閱 允許 IAM 身分取消訂閱 AWS Marketplace 產品,包括 Amazon Bedrock 基礎模型。 只有具有產品 ID 的 Amazon Bedrock 無伺服器模型 AWS Marketplace。
aws-marketplace:ViewSubscriptions 允許 IAM 身分傳回 AWS Marketplace 產品清單,包括 Amazon Bedrock 基礎模型。 只有具有產品 ID 的 Amazon Bedrock 無伺服器模型 AWS Marketplace。
注意

僅針對 aws-marketplace:Subscribe動作,您可以使用 aws-marketplace:ProductId條件索引鍵來限制特定模型的訂閱。

對於請求存取模型的 IAM 身分

身分必須連接允許下列動作的政策:

  • bedrock:PutFoundationModelEntitlement

  • aws-marketplace:Subscribe (僅當模型具有產品 ID 時)

    注意

    如果身分已訂閱某個 AWS 區域中的模型,即使其他 區域aws-marketplace:Subscribe遭到拒絕,該模型仍可供該身分在可使用模型的所有 AWS 區域中請求存取權。

    若要防止訂閱特定區域中的所有模型,請使用 bedrock:PutFoundationModelEntitlement動作。如需範例,請參閱「防止身分請求存取特定區域中的模型」。

選取區段以查看特定使用案例的 IAM 政策範例:

允許身分請求存取特定模型

若要讓 IAM 實體請求存取模型,它至少必須具有下列許可:

  • bedrock:PutFoundationModelEntitlementResource 欄位必須為 *

  • (如果模型有產品 ID) aws-marketplace:SubscribeResource 欄位必須為 *。您可以使用 aws-marketplace:ProductId條件索引鍵來限制特定模型的訂閱範圍。

注意

在 IAM 身分已請求存取某個 AWS 區域中的模型之後,他們只需要 bedrock:PutFoundationModelEntitlement動作的許可,即可請求存取其他區域中的模型。動作已aws-marketplace:Subscribe不再需要。

例如,您可以將下列政策連接至身分,以允許其第一次訂閱AnthropicClaude 3.5 Sonnet模型:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aws-marketplace:Subscribe" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws-marketplace:ProductId": [ "prod-m5ilt4siql27k" ] } } }, { "Effect": "Allow", "Action": [ "bedrock:PutFoundationModelEntitlement" ], "Resource": "*" } ] }
注意

此政策可擴展,因為您可以視需要使用產品 ID 條件金鑰逐步新增對模型的存取權。

對於沒有產品 ID 的模型,例如 Amazon Nova Micro,或如果模型已在某個區域中訂閱,則只有下列陳述式的政策就足夠:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:PutFoundationModelEntitlement" ], "Resource": "*" } ] }

防止身分請求存取具有產品 ID 的模型

若要防止 IAM 實體請求存取具有產品 ID 的特定模型,請將 IAM 政策連接至拒絕aws-marketplace:Subscribe動作的使用者,並將 Condition 欄位範圍限定為模型的產品 ID。

例如,您可以將下列政策連接至身分,以防止其訂閱AnthropicClaude 3.5 Sonnet模型:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "aws-marketplace:Subscribe" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws-marketplace:ProductId": [ "prod-m5ilt4siql27k" ] } } } ] }
注意

根據預設,此政策可讓 IAM 實體存取任何新增的模型。

如果身分已在至少一個區域中訂閱模型,則此政策不會阻止在其他區域中存取 。反之,您可以嘗試下列其中一個範例:

  • 若要完全防止訂閱其他區域中的模型,請參閱防止身分請求存取特定區域中的模型中的範例。

  • 若要防止使用模型,請參閱在授予存取權後防止身分使用模型中的範例。

防止身分請求存取特定區域中的模型

如果 IAM 身分已請求存取某個區域中的模型,您可以透過在陳述式中包含 bedrock:PutFoundationModelEntitlement動作並使用全域aws:RequestedRegion條件索引鍵來控制對其他區域中模型訂閱的存取。

例如,您可以將下列政策連接至 IAM 身分,只允許其請求存取美國區域的模型:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:PutFoundationModelEntitlement" ], "Resource": "*", "Condition": { "StringLike": { "aws:RequestedRegion": "us-*" } } } ] }
注意

bedrock:PutFoundationModelEntitlement 不限定於特定模型,因此您無法控制身分對特定模型的存取,如果他們沒有產品 ID,或身分已在另一個區域中具有對模型的存取。反之,您可以遵循在授予存取權後防止身分使用模型中的範例來控制模型的使用

在授予存取權之後,防止身分使用模型

如果 IAM 身分已授予模型的存取權,您可以透過拒絕所有 Amazon Bedrock 動作並將 Resource 欄位限定為基礎模型的 ARN,來防止使用模型。

例如,您可以將下列政策連接至身分,以防止其在所有 AWS 區域中使用該AnthropicClaude 3.5 Sonnet模型:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "bedrock:*" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/anthropic.claude-3-5-sonnet-20240620-v1:0" ] } ] }