

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

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

遵循授予最低權限的最佳實務，您可以使用 `AmazonECS_FullAccess` 受管政策作為範本，以建立您自己的自訂政策。如此一來，您就可以根據特定需求，從受管政策中取消或新增許可。如需詳細資訊，請參閱 *AWS Managed Policy Reference* 中的 [AmazonECS\$1FullAccess](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": "*"
    }
  ]
}
```

------

# 使用 的 Amazon ECS 主控台所需的許可 CloudFormation
<a name="cloudformation-console-permissions"></a>

使用 AWS 管理主控台 建立資源之前，您需要確保擁有正確的 IAM 許可。如需有關如何設定 Amazon ECS 主控台許可的資訊，請參閱 [Amazon ECS 主控台所需的許可](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/console-permissions.html)。

Amazon ECS 主控台採用 技術 AWS CloudFormation ，在下列情況下需要額外的 IAM 許可：
+ 建立叢集
+ 建立服務
+ 建立容量提供者

您可以為其他許可建立政策，然後將其連接至用於存取主控台的 IAM 角色。如需詳細資訊，請參閱《IAM 使用者指南》**中的[建立 IAM 政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start)。

## 建立叢集所需的許可
<a name="create-cluster"></a>

當您在主控台中建立叢集時，需要額外的許可，以授予您管理 CloudFormation 堆疊的許可。

 以下是所需的其他許可：
+ `cloudformation` - 允許委託人建立和管理 CloudFormation 堆疊。在使用 AWS 管理主控台 建立 Amazon ECS 叢集以及後續管理這些叢集時，這為必要項。
+ `ssm` – 允許 CloudFormation 參考最新的 Amazon ECS 最佳化 AMI。使用 建立 Amazon ECS 叢集時，這是必要的 AWS 管理主控台。

下列政策包含必要的 CloudFormation 許可，並將動作限制在 Amazon ECS 主控台中建立的資源。

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

****  

```
{
  "Statement": [
      {
          "Effect": "Allow",
          "Action": [
                "cloudformation:CreateStack",
                "cloudformation:DeleteStack",
                "cloudformation:DescribeStack*",
                "cloudformation:UpdateStack"
             ],
            "Resource": [
                "arn:*:cloudformation:*:*:stack/Infra-ECS-Cluster-*"
            ]
      },
      {
          "Effect": "Allow",
          "Action": "ssm:GetParameters",
          "Resource": [
            "arn:aws:ssm:*:*:parameter/aws/service/ecs/optimized-ami/amazon-linux-2*/*",
            "arn:aws:ssm:*:*:parameter/aws/service/ecs/optimized-ami/amazon-linux-2023*/*"
          ]
      }
   ]
}
```

------

如果您尚未建立 Amazon ECS 容器執行個體角色 (`ecsInstanceRole`)，並且正建立使用 Amazon EC2 執行個體的叢集，則主控台將代表您建立角色。

此外，如果您使用 Auto Scaling 群組，則需要額外許可，以便主控台可以在使用叢集自動擴展功能時，將標籤新增至自動擴展群組。

以下是所需的其他許可：
+ `autoscaling` – 允許主控台標記 Amazon EC2 Auto Scaling 群組。使用叢集自動擴展功能管理 Amazon EC2 Auto Scaling 群組時，這為必要項。標籤是 ECS 受管標籤，主控台會自動新增至群組，表示已在主控台中建立。
+ `iam` - 允許委託人列出 IAM 角色及其連接的政策。委託人還可列出 Amazon EC2 執行個體可用的執行個體設定檔。

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

Auto Scaling 許可不受限制。

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

****  

```
{
  "Statement": [
      {
          "Effect": "Allow",
            "Action": [
              "iam:AttachRolePolicy",
              "iam:CreateRole",
              "iam:CreateInstanceProfile",
              "iam:AddRoleToInstanceProfile",
              "iam:ListInstanceProfilesForRole",
              "iam:GetRole"
            ],
            "Resource": "arn:aws:iam::*:role/ecsInstanceRole"
        },
        {
            "Effect": "Allow",
            "Action": "autoscaling:CreateOrUpdateTags",
            "Resource": "*"
        }
    ]
}
```

------

## 建立服務所需的許可
<a name="create-service-permissions"></a>

當您在主控台中建立服務時，需要額外的許可，以授予您管理 CloudFormation 堆疊的許可。以下是所需的其他許可：
+ `cloudformation` - 允許委託人建立和管理 CloudFormation 堆疊。在使用 AWS 管理主控台 建立 Amazon ECS 服務以及後續管理這些服務時，這為必要項。

下列政策包含必要的許可，並將動作限制為在 Amazon ECS 主控台中建立的資源。

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

****  

```
{
  "Statement": [
      {
          "Effect": "Allow",
          "Action": [
                "cloudformation:CreateStack",
                "cloudformation:DeleteStack",
                "cloudformation:DescribeStack*",
                "cloudformation:UpdateStack"
             ],
            "Resource": [
                "arn:*:cloudformation:*:*:stack/ECS-Console-V2-Service-*"
            ]
      }
   ]
}
```

------