

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

# `AWS-AttachIAMToInstance`
<a name="automation-aws-attachiamtoinstance"></a>

 **Description** 

將 AWS Identity and Access Management (IAM) 角色連接至受管執行個體。

 [執行此自動化 （主控台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWS-AttachIAMToInstance) 

**文件類型**

 自動化

**擁有者**

Amazon

**平台**

Linux、macOS、 Windows

**參數**
+ AutomationAssumeRole

  類型：字串

  描述：（選用） 允許 Systems Manager Automation 代表您執行動作的 (IAM) 角色的 AWS Identity and Access Management Amazon Resource Name (ARN)。如果未指定角色，Systems Manager Automation 會使用啟動此 Runbook 之使用者的許可。
+ ForceReplace

  類型：布林值

  描述：（選用） 指定是否取代現有 IAM 設定檔的旗標。

  預設：true
+ InstanceId

  類型：字串

  描述：（必要） 您要為其指派 IAM 角色的執行個體 ID。
+ RoleName

  類型：字串

  描述：（必要） 要新增至受管執行個體的 IAM 角色名稱。

 **文件步驟** 

1.  `aws:executeAwsApi` - DescribeInstanceProfile - 尋找連接至 EC2 執行個體的 IAM 執行個體描述檔。

1.  `aws:branch` - CheckInstanceProfileAssociations - 檢查連接至 EC2 執行個體的 IAM 執行個體描述檔。

   1.  如果已連接 IAM 執行個體描述檔，且`ForceReplace`設定為 `true` ：

      1.  `aws:executeAwsApi` - DisassociateIamInstanceProfile - 取消 IAM 執行個體描述檔與 EC2 執行個體的關聯。

   1.  `aws:executeAwsApi` - ListInstanceProfilesForRole - 列出所提供 IAM 角色的執行個體描述檔。

   1.  `aws:branch` - CheckInstanceProfileCreated - 檢查提供的 IAM 角色是否有相關聯的執行個體描述檔。

      1. 如果 IAM 角色具有相關聯的執行個體描述檔：

         1.  `aws:executeAwsApi` - AttachIAMProfileToInstance - 將 IAM 執行個體描述檔角色連接至 EC2 執行個體。

      1. 如果 IAM 角色沒有相關聯的執行個體描述檔：

         1.  `aws:executeAwsApi` - CreateInstanceProfileForRole - 為指定的 IAM 角色建立執行個體描述檔角色。

         1.  `aws:executeAwsApi` - AddRoleToInstanceProfile - 將執行個體描述檔角色連接至指定的 IAM 角色。

         1.  `aws:executeAwsApi` - GetInstanceProfile - 取得指定 IAM 角色的執行個體設定檔資料。

         1.  `aws:executeAwsApi` - AttachIAMProfileToInstanceWithRetry - 將 IAM 執行個體描述檔角色連接至 EC2 執行個體。

 **輸出** 

AttachIAMProfileToInstanceWithRetry.AssociationId

GetInstanceProfile.InstanceProfileName

GetInstanceProfile.InstanceProfileArn

AttachIAMProfileToInstance.AssociationId

ListInstanceProfilesForRole.InstanceProfileName

ListInstanceProfilesForRole.InstanceProfileArn