

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

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

**Topics**
+ [我未獲授權，不得在 Amazon ECS 中執行動作](#security_iam_troubleshoot-no-permissions)
+ [我未獲得執行 iam:PassRole 的授權](#security_iam_troubleshoot-passrole)
+ [我想要允許 以外的人員 AWS 帳戶 存取我的 Amazon ECS 資源](#security_iam_troubleshoot-cross-account-access)
+ [我的 Amazon ECS 受管執行個體描述檔發生問題](#security_iam_instance-profile)
+ [其他疑難排解資源](#security_iam_troubleshoot-additional-errors)

## 我未獲授權，不得在 Amazon ECS 中執行動作
<a name="security_iam_troubleshoot-no-permissions"></a>

如果您收到錯誤，告知您未獲授權執行動作，您的政策必須更新，允許您執行動作。

下列範例錯誤會在`mateojackson` IAM 使用者嘗試使用主控台檢視一個虛構 `{{my-example-widget}}` 資源的詳細資訊，但卻無虛構 `ecs:{{GetWidget}}` 許可時發生。

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: ecs:{{GetWidget}} on resource: {{my-example-widget}}
```

在此情況下，必須更新 `mateojackson` 使用者的政策，允許使用 `ecs:{{GetWidget}}` 動作存取 `{{my-example-widget}}` 資源。

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

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

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

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

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

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

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

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

如果您使用 Amazon ECS 受管執行個體並收到此錯誤，您的執行個體角色名稱可能不符合受管政策所需的命名慣例。如需詳細資訊，請參閱[我的 Amazon ECS 受管執行個體描述檔發生問題](#security_iam_instance-profile)。

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

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

如需進一步了解，請參閱以下內容：
+ 若要了解 Amazon ECS 是否支援這些功能，請參閱 [Amazon Elastic Container Service 如何與 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)。

## 我的 Amazon ECS 受管執行個體描述檔發生問題
<a name="security_iam_instance-profile"></a>

如果您使用 `AmazonECSInfrastructureRolePolicyForManagedInstances`受管政策，執行個體角色名稱必須以 開頭`ecsInstanceRole`。政策範圍`iam:PassRole`為 `arn:aws:iam::*:role/ecsInstanceRole*`，因此不相符的名稱會在任務啟動時造成授權錯誤。

當您`RoleName`從`AWS::IAM::Role`資源省略 CloudFormation 時，這很常見，因為 CloudFormation 會自動產生與政策條件`MyStack-InstanceRole-ABC123`不相符的名稱。

要解決此問題，請執行下列項目之一：
+ 將 `RoleName: ecsInstanceRole`新增至您的`AWS::IAM::Role`資源，讓名稱符合 受管政策。
+ 將明確的`iam:PassRole`內嵌政策新增至以執行個體角色 ARN 為目標的基礎設施角色。

如需 CloudFormation 範本和詳細步驟，請參閱 [使用 建立執行個體描述檔 CloudFormation](managed-instances-instance-profile.md#create-instance-profile-cfn)。

## 其他疑難排解資源
<a name="security_iam_troubleshoot-additional-errors"></a>

下列頁面提供錯誤代碼的資訊：
+  [Amazon ECS 已停止任務錯誤訊息](stopped-task-error-codes.md) 
+  [檢視 Amazon ECS 服務事件訊息](service-event-messages.md) 