本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為 Amazon 基岩的代理程式建立服務角色
若要為代理程式使用自訂服務角色而不是自動建立的 Amazon Bdrock 角色,請按照建立角色以委派許可給服務中的步驟建立 IAM 角色並附加以下許可。 AWS
-
信任政策
-
包含下列以身分識別為基礎的權限的原則:
無論您是否使用自訂角色,都需要將以資源為基礎的政策附加至 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}
" } } } ] }