对 Amazon Bedrock AgentCore 身份和访问进行故障排除
使用以下信息来帮助您诊断和修复在使用 AgentCore 和 IAM 时可能遇到的常见问题。
主题
我无权在以下位置执行操作 AgentCore
如果您收到错误消息,提示您无权执行某项操作,则必须更新您的政策以允许您执行该操作。
当 mateojackson IAM 用户尝试使用控制台查看虚构my-example-widget资源的详细信息但没有虚构权限时,就会出现以下示例错误。bedrock-agentcore:GetWidget
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: bedrock-agentcore:GetWidget on resource: my-example-widget
在此情况下,必须更新 mateojackson 用户的策略,以允许使用 bedrock-agentcore:GetWidget 操作访问 my-example-widget 资源。
如果您需要帮助,请联系您的 AWS 管理员。您的管理员是提供登录凭证的人。
我无权执行 iam:PassRole
如果您收到错误消息,提示您无权执行iam:PassRole操作,则必须更新您的策略以允许您将角色传递给 AgentCore。
某些 AWS 服务允许您将现有角色传递给该服务,而不是创建新的服务角色或服务相关角色。为此,您必须具有将角色传递到服务的权限。
当名为 marymajor 的 IAM 用户尝试使用控制台在 AgentCore 中执行操作时,会发生以下示例错误。但是,服务必须具有服务角色所授予的权限才可执行此操作。Mary 不具有将角色传递到服务的权限。
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
在这种情况下,必须更新 Mary 的策略以允许她执行 iam:PassRole 操作。
如果您需要帮助,请联系您的 AWS 管理员。您的管理员是提供登录凭证的人。
我无权在控制台CreateRole 中执行 iam:
如果您收到错误消息,提示您在 AWS 管理控制台中创建 AgentCore 资源时无权执行该iam:CreateRole操作,则需要为您的 IAM 用户或角色添加其他权限。
当您创建线束并且控制台尝试代表您自动创建执行角色时,会出现以下示例错误:
User: arn:aws:iam::123456789012:assumed-role/MyConsoleRole/user is not authorized to perform: iam:CreateRole on resource: arn:aws:iam::123456789012:role/service-role/AmazonBedrockAgentCoreHarnessDefaultServiceRole-abc12 because no identity-based policy allows the iam:CreateRole action
要解决该问题,可以执行下列操作之一:
-
添加内联策略:向您的 IAM 用户或角色添加策略,该策略授予控制台代表您创建执行角色的必要权限:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateRole", "Resource": "arn:aws:iam::123456789012:role/service-role/AmazonBedrockAgentCore*" }, { "Effect": "Allow", "Action": "iam:CreatePolicy", "Resource": "arn:aws:iam::123456789012:policy/service-role/AmazonBedrockAgentCore*" }, { "Effect": "Allow", "Action": "iam:AttachRolePolicy", "Resource": "arn:aws:iam::123456789012:role/service-role/AmazonBedrockAgentCore*", "Condition": { "ArnLike": { "iam:PolicyARN": "arn:aws:iam::123456789012:policy/service-role/AmazonBedrockAgentCore*" } } } ] } -
手动创建执行角色:在控制台中创建资源之前创建角色,然后选择现有角色,而不是允许控制台自动创建角色。有关所需的信任策略和权限,请参阅在 AgentCore Runtime 中运行代理的执行角色。
我想允许我以外的人进入 AWS 访问我的 AgentCore 资源的账户
您可以创建一个角色,以便其他账户中的用户或您组织外的人员可以使用该角色来访问您的资源。您可以指定谁值得信赖,可以代入角色。对于支持基于资源的策略或访问控制列表(ACL)的服务,您可以使用这些策略向人员授予对您的资源的访问权。
要了解更多信息,请参阅以下内容:
-
要了解是否 AgentCore 支持这些功能,请参阅 Amazon Bedrock 如何与 IAM 配合 AgentCore 使用。
-
要了解如何通过您拥有的 AWS 账户提供对资源的访问权限,请参阅 IAM 用户指南中的向您拥有的另一个 AWS 账户中的 IAM 用户提供访问权限。
-
要了解如何向第三方 AWS 账户提供对您的资源的访问权限,请参阅 IAM 用户指南中的向第三方 AWS 账户提供访问权限。
-
要了解如何通过身份联合验证提供访问权限,请参阅《IAM 用户指南》中的为经过外部身份验证的用户(身份联合验证)提供访问权限。
-
要了解使用角色和基于资源的策略进行跨账户访问之间的差别,请参阅《IAM 用户指南》中的 IAM 中的跨账户资源访问。