為 Amazon Bedrock Agents 建立服務角色 - Amazon Bedrock

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

為 Amazon Bedrock Agents 建立服務角色

若要為客服人員使用自訂服務角色,而非自動建立的 Amazon Bedrock,請建立IAM角色,並遵循建立角色以將許可委派給 AWS 服務 的步驟附加下列許可

  • 信任政策

  • 包含下列身分型許可的政策:

    • 存取 Amazon Bedrock 基礎模型。

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

    • Amazon Bedrock 查詢您要連接至客服人員之知識庫的許可。

    • 如果下列任何情況與您的使用案例相關,請將陳述式新增至政策,或將具有陳述式的政策新增至服務角色:

      • (選用) 如果您將佈建輸送量與客服人員別名建立關聯,則允許使用該佈建輸送量執行模型調用。

      • (選用) 如果您將護欄與代理程式建立關聯,則套用該護欄的許可。如果護欄使用KMS金鑰加密,則服務角色也需要許可才能解密金鑰

      • (選用) 如果您使用KMS金鑰加密代理程式,則允許解密金鑰

無論您是否使用自訂角色,您還需要將資源型政策連接至代理程式中動作群組的 Lambda 函數,以為服務角色提供存取函數的許可。如需詳細資訊,請參閱資源型政策,允許 Amazon Bedrock 叫用動作群組 Lambda 函數

信任關係

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

注意

為了安全起見,請取代 * 建立特定代理程式IDs之後。

{ "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/*" } } }] }

Agents 服務角色的身分型許可

連接下列政策以提供服務角色的許可,取代 ${values} 視需要。政策包含下列陳述式。如果陳述式不適用於您的使用案例,請省略該陳述式。政策包含選用的條件金鑰 (請參閱 Amazon Bedrock 的條件金鑰AWS 全域條件內容金鑰 ),在建議您做為安全最佳實務的Condition欄位中。

注意

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

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

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

  • 存取與代理程式相關聯的知識庫的許可。如果您的客服人員沒有相關聯的知識庫,請省略此陳述式。

  • 存取第三方 (Pinecone 或 Redis Enterprise Cloud) 與您的代理程式相關聯的知識庫。如果您的知識庫是第一方 (Amazon OpenSearch Serverless 或 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 Bedrock 搭配您的客服人員別名使用佈建輸送量

如果您將佈建輸送量與代理程式的別名建立關聯,請將下列身分型政策連接至服務角色,或將陳述式新增至 中的政策Agents 服務角色的身分型許可

{ "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 Bedrock 與您的代理程式搭配使用護欄

如果您將護欄與客服人員建立關聯,請將下列身分型政策連接至服務角色,或將陳述式新增至 中的政策Agents 服務角色的身分型許可

{ "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 Bedrock 從 S3 存取檔案,以搭配程式碼解譯使用

如果您啟用 在 Amazon Bedrock 中啟用程式碼解譯,請將下列身分型政策連接至服務角色,或在客服人員服務角色 的身分型許可中將陳述式新增至政策。

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

資源型政策,允許 Amazon Bedrock 叫用動作群組 Lambda 函數

請遵循 使用 Lambda 資源型政策的步驟,並將下列資源型政策連接至 Lambda 函數,以允許 Amazon Bedrock 存取代理程式動作群組的 Lambda 函數,取代 ${values} 視需要。政策包含選用的條件金鑰 (請參閱 Amazon Bedrock 的條件金鑰AWS 全域條件內容金鑰 ),其位於建議您用作安全最佳實務的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}" } } } ] }