為 Amazon 基岩的代理程式建立服務角色 - Amazon Bedrock

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

為 Amazon 基岩的代理程式建立服務角色

若要為代理程式使用自訂服務角色而不是自動建立的 Amazon Bdrock 角色,請按照建立角色以委派許可給服務中的步驟建立 IAM 角色並附加以下許可。 AWS

  • 信任政策

  • 包含下列以身分識別為基礎的權限的原則:

    • 訪問 Amazon 基岩基礎模型。

    • 存取包含代理程式中動作群組OpenAPI結構描述的 Amazon S3 物件。

    • Amazon 基岩查詢您想要附加至代理程式的知識庫的許可。

    • 如果下列任何一種情況與您的使用案例有關,請將陳述式新增至原則,或將含有陳述式的原則新增至服務角色:

      • (選擇性) 如果您將佈建輸送量與代理程式別名建立關聯,則使用該佈建輸送量執行模型叫用的權限。

      • (選擇性) 如果您將護欄與代理程式建立關聯,則應用該護欄的權限。如果使用 KMS 金鑰加密護欄,則服務角色也需要解密金鑰的權限

      • (選擇性) 如果您使用 KMS 金鑰加密代理程式,則需要解密金鑰的權限

無論您是否使用自訂角色,都需要將以資源為基礎的政策附加至 Lambda 函數,以供代理程式中的動作群組使用,以便為服務角色提供存取函數的權限。如需詳細資訊,請參閱 以資源為基礎的政策,可讓 Amazon 基岩叫用動作群組 Lambda 函數

信任關係

下列信任政策允許 Amazon 基岩擔任此角色,並建立和管理代理程式。視需要取代 $ {值}。此政策在我們建議您將其用作安AWS 全最佳實務的欄位中包含選用的條件金鑰 (請參閱 Amazon Beddrock 的條件金鑰和全Condition域條件內容金鑰)。

注意

基於最佳實務,請在建立特定代理程式 ID 之後將其取代為 *

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "${account-id}" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:${region}:${account-id}:agent/*" } } }] }

代理程式服務角色的身分型權限

附加下列原則以提供服務角色的權限,視需要取代 $ {values}。此原則包含下列陳述式。如果語句不適用於您的用例,請省略該語句。此政策在我們建議您將其用作安AWS 全最佳實務的欄位中包含選用的條件金鑰 (請參閱 Amazon Beddrock 的條件金鑰和全Condition域條件內容金鑰)。

注意

如果您使用客戶管理的 KMS 金鑰加密代理程式,請參閱以取得您需要新增的進一步權限。代理程式資源加密

  • 使用 Amazon 基礎模型在代理程式協調中使用的提示上執行模型推論的許可。

  • 在 Amazon S3 中存取代理程式動作群組 API 結構描述的許可。如果您的代理程式沒有動作群組,請省略此陳述式。

  • 存取與代理程式相關聯的知識庫的權限。如果您的代理程式沒有相關的知識庫,請省略此陳述式。

  • 存取與代理程式相關聯之第三方 (Pinecone或Redis Enterprise Cloud) 知識庫的權限。如果您的知識庫是第一方 (Amazon OpenSearch 無伺服器或 Amazon Aurora),或者您的代理程式沒有相關的知識庫,請省略此陳述式。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow model invocation for orchestration", "Effect": "Allow", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:${region}::foundation-model/anthropic.claude-v2", "arn:aws:bedrock:${region}::foundation-model/anthropic.claude-v2:1", "arn:aws:bedrock:${region}::foundation-model/anthropic.claude-instant-v1" ] }, { "Sid": "Allow access to action group API schemas in S3", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucket/path/to/schema" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${account-id}" } } }, { "Sid": "Query associated knowledge bases", "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:RetrieveAndGenerate" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:knowledge-base/knowledge-base-id" ] }, { "Sid": "Associate a third-party knowledge base with your agent", "Effect": "Allow", "Action": [ "bedrock:AssociateThirdPartyKnowledgeBase", ], "Resource": "arn:aws:bedrock:${region}:${account-id}:knowledge-base/knowledge-base-id", "Condition": { "StringEquals" : { "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:kms:${region}:${account-id}:key/${key-id}" } } } ] }

(選擇性) 以身分識別為基礎的政策,可讓 Amazon 基岩搭配您的代理程式別名使用佈建輸送量

如果您將佈建輸送量與代理程式的別名建立關聯,請將下列以身分識別為基礎的原則附加至服務角色,或將該陳述式新增至中的原則。代理程式服務角色的身分型權限

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Use a Provisioned Throughput in model invocation", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:GetProvisionedModelThroughput" ], "Resource": [ "arn:aws:bedrock:{${region}}:{${account-id}}:${provisioned-model-id}" ] } ] }

(選擇性) 以身分識別為基礎的政策,可讓 Amazon 基岩搭配您的代理程式使用護欄

如果您將防護欄與代理程式建立關聯,請將下列以身分識別為基礎的原則附加至服務角色,或將陳述式新增至中的原則。代理程式服務角色的身分型權限

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Apply a guardrail to your agent", "Effect": "Allow", "Action": "bedrock:ApplyGuardrail", "Resource": [ "arn:aws:bedrock:{${region}}:{${account-id}}:guardrail/${guardrail-id}" ] } ] }

(選擇性) 以身分識別為基礎的政策,可讓 Amazon 基礎架構從 S3 存取檔案以搭配程式碼解譯使用

如果啟用在 Amazon 基岩中啟用代碼解釋,請將下列以身分識別為基礎的原則附加至服務角色,或將陳述式新增至代理程式服務角色的以識別為基礎的權限中的原則。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AmazonBedrockAgentFileAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectVersionAttributes", "s3:GetObjectAttributes" ], "Resource": [ "arn:aws:s3:::[[customerProvidedS3BucketWithKey]]" ] } ] }

以資源為基礎的政策,可讓 Amazon 基岩叫用動作群組 Lambda 函數

請遵循使用 Lambda 以資源為基礎的政策中的步驟,並將下列以資源為基礎的政策附加至 Lambda 函數,以允許 Amazon 基岩存取代理程式動作群組的 Lambda 函數,並視需要取代 $ {值}。此政策在我們建議您將其用作安AWS 全最佳實務的欄位中包含選用的條件金鑰 (請參閱 Amazon Beddrock 的條件金鑰和全Condition域條件內容金鑰)。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Amazon Bedrock to access action group Lambda function", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:${region}:${account-id}:function:function-name", "Condition": { "StringEquals": { "AWS:SourceAccount": "${account-id}" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:${region}:${account-id}:agent/${agent-id}" } } } ] }