

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

# Amazon ECS 主控台必要的許可
<a name="console-permissions"></a>

遵循授予最低權限的最佳實務，您可以使用 `AmazonECS_FullAccess` 受管政策作為範本，以建立您自己的自訂政策。如此一來，您就可以根據特定需求，從受管政策中取消或新增許可。如需詳細資訊，請參閱 *AWS Managed Policy Reference* 中的 [AmazonECS\_FullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonECS_FullAccess.html)。

## 建立 IAM 角色的許可
<a name="console-create-roles"></a>

下列動作需要其他許可才能完成操作：
+ 註冊外部執行個體 - 如需詳細資訊，請參閱 [Amazon ECS Anywhere IAM 角色](iam-role-ecsanywhere.md) 
+ 註冊任務定義 - 如需詳細資訊，請參閱 [Amazon ECS 任務執行 IAM 角色](task_execution_IAM_role.md)
+ 建立要用於排程任務的 EventBridge 規則 - 如需詳細資訊，請參閱 [Amazon ECS EventBridge IAM 角色](CWE_IAM_role.md)

您可以先在 IAM 中建立角色來新增這些許可，然後在 Amazon ECS 主控台中使用這些許可。如果您不建立角色，Amazon ECS 主控台會代表您建立角色。

## 將外部執行個體註冊至叢集所需的許可
<a name="register-external-instance"></a>

當您將外部執行個體註冊至叢集並想要建立新的外部執行個體 (`ecsExternalInstanceRole`) 角色時，您需要其他許可。

以下是所需的其他許可：
+ `iam` - 允許委託人建立並列出 IAM 角色及其連接的政策。
  + iam:AttachRolePolicy
  + iam:CreateRole
  + am:CreateInstanceProfile
  + iam:AddRoleToInstanceProfile
  + iam:ListInstanceProfilesForRole
  + iam:GetRole
+ `ssm` – 允許主體使用 Systems Manager 註冊外部執行個體。

**注意**  
若要選擇現有 `ecsExternalInstanceRole`，您必須擁有 `iam:GetRole` 和 `iam:PassRole` 許可。

下列政策包含必要的許可，並將動作限制為 `ecsExternalInstanceRole` 角色。

------
#### [ JSON ]

****  

```
{
"Statement": [
      {
          "Effect": "Allow",
          "Action": [
              "iam:AttachRolePolicy",
              "iam:CreateRole",
              "iam:CreateInstanceProfile",
              "iam:AddRoleToInstanceProfile",
              "iam:ListInstanceProfilesForRole",
              "iam:GetRole"
          ],
          "Resource": "arn:aws:iam::*:role/ecsExternalInstanceRole"
      },
      {
          "Effect": "Allow",
          "Action": ["iam:PassRole","ssm:CreateActivation"],
          "Resource": "arn:aws:iam::*:role/ecsExternalInstanceRole"
      }
    ]
}
```

------

## 註冊任務定義所需的許可
<a name="register-task-def"></a>

當您註冊任務定義並想要建立新的任務執行 (`ecsTaskExecutionRole`) 角色時，您需要其他許可。

以下是所需的其他許可：
+ `iam` - 允許委託人建立並列出 IAM 角色及其連接的政策。
  + iam:AttachRolePolicy
  + iam:CreateRole
  + iam:GetRole

**注意**  
若要選擇現有 `ecsTaskExecutionRole`，您必須擁有 `iam:GetRole` 許可。

下列政策包含必要的許可，並將動作限制為 `ecsTaskExecutionRole` 角色。

------
#### [ JSON ]

****  

```
{
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "iam:AttachRolePolicy",
            "iam:CreateRole",
            "iam:GetRole"
        ],
        "Resource": "arn:aws:iam::*:role/ecsTaskExecutionRole"
        }
    ]
}
```

------

## 透過 Amazon Q Developer 在主控台中提供建議所需的許可
<a name="amazon-q-permission"></a>

 若要讓 Amazon Q Developer 在 Amazon ECS 主控台中提供建議，您必須為 IAM 使用者或角色啟用正確的 IAM 許可。您必須新增 `codewhisperer:GenerateRecommendations` 許可。

------
#### [ JSON ]

****  

```
{
"Statement": [
      {
            "Sid": "AmazonQDeveloperPermissions",
            "Effect": "Allow",
            "Action": ["codewhisperer:GenerateRecommendations"],
            "Resource": "*"
        }
    ]
}
```

------

 若要在 Amazon ECS 主控台中使用內嵌聊天，您必須為 IAM 使用者或角色啟用正確的 IAM 許可。您必須新增 `q:SendMessage` 許可。

------
#### [ JSON ]

****  

```
{
"Statement": [
    {
        "Sid": "AmazonQDeveloperInlineChatPermissions",
        "Effect": "Allow",
        "Action": ["q:SendMessage"],
        "Resource": "*"
    }
  ]
}
```

------

## 為排程任務建立 EventBridge 規則所需的許可
<a name="schedule-task"></a>

當您排程任務且想要建立新的 CloudWatch Events (`ecsEventsRole`) 角色時，您需要其他許可。

以下是所需的其他許可：
+ `iam` - 允許委託人建立並列出 IAM 角色及其附加政策，並允許 Amazon ECS 將角色傳遞給其他服務以擔任該角色。

**注意**  
若要選擇現有 `ecsEventsRole`，您必須擁有 `iam:GetRole` 和 `iam:PassRole` 許可。

下列政策包含必要的許可，並將動作限制為 `ecsEventsRole` 角色。

------
#### [ JSON ]

****  

```
{
 "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "iam:AttachRolePolicy",
            "iam:CreateRole",
            "iam:GetRole",
            "iam:PassRole"
        ],
        "Resource": "arn:aws:iam::*:role/ecsEventsRole"
        }
    ]
}
```

------

## 檢視服務部署所需的許可
<a name="service-deployments"></a>

 當您遵循授予最低權限的最佳實務時，必須新增額外許可，才能在主控台中檢視服務部署。

您需要存取下列動作：
+ ListServiceDeployments
+ DescribeServiceDeployments
+ DescribeServiceRevisions

您需要存取下列資源：
+ 服務
+ 服務部署
+ 服務修訂版

下列範例政策包含必要的許可，並將動作限制於指定的服務。

將 `account`、`cluster-name` 與 `service-name` 取代為實際值。

------
#### [ JSON ]

****  

```
{
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "ecs:ListServiceDeployments",
            "ecs:DescribeServiceDeployments",
            "ecs:DescribeServiceRevisions"
        ],
        "Resource": [
            "arn:aws:ecs:us-east-1:123456789012:service/cluster-name/service-name",
            "arn:aws:ecs:us-east-1:123456789012:service-deployment/cluster-name/service-name/*",
            "arn:aws:ecs:us-east-1:123456789012:service-revision/cluster-name/service-name/*"
            ]
        }
   ]
}
```

------

## 在 Container Insights 中檢視 Amazon ECS 生命週期事件所需的許可
<a name="required-permissions-view"></a>

檢視生命週期事件需要以下許可。將以下許可作為內嵌政策新增至任務執行角色。如需詳細資訊，請參閱 [Adding and Removing IAM Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)
+ events:DescribeRule
+ events:ListTargetsByRule
+ logs:DescribeLogGroups

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "events:DescribeRule",
        "events:ListTargetsByRule",
        "logs:DescribeLogGroups"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## 在 Container Insights 中啟用 Amazon ECS 生命週期事件所需的許可
<a name="required-permissions-configure"></a>

設定生命週期事件需要以下許可：
+ events:PutRule
+ events:PutTargets
+ logs:CreateLogGroup

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "events:PutRule",
        "events:PutTargets",
        "logs:CreateLogGroup"
      ],
      "Resource": "*"
    }
  ]
}
```

------