View a markdown version of this page

使用 Amazon Bedrock AgentCore 的服務連結角色 - Amazon Bedrock AgentCore

使用 Amazon Bedrock AgentCore 的服務連結角色

Amazon Bedrock AgentCore 使用 AWS Identity and Access Management (IAM) 服務連結角色。服務連結角色是直接連結至 AgentCore 的唯一 IAM 角色類型。服務連結角色由 AgentCore 預先定義,並包含該服務代表您呼叫其他 AWS 服務所需的所有許可。

服務連結角色可讓您更輕鬆地使用 AgentCore,因為您不必手動新增必要的許可。AgentCore 定義其服務連結角色的許可,除非另有定義,否則只有 AgentCore 可以擔任其角色。定義的許可包括信任政策和許可政策,並且該許可政策不能附加到任何其他 IAM 實體。

您必須先刪除角色的相關資源,才能刪除角色。這可保護您的 AgentCore 資源,因為您不會不小心移除存取資源的許可。

AgentCore 使用以下服務連結角色:

  • AWSServiceRoleForBedrockAgentCoreNetwork - 管理 VPC 中的網路介面

  • AWSServiceRoleForBedrockAgentCoreRuntimeIdentity - 管理代理程式執行時間的工作負載身分存取字符和 OAuth 憑證

  • AWSServiceRoleForBedrockAgentCoreGatewayNetwork - 管理 AgentCore Gateway 私有連線的 Amazon VPC Lattice 資源

  • AWSServiceRoleForBedrockAgentCoreIdentity - 管理 Amazon VPC Lattice 資源,以便將 AgentCore Identity 連線至私有身分提供者

AgentCore 服務連結角色許可

網路服務連結角色

AgentCore 使用名為 的服務連結角色AWSServiceRoleForBedrockAgentCoreNetwork,以允許 AgentCore 代表您在 VPC 中建立和管理網路介面。

AWSServiceRoleForBedrockAgentCoreNetwork 服務連結角色信任下列服務以擔任角色:

  • network.bedrock-agentcore.amazonaws.com

角色許可政策允許 AgentCore 對指定的資源完成下列動作:

您可以在 BedrockAgentCoreNetworkServiceRolePolicy 中檢視完整政策。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateEniInAnySubnet", "Effect": "Allow", "Action": "ec2:CreateNetworkInterface", "Resource": "arn:aws:ec2:*:*:subnet/*" }, { "Sid": "AllowCreateEniWithSecurityGroups", "Effect": "Allow", "Action": "ec2:CreateNetworkInterface", "Resource": "arn:aws:ec2:*:*:security-group/*" }, { "Sid": "AllowCreateEniWithBedrockManagedRequestTag", "Effect": "Allow", "Action": "ec2:CreateNetworkInterface", "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": [ "AmazonBedrockAgentCoreManaged" ] }, "StringEquals": { "aws:RequestTag/AmazonBedrockAgentCoreManaged": "true" } } }, { "Sid": "AllowTagEniOnCreate", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateNetworkInterface" } } }, { "Sid": "AllowManageEniWhenBedrockManaged", "Effect": "Allow", "Action": [ "ec2:DeleteNetworkInterface", "ec2:AssignPrivateIpAddresses", "ec2:UnassignPrivateIpAddresses", "ec2:CreateNetworkInterfacePermission" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "aws:ResourceTag/AmazonBedrockAgentCoreManaged": "true" } } }, { "Sid": "AllowGetSecurityGroupsForVpc", "Effect": "Allow", "Action": [ "ec2:GetSecurityGroupsForVPC" ], "Resource": "arn:aws:ec2:*:*:vpc/*" }, { "Sid": "AllowDescribeNetworkingResources", "Effect": "Allow", "Action": [ "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs" ], "Resource": "*" } ] }

身分服務連結角色

AgentCore 使用名為 的服務連結角色AWSServiceRoleForBedrockAgentCoreRuntimeIdentity,以允許 AgentCore 代表您管理工作負載身分存取字符和 OAuth 憑證。

AWSServiceRoleForBedrockAgentCoreRuntimeIdentity 服務連結角色信任下列服務以擔任角色:

  • runtime-identity.bedrock-agentcore.amazonaws.com

角色許可政策允許 AgentCore 在指定的資源上完成這些動作。

您可以在 BedrockAgentCoreRuntimeIdentityServiceRolePolicy 中檢視完整政策。

{ "Version": "2012-10-17", "Statement": { "Sid": "AllowWorkloadIdentityAccess", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetWorkloadAccessToken", "bedrock-agentcore:GetWorkloadAccessTokenForJWT", "bedrock-agentcore:GetWorkloadAccessTokenForUserId" ], "Resource": [ "arn:aws:bedrock-agentcore:*:*:workload-identity-directory/default", "arn:aws:bedrock-agentcore:*:*:workload-identity-directory/default/workload-identity/*" ] } }

如需有關此政策變更的資訊,請參閱 AgentCore 對 AWS 受管政策的更新

了解身分功能

服務連結角色用於支援 AgentCore 執行期資源的 OAuth 身分驗證和 JWT 承載字符功能。此功能可讓代理程式執行時間安全地管理工作負載身分,並代表使用者存取外部 OAuth 供應商。

Identity Management 的主要優點

  • 簡化許可管理:無需手動設定工作負載身分存取的 IAM 政策

  • 安全字符管理:為 OAuth 流程提供工作負載存取權杖的安全存取

  • 使用者聯合 :啟用三邊 OAuth 流程來存取外部服務,例如 Google Drive、Microsoft Graph 等。

  • 自動佈建 :在需要時自動建立服務連結角色

Identity Management 的運作方式

當您使用 OAuth 身分驗證或 JWT 承載字符叫用 AgentCore 執行期時:

  1. 您可以在建立執行時間期間設定 JWT 授權方設定 (探索 URL、允許用戶端、允許對象)

  2. AgentCore 會自動建立服務連結角色,以管理工作負載身分許可

  3. 執行時間使用服務連結角色來交換 JWT 權杖做為工作負載存取權杖

  4. 您的代理程式程式碼可以使用這些字符來存取外部 OAuth 提供者和服務

  5. 所有字符管理都是透過 AgentCore Identity 服務安全地處理

從舊版方法遷移

對於現有代理程式 (在 2025 年 10 月 13 日之前建立)
  • 繼續使用連接到代理程式執行角色的手動 IAM 政策

  • 無自動遷移 - 保留現有行為

對於新代理程式 (於 2025 年 10 月 13 日或之後建立)
  • 自動使用服務連結角色方法

  • 不需要手動 IAM 政策組態

  • 簡化的設定和管理

服務連結角色可確保 AgentCore 只能存取與您的代理程式執行時間明確關聯的工作負載身分資源,保持安全隔離和明確的資源屬性。

如需實作詳細資訊,請參閱使用傳入身分驗證和傳出身分驗證進行身分驗證和授權

閘道服務連結角色

AgentCore 使用名為 的服務連結角色AWSServiceRoleForBedrockAgentCoreGatewayNetwork,以允許 AgentCore Gateway 代表您建立和管理帳戶中的 Amazon VPC Lattice 資源。當您使用受管私有端點設定閘道目標時,會使用此角色,讓 AgentCore Gateway 能夠設定必要的 VPC Lattice 資源閘道,以私有連線至 VPC 中的資源。

AWSServiceRoleForBedrockAgentCoreGatewayNetwork 服務連結角色信任下列服務以擔任角色:

  • bedrock-agentcore.amazonaws.com

角色許可政策允許 AgentCore 對指定的資源完成下列動作:

您可以在 BedrockAgentCoreGatewayNetworkServiceRolePolicy 中檢視完整政策。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSLRActionsForLattice", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": [ "arn:aws:iam::*:role/aws-service-role/vpc-lattice.amazonaws.com/AWSServiceRoleForVpcLattice" ], "Condition": { "StringEquals": { "iam:AWSServiceName": "vpc-lattice.amazonaws.com" } } }, { "Sid": "AllowResourceGatewayCreate", "Effect": "Allow", "Action": [ "vpc-lattice:CreateResourceGateway", "vpc-lattice:TagResource" ], "Resource": [ "arn:aws:vpc-lattice:*:*:resourcegateway/*" ], "Condition": { "StringEquals": { "aws:RequestTag/BedrockAgentCoreGatewayManaged": "true", "aws:ResourceTag/BedrockAgentCoreGatewayManaged": "true" } } }, { "Sid": "AllowEC2PermissionsForResourceGatewayCreate", "Effect": "Allow", "Action": [ "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeSecurityGroups" ], "Resource": [ "*" ] }, { "Sid": "AllowResourceGatewayDelete", "Effect": "Allow", "Action": [ "vpc-lattice:DeleteResourceGateway", "vpc-lattice:GetResourceGateway" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "aws:ResourceTag/BedrockAgentCoreGatewayManaged": "true" } } } ] }

了解閘道受管 Lattice 功能

服務連結角色用於支援 AgentCore Gateway 目標的受管私有端點功能。當您使用受管私有端點建立閘道目標時,AgentCore 會使用此角色代表您在帳戶中建立和管理 VPC Lattice 資源閘道。這些受管資源閘道可在 AgentCore Gateway 與 VPC 中的資源之間啟用私有連線,而不需要手動設定 VPC Lattice 資源。

Managed Lattice 資源的主要優點

  • 簡化的設定:無需手動建立和設定 VPC Lattice 資源閘道

  • 縮小範圍網路許可:應用程式開發人員在自己的 IAM 政策中不需要 VPC Lattice 網路許可

  • 受管生命週期:AgentCore 管理 Lattice 資源的完整生命週期,包括建立、重複使用和清除

  • 自動佈建 :當您使用受管私有端點建立閘道目標時,會自動建立服務連結角色

Managed Lattice 資源的運作方式

當您使用受管私有端點建立閘道目標時:

  1. 您可以在managedVpcResource組態中指定私有端點的 VPC、子網路和選用安全群組

  2. 如果服務連結角色尚未存在,AgentCore 會自動建立該角色

  3. AgentCore 使用 角色在您的帳戶中建立受管 VPC Lattice 資源閘道,並加上 標籤 BedrockAgentCoreGatewayManaged

  4. AgentCore 會設定必要的 VPC Lattice 資源,以啟用私有連線

  5. 當您刪除閘道目標時,AgentCore 會清除不再使用的受管 Lattice 資源

注意

服務連結角色只能管理以 BedrockAgentCoreGatewayManaged 標記的 VPC Lattice 資源閘道。它無法修改或刪除您自行建立和管理的資源閘道。如果您使用閘道目標的自我管理 Lattice 資源選項,則不需要此服務連結角色。

Identity Network 服務連結角色

AgentCore 使用名為 的服務連結角色AWSServiceRoleForBedrockAgentCoreIdentity,以允許 AgentCore Identity 代表您建立和管理帳戶中的 Amazon VPC Lattice 資源。當您為私有身分提供者設定私有端點時,會使用此角色,讓 AgentCore Identity 能夠設定必要的 VPC Lattice 資源閘道,以便私有連線至 VPC 中的身分提供者。

AWSServiceRoleForBedrockAgentCoreIdentity 服務連結角色信任下列服務以擔任角色:

  • identity-network.bedrock-agentcore.amazonaws.com

角色許可政策允許 AgentCore 對指定的資源完成下列動作:

您可以在 AWSBedrockAgentCoreIdentityNetworkServiceRolePolicy 中檢視完整政策。

{ "Version" : "2012-10-17", "Statement" : [ { "Sid" : "AllowSLRActionsForLattice", "Effect" : "Allow", "Action" : [ "iam:CreateServiceLinkedRole" ], "Resource" : [ "arn:aws:iam::*:role/aws-service-role/vpc-lattice.amazonaws.com/AWSServiceRoleForVpcLattice" ], "Condition" : { "StringEquals" : { "iam:AWSServiceName" : "vpc-lattice.amazonaws.com" } } }, { "Sid" : "AllowResourceGatewayCreate", "Effect" : "Allow", "Action" : [ "vpc-lattice:CreateResourceGateway", "vpc-lattice:TagResource" ], "Resource" : [ "arn:aws:vpc-lattice:*:*:resourcegateway/*" ], "Condition" : { "StringEquals" : { "aws:RequestTag/BedrockAgentCoreIdentityManaged" : "true", "aws:ResourceTag/BedrockAgentCoreIdentityManaged" : "true" } } }, { "Sid" : "AllowEC2PermissionsForResourceGatewayCreate", "Effect" : "Allow", "Action" : [ "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeSecurityGroups" ], "Resource" : [ "*" ] }, { "Sid" : "AllowResourceGatewayDelete", "Effect" : "Allow", "Action" : [ "vpc-lattice:DeleteResourceGateway", "vpc-lattice:GetResourceGateway" ], "Resource" : [ "*" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/BedrockAgentCoreIdentityManaged" : "true" } } } ] }

了解身分網路功能

服務連結角色用於支援 AgentCore Identity 的受管私有端點功能。當您為私有身分提供者設定私有端點時,AgentCore 會使用此角色代表您在帳戶中建立和管理 VPC Lattice 資源閘道。這些受管資源閘道可在 VPC 中的 AgentCore Identity 和 Identity Provider 之間啟用私有連線,例如自我託管 Keycloak、PingFederate 或其他 OIDC 相容授權伺服器,而不需要手動設定 VPC Lattice 資源。

Managed Lattice 資源如何用於身分

當您為私有身分提供者設定私有端點時:

  1. 您可以在managedVpcResource組態中指定私有端點的 VPC、子網路和選用安全群組

  2. 如果服務連結角色尚未存在,AgentCore 會自動建立該角色

  3. AgentCore 使用 角色在您的帳戶中建立受管 VPC Lattice 資源閘道,並加上 標籤 BedrockAgentCoreIdentityManaged

  4. AgentCore 會設定必要的 VPC Lattice 資源,以啟用與身分提供者的私有連線

  5. 當您移除私有端點組態時,AgentCore 會清除不再使用的受管 Lattice 資源

注意

服務連結角色只能管理以 BedrockAgentCoreIdentityManaged 標記的 VPC Lattice 資源閘道。它無法修改或刪除您自行建立和管理的資源閘道。如果您使用私有身分提供者的自我管理 Lattice 資源選項,則不需要此服務連結角色。

如需設定私有身分提供者的詳細資訊,請參閱連線至 VPC 中的私有身分提供者

為 AgentCore 建立服務連結角色

您不需要手動建立服務連結角色。AgentCore 會在需要時自動建立它們:

  • 網路服務連結角色 :在您使用 VPC 組態建立 AgentCore 執行期、程式碼解譯器或瀏覽器資源時建立

  • 身分服務連結角色 :在您於 2025 年 10 月 13 日或之後建立或更新 AgentCore 執行期時建立

  • 閘道服務連結角色 :當您使用受管私有端點 () 組態建立 AgentCore Gateway managedVpcResource 目標時建立

  • Identity Network 服務連結角色 :在您為 VPC 託管身分提供者 () managedVpcResource 組態設定私有端點時建立

如果您刪除服務連結角色,然後需要再次建立該角色,您可以使用相同的程序在帳戶中重新建立角色。當您建立適當的 AgentCore 資源時,AgentCore 會再次為您建立服務連結角色。

建立服務連結角色所需的許可

您必須設定許可,IAM 實體 (如使用者、群組或角色) 才可建立、編輯或刪除服務連結角色。IAM 實體需要具有下列許可:

對於網路服務連結角色

{ "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/network.bedrock-agentcore.amazonaws.com/AWSServiceRoleForBedrockAgentCoreNetwork", "Condition": { "StringLike": { "iam:AWSServiceName": "network.bedrock-agentcore.amazonaws.com" } } }

針對 Identity 服務連結角色

{ "Sid": "CreateBedrockAgentCoreRuntimeIdentityServiceLinkedRolePermissions", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/runtime-identity.bedrock-agentcore.amazonaws.com/AWSServiceRoleForBedrockAgentCoreRuntimeIdentity", "Condition": { "StringEquals": { "iam:AWSServiceName": "runtime-identity.bedrock-agentcore.amazonaws.com" } } }

對於閘道服務連結角色

{ "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/bedrock-agentcore.amazonaws.com/AWSServiceRoleForBedrockAgentCoreGatewayNetwork", "Condition": { "StringEquals": { "iam:AWSServiceName": "bedrock-agentcore.amazonaws.com" } } }

針對 Identity Network 服務連結角色

{ "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/identity-network.bedrock-agentcore.amazonaws.com/AWSServiceRoleForBedrockAgentCoreIdentity", "Condition": { "StringEquals": { "iam:AWSServiceName": "identity-network.bedrock-agentcore.amazonaws.com" } } }

這些許可已包含在 AWS 受管政策 BedrockAgentCoreFullAccess 中。

編輯 AgentCore 的服務連結角色

AgentCore AWSServiceRoleForBedrockAgentCoreRuntimeIdentity 不允許您編輯 AWSServiceRoleForBedrockAgentCoreNetwork 、、 AWSServiceRoleForBedrockAgentCoreGatewayNetwork 或服務AWSServiceRoleForBedrockAgentCoreIdentity連結角色。因為有各種實體可能會參考服務連結角色,所以您無法在建立角色之後變更角色名稱。然而,您可使用 IAM 來編輯角色描述。如需詳細資訊,請參閱編輯服務連結角色

刪除 AgentCore 的服務連結角色

若您不再使用需要服務連結角色的功能或服務,我們建議您刪除該角色。如此一來,您就沒有未主動監控或維護的未使用實體。不過,您必須先刪除所有使用服務連結角色的 AgentCore 資源,才能刪除角色:

  • 網路服務連結角色 :使用 VPC 組態刪除所有 AgentCore 執行期、程式碼解譯器和瀏覽器資源

  • 身分服務連結角色 :刪除所有 AgentCore 執行期資源

  • 閘道服務連結角色 :刪除使用受管私有端點的所有 AgentCore Gateway 目標 ( managedVpcResource組態)

  • Identity Network 服務連結角色 :刪除針對 VPC 託管身分提供者使用受管私有端點的所有 AgentCore Identity 資源 ( managedVpcResource組態)。這包括傳出 OAuth 憑證提供者和傳入 JWT 授權方組態 (在 AgentCore 執行期或閘道上)。

清除服務連結角色

您必須先確認服務連結角色沒有作用中的工作階段,並移除該角色使用的資源,之後才能使用 IAM 將其刪除。

在 IAM 主控台中檢查服務連結角色是否具有作用中工作階段

  1. 登入 AWS 管理主控台,並在 https://https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

  2. 在 IAM 主控台的導覽窗格中,選擇角色 ,然後選擇AWSServiceRoleForBedrockAgentCoreNetwork角色的名稱 (而非核取方塊)。

  3. 在所選角色的 Summary (摘要) 頁面中,選擇 Access Advisor (存取 Advisor) 分頁。

  4. Access Advisor (存取 Advisor) 標籤中,檢閱服務連結角色的近期活動。

注意

如果您不確定 AgentCore 是否使用服務連結角色,您可以嘗試刪除該角色。如果服務正在使用該角色,則刪除會失敗,而您可以檢視正在使用該角色的 區域。如果服務正在使用該角色,您必須先等到工作階段結束,才能刪除該角色。您無法撤銷服務連結角色的工作階段。

如果您想要移除服務連結角色,您必須先刪除適當的 AgentCore 資源:

  • AWSServiceRoleForBedrockAgentCoreNetwork :使用 VPC 組態刪除所有 AgentCore 執行期、程式碼解譯器和瀏覽器資源

  • AWSServiceRoleForBedrockAgentCoreRuntimeIdentity :刪除所有 AgentCore 執行期資源

  • AWSServiceRoleForBedrockAgentCoreGatewayNetwork :刪除使用受管私有端點的所有 AgentCore Gateway 目標。刪除所有受管目標後,AgentCore 會發行不再使用的受管 VPC Lattice 資源閘道。

  • AWSServiceRoleForBedrockAgentCoreIdentity :刪除針對 VPC 託管身分提供者使用受管私有端點的所有 AgentCore Identity 資源。這包括傳出 OAuth 憑證提供者和具有managedVpcResource私有端點的傳入 JWT 授權方組態 (在 AgentCore 執行期或閘道上)。移除所有受管私有端點組態後,AgentCore 會發行不再使用的受管 VPC Lattice 資源閘道。

手動刪除服務連結角色

使用 IAM AWS 主控台、CLI 或 IAM API 來刪除服務連結角色。如需詳細資訊,請參閱刪除服務連結角色