

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 对亚马逊 Bedrock AgentCore 身份和访问进行故障排除
<a name="security_iam_troubleshoot"></a>

使用以下信息来帮助您诊断和修复在使用 AgentCore 和 IAM 时可能遇到的常见问题。

**Topics**
+ [我无权在中执行操作 AgentCore](#security_iam_troubleshoot-no-permissions)
+ [我无权执行 iam：PassRole](#security_iam_troubleshoot-passrole)
+ [我无权在控制台CreateRole 中执行 iam:](#security_iam_troubleshoot-createrole)
+ [我想允许我之外的人 Amazon 用于访问我的 AgentCore 资源的账户](#security_iam_troubleshoot-cross-account-access)

## 我无权在中执行操作 AgentCore
<a name="security_iam_troubleshoot-no-permissions"></a>

如果您收到无权执行某项操作的错误，则必须更新您的策略以允许您执行该操作。

当 `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}} 资源。

如果需要帮助，请联系您的 Amazon 管理员。您的管理员是提供登录凭证的人。

## 我无权执行 iam：PassRole
<a name="security_iam_troubleshoot-passrole"></a>

如果您收到无权执行`iam:PassRole`操作的错误，则必须更新您的策略以允许您将角色传递给 AgentCore。

某些 Amazon 服务允许您将现有角色传递给该服务，而不是创建新的服务角色或服务相关角色。为此，您必须具有将角色传递到服务的权限。

当名为 `marymajor` 的 IAM 用户尝试使用控制台在 AgentCore 中执行操作时，会发生以下示例错误。但是，服务必须具有服务角色所授予的权限才可执行此操作。Mary 不具有将角色传递到服务的权限。

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

在这种情况下，必须更新 Mary 的策略以允许她执行 `iam:PassRole` 操作。

如果需要帮助，请联系您的 Amazon 管理员。您的管理员是提供登录凭证的人。

## 我无权在控制台CreateRole 中执行 iam:
<a name="security_iam_troubleshoot-createrole"></a>

如果您在 Amazon 管理控制台中创建 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 中运行代理的[执行角色](runtime-permissions.md#runtime-permissions-execution)。

## 我想允许我之外的人 Amazon 用于访问我的 AgentCore 资源的账户
<a name="security_iam_troubleshoot-cross-account-access"></a>

您可以创建一个角色，以便其他账户中的用户或您组织外的人员可以使用该角色来访问您的资源。您可以指定谁值得信赖，可以代入角色。对于支持基于资源的策略或访问控制列表（ACL）的服务，您可以使用这些策略向人员授予对您的资源的访问权。

要了解更多信息，请参阅以下内容：
+ 要了解是否 AgentCore 支持这些功能，请参阅 Amazon Bedrock [ 如何 AgentCore 与 IAM ](security_iam_service-with-iam.md) 配合使用。
+ 要了解如何跨您拥有的 Amazon 账户提供对资源的访问权限，请参阅 IAM 用户指南中的[向您拥有的另一个 Amazon 账户](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)中的 * IAM 用户提供访问权限*。
+ 要了解如何向第三方 Amazon 账户提供资源访问权限，请参阅 * IAM 用户指南[中的](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)向第三方拥有的 Amazon 账户提供访问权限*。
+ 要了解如何通过身份联合验证提供访问权限，请参阅《IAM 用户指南》**中的[为经过外部身份验证的用户（身份联合验证）提供访问权限](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html)。
+ 要了解使用角色和基于资源的策略进行跨账户访问之间的差别，请参阅《IAM 用户指南》**中的 [IAM 中的跨账户资源访问](https://docs.amazonaws.cn/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)。