

# 對 Amazon Bedrock AgentCore 身分和存取進行故障診斷
<a name="security_iam_troubleshoot"></a>

使用以下資訊來協助您診斷和修正使用 AgentCore 和 IAM 時可能遇到的常見問題。

**Topics**
+ [我無權在 AgentCore 中執行動作](#security_iam_troubleshoot-no-permissions)
+ [我未獲得執行 iam:PassRole 的授權](#security_iam_troubleshoot-passrole)
+ [我無權在主控台中執行 iam：CreateRole](#security_iam_troubleshoot-createrole)
+ [我想要允許 AWS 帳戶外的人員存取我的 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}} 資源。

如果您需要協助，請聯絡您的 AWS 管理員。您的管理員提供您的簽署憑證。

## 我未獲得執行 iam:PassRole 的授權
<a name="security_iam_troubleshoot-passrole"></a>

如果您收到錯誤，告知您無權執行 `iam:PassRole`動作，您的政策必須更新，以允許您將角色傳遞給 AgentCore。

有些 AWS 服務可讓您將現有角色傳遞給該服務，而不是建立新的服務角色或服務連結角色。如需執行此作業，您必須擁有將角色傳遞至該服務的許可。

當名為 的 IAM `marymajor` 使用者嘗試使用主控台在 AgentCore 中執行動作時，會發生下列範例錯誤。但是，動作請求服務具備服務角色授予的許可。Mary 沒有將角色傳遞給服務的許可。

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

在這種情況下，Mary 的政策必須更新，允許她執行 `iam:PassRole` 動作。

如果您需要協助，請聯絡您的 AWS 管理員。您的管理員提供您的簽署憑證。

## 我無權在主控台中執行 iam：CreateRole
<a name="security_iam_troubleshoot-createrole"></a>

如果您收到錯誤，告知您在 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-permissions.md#runtime-permissions-execution)。

## 我想要允許 AWS 帳戶外的人員存取我的 AgentCore 資源
<a name="security_iam_troubleshoot-cross-account-access"></a>

您可以建立一個角色，讓其他帳戶中的使用者或您組織外部的人員存取您的資源。您可以指定要允許哪些信任物件取得該角色。針對支援基於資源的政策或存取控制清單 (ACL) 的服務，您可以使用那些政策來授予人員存取您的資源的許可。

如需進一步了解，請參閱以下內容：
+ 若要了解 AgentCore 是否支援這些功能，請參閱 [Amazon Bedrock AgentCore 如何與 IAM 搭配使用](security_iam_service-with-iam.md)。
+ 若要了解如何在您擁有的 AWS 帳戶中提供資源的存取權，請參閱《[IAM 使用者指南》中的為您擁有的另一個 AWS 帳戶中的 IAM 使用者提供存取權](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)。 **
+ 若要了解如何將資源的存取權提供給第三方 AWS 帳戶，請參閱《*IAM 使用者指南*》中的[將存取權提供給第三方擁有 AWS 的帳戶](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)。
+ 如需了解如何透過聯合身分提供存取權，請參閱《*IAM 使用者指南*》中的[將存取權提供給在外部進行身分驗證的使用者 (聯合身分)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html)。
+ 如需了解使用角色和資源型政策進行跨帳戶存取之間的差異，請參閱《IAM 使用者指南》**中的 [IAM 中的跨帳戶資源存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)。