

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

# Elastic Beanstalk Service 角色、執行個體描述檔和使用者政策
<a name="concepts-roles"></a>

角色是您使用 AWS Identity and Access Management (IAM) 建立以套用許可的實體。Elastic Beanstalk 環境有正常運作所需的角色。您也可以選擇建立自己的自訂政策和角色，您可以將這些政策和角色指派給使用者或群組。

## Elastic Beanstalk 環境的必要角色
<a name="concepts-roles-required"></a>

 當您建立環境時， 會 AWS Elastic Beanstalk 提示您提供下列 AWS Identity and Access Management (IAM) 角色：
+  [服務角色](concepts-roles-service.md)：Elastic Beanstalk 擔任服務角色來 AWS 服務 代表您使用其他 。
+  [執行個體描述](concepts-roles-instance.md)檔 Elastic Beanstalk 會將執行個體描述檔套用至您環境中的 Amazon EC2 執行個體。此動作可讓他們執行必要的任務，例如從 Amazon Simple Storage Service (Amazon S3) 擷取資訊，以及將日誌上傳至 S3。

**建立服務角色和 EC2 執行個體描述檔角色**  
如果 AWS 您的帳戶沒有 EC2 執行個體描述檔或服務角色，您必須使用 IAM 服務建立其中一個。然後，您可以將 EC2 執行個體描述檔和服務角色指派給您建立的新環境。**建立環境**精靈會引導您前往 IAM 服務，以便您可以使用所需的許可建立這些角色。

## 管理 Elastic Beanstalk 環境的選用政策和角色
<a name="concepts-roles-additional"></a>

您可以選擇性地建立[使用者政策](concepts-roles-user.md)，並將其套用至帳戶中的 IAM 使用者和群組。這樣做可讓使用者建立和管理 Elastic Beanstalk 應用程式和環境。您也可以將 Elastic Beanstalk [受管政策](AWSHowTo.iam.managed-policies.md)指派給使用者或群組的完整存取權和唯讀存取權。如需這些政策的詳細資訊，請參閱[管理 Elastic Beanstalk 使用者政策](AWSHowTo.iam.managed-policies.md)。

您可以建立自己的執行個體描述檔和使用者政策，供進階情境使用。若您的執行個體須存取的服務未包含在預設政策中，您可以建立新的政策，或是將其他政策新增至預設政策。若受管政策的許可過於寬鬆，您亦可建立更嚴格的使用者政策。如需 AWS 許可的詳細資訊，請參閱 []()。

# Elastic Beanstalk 服務角色
<a name="concepts-roles-service"></a>

服務角色是 Elastic Beanstalk 代表您呼叫其他服務時所擔任的 IAM 角色。例如，當 Elastic Beanstalk 呼叫 Amazon Elastic Compute Cloud (Amazon EC2)、Elastic Load Balancing 和 Amazon EC2 Auto Scaling API 時，會使用服務角色來收集資訊。Elastic Beanstalk 使用的服務角色是您在建立 Elastic Beanstalk 環境時指定的服務角色。

有兩個連接至服務角色的受管政策：這些政策提供許可，允許 Elastic Beanstalk 存取建立和管理環境所需的 AWS 資源。一個受管政策提供用於[增強型運作狀態監控](health-enhanced.md)的受管政策，另一個提供用於[受管平台更新](environment-platform-update-managed.md)所需的其他許可。



## `AWSElasticBeanstalkEnhancedHealth`
<a name="iam-servicerole-policy.health"></a>

此政策會授予許可，讓 Elastic Beanstalk 能夠監控執行個體和環境運作狀態。亦包含 Amazon SQS 動作，讓 Elastic Beanstalk 能監控工作者環境的佇列活動。若要檢視此受管政策的內容，請參閱《 *AWS 受管政策參考指南*》中的 [ AWSElasticBeanstalkEnhancedHealth](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSElasticBeanstalkEnhancedHealth.html) 頁面。

## `AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy`
<a name="iam-servicerole-policy.service"></a>

此政策會授予許可，讓 Elastic Beanstalk 能夠代表您更新環境以執行受管平台更新。若要檢視此受管政策的內容，請參閱《 *AWS 受管政策參考指南*》中的 [AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy.html) 頁面。

**服務層級許可分組**

此政策會根據提供的許可集分組到陳述式中。
+ *`ElasticBeanstalkPermissions`* – 此許可群組用於呼叫 Elastic Beanstalk 服務動作 (Elastic Beanstalk API)。
+ *`AllowPassRoleToElasticBeanstalkAndDownstreamServices`* – 此許可群組允許將任何角色傳遞給 Elastic Beanstalk 和其他下游服務，如 CloudFormation。
+ *`ReadOnlyPermissions`* – 此許可群組用於收集執行中環境的相關資訊。
+ *`*OperationPermissions`* – 具有此命名模式的群組用於呼叫必要的操作來執行平台更新。
+ *`*BroadOperationPermissions`* – 具有此命名模式的群組用於呼叫必要的操作來執行平台更新。它們也包含支援舊式環境的廣泛許可。
+ *`*TagResource`* – 具有此命名模式的群組適用於使用建立時標記 API 的呼叫，以在 Elastic Beanstalk 環境中建立的資源上附加標籤。

您可以使用以下任何方式建立 Elastic Beanstalk 環境。每個部分都會說明該方法如何處理服務角色。

**Elastic Beanstalk 主控台**  
如果您使用 Elastic Beanstalk 主控台建立環境，Elastic Beanstalk 會提示您建立名為 `aws-elasticbeanstalk-service-role` 的服務角色。透過 Elastic Beanstalk 建立時，此角色會包含一個能讓 Elastic Beanstalk 擔任該服務角色的信任政策。本主題中先前提到的兩個受管理政策也會連接至角色。

**Elastic Beanstalk 命令列界面 (EB CLI)**  
您可以使用 Elastic Beanstalk 命令列界面 (EB CLI) 的 [**eb create**](eb3-create.md) 命令建立環境。如果您未透過 `--service-role` 選項指定服務角色。Elastic Beanstalk 會建立相同的預設服務角色 `aws-elasticbeanstalk-service-role`。若預設服務角色已存在，Elastic Beanstalk 會將其運用於新環境。透過 Elastic Beanstalk 建立時，此角色會包含一個能讓 Elastic Beanstalk 擔任該服務角色的信任政策。本主題中先前提到的兩個受管理政策也會連接至角色。

**Elastic Beanstalk API**  
您可以使用 Elastic Beanstalk API 的 `CreateEnvironment` 動作建立環境。如果您未指定服務角色，Elastic Beanstalk 會建立一個監控服務連結角色。這是 Elastic Beanstalk 預先定義的一種唯一服務角色類型，包含該服務 AWS 服務 代表您呼叫其他 所需的所有許可。服務連結角色會您的帳戶建立關聯。Elastic Beanstalk 只會建立一次此角色，然後在建立其他環境時重複使用。您也可以使用 IAM，預先建立您帳戶的監控服務連結角色。您的帳戶擁有監控服務連結角色時，即可使用 Elastic Beanstalk 主控台、Elastic Beanstalk API 或 EB CLI，將其用於建立環境。如需在 Elastic Beanstalk 環境中使用服務連結角色的說明，請參閱 [使用 Elastic Beanstalk 的服務連結角色](using-service-linked-roles.md)。

如需服務角色的詳細資訊，請參閱[管理 Elastic Beanstalk 服務角色](iam-servicerole.md)。

# Elastic Beanstalk 執行個體描述檔
<a name="concepts-roles-instance"></a>

執行個體設定檔是您 Elastic Beanstalk 環境啟動的 Amazon EC2 執行個體所套用的 IAM 角色。建立 Elastic Beanstalk 環境時，您要指定 EC2 執行個體採取下列動作時會使用的執行個體設定檔：
+ 從 Amazon Simple Storage Service (Amazon S3) 擷取[應用程式版本](concepts.md#concepts-version)
+ 將日誌寫入 Amazon S3
+ 於 [AWS X-Ray 整合式環境](environment-configuration-debugging.md)將除錯資料上傳至 X-Ray
+ 在 Amazon ECS 受管 Docker 環境中，使用 Amazon Elastic Container Service (Amazon ECS) 協調容器部署。
+ 在工作者環境中，從 Amazon Simple Queue Service (Amazon SQS) 佇列讀取
+ 於工作者環境透過 Amazon DynamoDB 執行領導者選擇
+ 於工作者環境將執行個體運作狀態指標發佈至 Amazon CloudWatch

## 受管政策
<a name="concepts-roles-instance.managed-policies"></a>

Elastic Beanstalk 提供一組受管政策，可讓您環境中的 EC2 執行個體執行所需的作業。基本使用案例所需的受管政策如下。
+ `AWSElasticBeanstalkWebTier`
+ `AWSElasticBeanstalkWorkerTier`
+ `AWSElasticBeanstalkMulticontainerDocker`

如果您的 Web 應用程式需要存取其他額外的 AWS 服務，請將陳述式或受管政策新增至允許存取這些服務的執行個體描述檔。如需詳細資訊，請參閱[於預設執行個體描述檔新增許可](iam-instanceprofile.md#iam-instanceprofile-addperms)。

## 建立 EC2 執行個體描述檔
<a name="concepts-roles-instance.create-instance-profile"></a>

 如果 AWS 您的帳戶沒有 EC2 執行個體描述檔，您必須使用 IAM 服務建立一個。然後，您可以將 EC2 執行個體設定檔指派給您建立的新環境。Elastic Beanstalk 主控台中的**建立環境**步驟可讓您存取 IAM 主控台，以便建立具有所需許可的 EC2 執行個體描述檔。

您也可以直接存取 IAM 主控台來建立 EC2 執行個體描述檔，而無需透過 Elastic Beanstalk 主控台。如需在 IAM 主控台中建立 Elastic Beanstalk EC2 執行個體描述檔的詳細步驟，請參閱 [建立執行個體描述檔](iam-instanceprofile.md#iam-instanceprofile-create)。

# Elastic Beanstalk 使用者政策
<a name="concepts-roles-user"></a>

為使用 Elastic Beanstalk 的所有使用者建立 IAM 使用者，避免使用您的根帳戶或分享登入資料。安全的最佳實務做法是僅授予這些使用者存取所需服務和功能的許可。

Elastic Beanstalk 需要的許可不只用於其 API 動作，亦用於其他數個 AWS 服務。Elastic Beanstalk 在環境中啟動資源時需使用使用者許可。這些資源包括 EC2 執行個體、Elastic Load Balancing 負載平衡器和 Auto Scaling 群組。Elastic Beanstalk 亦透過使用者許可，儲存 Amazon Simple Storage Service (Amazon S3) 的日誌和範本、傳送通知至 Amazon SNS、指派執行個體描述檔並發佈指標至 CloudWatch。Elastic Beanstalk 需要 CloudFormation 許可來協調資源部署和更新。此外，也需要 Amazon RDS 許可來視需要建立資料庫，以及 Amazon SQS 許可來建立工作者環境的佇列。

如需使用者政策的詳細資訊，請參閱[管理 Elastic Beanstalk 使用者政策](AWSHowTo.iam.managed-policies.md)。