

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

# Amazon EC2 的 IAM 的角色
<a name="iam-roles-for-amazon-ec2"></a>

應用程式必須使用 AWS 登入資料簽署其 API 請求。因此，若您是應用程式開發人員，對於在 EC2 執行個體上運作的應用程式，您會需要其登入資料的管理策略。例如，您可安全將 AWS 登入資料分配給執行個體，讓在這些執行個體上運作的應用程式能夠使用此登入資料來簽署請求，同時避免其他使用者取得您的登入資料。不過，將登入資料安全地分發給每個執行個體是一項挑戰，尤其是代表您 AWS 建立的執行個體，例如 Spot 執行個體或 Auto Scaling 群組中的執行個體。當您輪換登入資料時，也必須能夠更新每個執行個體上的 AWS 登入資料。

我們設計的 IAM 角色，讓您的應用程式能夠從執行個體安全提出 API 請求，您無須管理應用程式使用的安全登入資料。您可以委派許可使用 IAM 角色提出 API 請求，而不是建立和分發您的 AWS 登入資料，如下所示：

1. 建立 IAM 角色。

1. 定義哪些帳戶 AWS 或服務可以擔任該角色。

1. 定義應用程式在角色擔任後可使用的 API 動作與資源。

1. 啟動執行個體時指定該角色，或將該角色連接至現有執行個體。

1. 讓應用程式擷取一組暫時登入資料並加以使用。

例如，若執行於您執行個體上的應用程式需要使用 Amazon S3 內的儲存貯體，您可使用 IAM 角色為其授予許可。您可建立 JSON 格式的政策，藉此指定 IAM 角色的許可。這些政策類似於您為使用者建立的政策。若您變更角色，此變更會傳播至所有執行個體。

**注意**  
Amazon EC2 IAM 角色登入資料不受角色中設定的工作階段持續時間上限限制。如需詳細資訊，請參閱《IAM 使用者指南》**中的[擔任角色的方法](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html)。

建立 IAM 角色時，請與最低權限 IAM 政策建立關聯，以限制對應用程式所需之特定 API 呼叫的存取。對於 Windows 至 Windows 通訊，請使用妥善定義且妥善記載的 Windows 群組和角色，授與 Windows 執行個體之間的應用程式層級存取權。群組和角色可讓客戶定義最低權限應用程式和 NTFS 資料夾層級許可，以限制對應用程式特定需求的存取。

雖然您只能將一個 IAM 角色連接到一個執行個體中，但您可以將相同的角色連接到多個執行個體中。如需建立 IAM 角色的詳細資訊，請參閱*IAM 使用者指南*中的[角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。

您可將資源層級許可套用至 IAM 政策，藉此控制使用者連接、取代或分離執行個體的 IAM 角色的能力。如需詳細資訊，請參閱 [Amazon EC2 API 動作支援的資源層級許可](iam-policies-for-amazon-ec2.md#ec2-supported-iam-actions-resources)及下列範例：[範例：使用 IAM 角色](ExamplePolicies_EC2.md#iam-example-iam-roles)。

**Topics**
+ [執行個體描述檔](#ec2-instance-profile)
+ [許可使用案例](#generate-policy-for-iam-role)
+ [擷取安全登入資料](instance-metadata-security-credentials.md)
+ [准許將磁碟連接至執行個體](permission-to-pass-iam-roles.md)
+ [將 角色連接至執行個體](attach-iam-role.md)
+ [執行個體身分角色](#ec2-instance-identity-roles)

## 執行個體描述檔
<a name="ec2-instance-profile"></a>

Amazon EC2 會使用*執行個體描述檔*做為 IAM 角色的容器。使用 IAM 主控台建立 IAM 角色時，主控台會自動建立執行個體描述檔，並將其命名為與對應角色相同的名稱。若您使用 Amazon EC2 主控台來啟動具備 IAM 角色的執行個體，或使用該主控台將 IAM 角色連接至執行個體，您須根據執行個體描述檔名稱清單來選擇角色。

如果您使用 AWS CLI、 API 或 AWS SDK 來建立角色，則可以將角色和執行個體描述檔建立為個別動作，名稱可能不同。如果您接著使用 AWS CLI、 API 或 AWS 開發套件來啟動具有 IAM 角色的執行個體，或將 IAM 角色連接至執行個體，請指定執行個體設定檔名稱。

執行個體描述檔內僅有一個 IAM 角色。您可在多個執行個體設定檔中包括 IAM 角色。

如需更新執行個體的許可，請取代其執行個體設定檔。不建議從執行個體設定檔中移除角色，因為最多需要延遲一小時，此變更才生效。

如需詳細資訊，請參閱 *IAM 使用者指南* 中的[使用執行個體設定檔](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html)。

## 許可使用案例
<a name="generate-policy-for-iam-role"></a>

當您第一次為應用程式建立 IAM 角色時，有時可能會授予超出所需的許可。在生產環境中啟動應用程式之前，您可以根據 IAM 角色的存取活動產生 IAM 政策。IAM Access Analyzer 會檢閱您的 AWS CloudTrail 日誌，並產生政策範本，其中包含角色在指定日期範圍內已使用的許可。您可以使用範本建立具有精細許可的受管政策，然後將其連接至 IAM 角色。如此一來，您只會授予角色與特定使用案例 AWS 的資源互動所需的許可。這有助於您符合[授予最低權限](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)的最佳實務。如需更多資訊，請參閱「IAM 使用者指南」**中的 [IAM Access Analyzer 政策驗證](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-generation.html)。

# 從執行個體中繼資料中擷取安全登入資料
<a name="instance-metadata-security-credentials"></a>

執行個體上的應用程式會從執行個體中繼資料項目 `iam/security-credentials/`*role-name*，擷取角色提供的安全登入資料。如此即授予該應用程式許可，能夠執行您在建立角色與安全登入資料的關聯時所定義的角色動作與資源。這些安全登入資料為暫時的，我們會定期更換。舊的登入資料過期前至少五分鐘，我們就會提供新的登入資料。

如需執行個體中繼資料的詳細資訊，請參閱[使用執行個體中繼資料管理您的 EC2 執行個體](ec2-instance-metadata.md)。

**警告**  
若您使用的服務會運用具備 IAM 角色的執行個體中繼資料，請確認該服務代您發出 HTTP 呼叫時不會暴露您的登入資料。可能會暴露登入資料的服務類型包括 HTTP 代理、HTML/CSS 驗證器服務和支援納入 XML 的 XML 處理器。

對於 Amazon EC2 工作負載，建議您使用下述方法擷取工作階段憑證。這些憑證應該可讓您的工作負載發起 AWS API 請求，而無需使用 `sts:AssumeRole` 擔任已與執行個體相關聯的相同角色。除非您需要為屬性型存取控制 (ABAC) 傳遞工作階段標籤，或需要傳遞工作階段政策以進一步限制角色權限，否則此類角色擔任呼叫是不必要的，因為它們會建立一組新的相同的臨時角色工作階段憑證。

如果您的工作負載使用角色來擔任它自己，則必須建立信任政策，明確允許該角色擔任它自己。如果您不建立信任政策，會得到 `AccessDenied` 錯誤。如需了解詳細資訊，請參閱 *IAM 使用者指南*中的[更新角色信任政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-trust-policy.html)。

------
#### [ IMDSv2 ]

**Linux**  
透過 Linux 執行個體執行下面的命令，可擷取 IAM 角色的安全憑證。

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

**Windows**  
透過 Windows 執行個體執行下面的 cmdlet，可擷取 IAM 角色的安全憑證。

```
[string]$token = Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
    -Method PUT -Uri http://169.254.169.254/latest/api/token
```

```
Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token" = $token} `
    -Method GET -Uri http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

------
#### [ IMDSv1 ]

**Linux**  
透過 Linux 執行個體執行下面的命令，可擷取 IAM 角色的安全憑證。

```
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

**Windows**  
透過 Windows 執行個體執行下面的 cmdlet，可擷取 IAM 角色的安全憑證。

```
Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

------

以下為範例輸出。如果您無法擷取安全登入資料，請參閱「IAM 使用者指南」**中的[無法存取 EC2 執行個體上的臨時安全登入資料](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_iam-ec2.html#troubleshoot_iam-ec2_no-keys)。

```
{
  "Code" : "Success",
  "LastUpdated" : "2012-04-26T16:39:16Z",
  "Type" : "AWS-HMAC",
  "AccessKeyId" : "ASIAIOSFODNN7EXAMPLE",
  "SecretAccessKey" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "Token" : "token",
  "Expiration" : "2017-05-17T15:09:54Z"
}
```

對於在執行個體上執行的應用程式 AWS CLI、 和 Tools for Windows PowerShell 命令，您不需要明確取得臨時安全登入資料 - Windows PowerShell AWS SDKs AWS CLI、 和 Tools 會自動從 EC2 執行個體中繼資料服務取得登入資料並使用它們。欲使用暫時安全登入資料在執行個體外部進行呼叫 (如為了測試 IAM 政策)，您必須提供存取金鑰、私有金鑰和工作階段字符。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[使用暫時安全登入資料來請求存取 AWS 資源](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)。

# 授予 IAM 使用者將 IAM 角色傳遞至執行個體的許可
<a name="permission-to-pass-iam-roles"></a>

IAM 使用者等 中的身分必須具有特定許可 AWS 帳戶，才能使用 IAM 角色啟動 Amazon EC2 執行個體、將 IAM 角色連接至執行個體、取代執行個體的 IAM 角色，或從執行個體分離 IAM 角色。您必須視需要授予使用下列 API 動作的許可：
+ `iam:PassRole`
+ `ec2:AssociateIamInstanceProfile`
+ `ec2:DisassociateIamInstanceProfile`
+ `ec2:ReplaceIamInstanceProfileAssociation`

**注意**  
如果您將 `iam:PassRole` 資源指定為 `*`，這將授予您的任何 IAM 角色傳遞給執行個體的存取權限。若要遵循[最低權限](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)的最佳實務，請使用 `iam:PassRole` 指定特定 IAM 角色ARNs，如以下範例政策所示。

**程式設計存取的範例政策**  
下列 IAM 政策授予許可，以使用 IAM 角色啟動執行個體、將 IAM 角色連接至執行個體，或使用 AWS CLI 或 Amazon EC2 API 取代執行個體的 IAM 角色。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances",
         "ec2:AssociateIamInstanceProfile",
         "ec2:DisassociateIamInstanceProfile",
         "ec2:ReplaceIamInstanceProfileAssociation"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::123456789012:role/DevTeam*"
    }
  ]
}
```

------

**主控台存取的其他要求**  
若要授予使用 Amazon EC2 主控台完成相同任務的許可，您還必須包含 `iam:ListInstanceProfiles` API 動作。

# 將 IAM 角色連接至執行個體
<a name="attach-iam-role"></a>

您可建立 IAM 角色，並在啟動期間或之後將其連接至執行個體。您也可以取代或分離 IAM 角色。

**在執行個體啟動期間建立和連接 IAM 角色 （建議）**

1. 在 EC2 執行個體啟動期間，展開**進階詳細資訊**。

1. 在 **IAM 執行個體設定檔**區段中，選擇**建立新的 IAM 角色**。

1. 會開啟內嵌角色建立表單，讓您：
   + 指定**角色名稱** （例如 `EC2-S3-Access-Role`)
   + 透過選取 AWS 受管政策或為您的執行個體建立自訂政策來定義許可

     例如，若要授予 S3 存取權，請選取 `AmazonS3ReadOnlyAccess` 受管政策
   + 檢閱允許 `ec2.amazonaws.com`擔任角色的信任政策
   + 新增中繼資料的選用標籤

1. 選擇建**立角色**。

   系統會自動選取新建立的角色，並在執行個體啟動時透過執行個體描述檔連接至您的執行個體。

**注意**  
當您在執行個體啟動期間使用主控台建立角色時，會自動建立與角色同名的執行個體描述檔。執行個體描述檔是在啟動時將 IAM 角色資訊傳遞給執行個體的容器。

**重要**  
雖然您只能將一個 IAM 角色連接到一個執行個體中，但您可以將相同的角色連接到多個執行個體中。
關聯限制存取應用程式所需特定 API 呼叫的最低權限 IAM 政策。

如需建立 IAM 角色的詳細資訊，請參閱*IAM 使用者指南*中的[角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。

**在執行個體啟動期間連接現有的 IAM 角色**  
若要使用 Amazon EC2 主控台在啟動時將現有的 IAM 角色連接至執行個體，請展開**進階詳細資訊**。針對 **IAM 執行個體描述檔**，從下拉式清單中選取 IAM 角色。

**注意**  
若您已使用主控台建立 IAM 角色，則會為您建立執行個體設定檔，且其名稱會與該角色相同。如果您使用 AWS CLI、 API 或 AWS SDK 建立 IAM 角色，您可能已為執行個體描述檔指定與該角色不同的名稱。

您可以將 IAM 角色連接至正在執行或已停止的執行個體。如果執行個體已連接 IAM 角色，您必須將其取代為新的 IAM 角色。

------
#### [ Console ]<a name="attach-iam-role-console"></a>

**將 IAM 角色連接至執行個體 (主控台)**

1. 在 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇**執行個體**。

1. 選取執行個體。

1. 選擇 **Actions** (動作)、**Security** (安全性)、**Modify IAM role** (修改 IAM 角色)。

1. 為 **IAM 角色**，選擇 IAM 執行個體設定檔。

1. 選擇**更新 IAM 角色**。

------
#### [ AWS CLI ]
<a name="attach-iam-role-instance-cli"></a>
**將 IAM 角色連接至執行個體 (主控台)**  
使用 [associate-iam-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-iam-instance-profile.html) 命令，將 IAM 角色連接至執行個體。當您指定執行個體設定檔時，您可以使用執行個體設定檔的 Amazon Resource Name (ARN)，也可以使用其名稱。

```
aws ec2 associate-iam-instance-profile \
    --instance-id i-1234567890abcdef0 \
    --iam-instance-profile Name="TestRole-1"
```

------
#### [ PowerShell ]

**將 IAM 角色連接至執行個體 (主控台)**  
使用 [Register-EC2IamInstanceProfile](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2IamInstanceProfile.html) cmdlet。

```
Register-EC2IamInstanceProfile `
    -InstanceId i-1234567890abcdef0 `
    -IamInstanceProfile_Name TestRole-1
```

------

若要取代已擁有連接 IAM 角色之執行個體上的 IAM 角色，則執行個體必須處於執行中狀態。如果您想要變更執行個體上的 IAM 角色，但不中斷現有的角色，您可以這麼做。例如，您可以這麼做確保執行個體上應用程式執行的 API 動作不會中斷。

------
#### [ Console ]<a name="replace-iam-role-console"></a>

**取代執行個體的 IAM 角色**

1. 在 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇**執行個體**。

1. 選取執行個體。

1. 選擇 **Actions** (動作)、**Security** (安全性)、**Modify IAM role** (修改 IAM 角色)。

1. 為 **IAM 角色**，選擇 IAM 執行個體設定檔。

1. 選擇**更新 IAM 角色**。

------
#### [ AWS CLI ]<a name="replace-iam-role-cli"></a>

**取代執行個體的 IAM 角色**

1. 視需要使用 [describe-iam-instance-profile-associations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-iam-instance-profile-associations.html) 命令來獲取關聯 ID。

   ```
   aws ec2 describe-iam-instance-profile-associations \
       --filters Name=instance-id,Values=i-1234567890abcdef0 \
       --query IamInstanceProfileAssociations.AssociationId
   ```

1. 請使用 [replace-iam-instance-profile-association](https://docs.aws.amazon.com/cli/latest/reference/ec2/replace-iam-instance-profile-association.html) 命令。指定現有執行個體設定檔的關聯 ID，以及新的執行個體設定檔的 ARN 或名稱。

   ```
   aws ec2 replace-iam-instance-profile-association \
       --association-id iip-assoc-0044d817db6c0a4ba \
       --iam-instance-profile Name="TestRole-2"
   ```

------
#### [ PowerShell ]

**取代執行個體的 IAM 角色**

1. 視需要使用 [Get-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2IamInstanceProfileAssociation.html) cmdlet 來獲取關聯 ID。

   ```
   (Get-EC2IamInstanceProfileAssociation -Filter @{Name="instance-id"; Values="i-0636508011d8e966a"}).AssociationId
   ```

1. 使用 [Set-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Set-EC2IamInstanceProfileAssociation.html) cmdlet。指定現有執行個體設定檔的關聯 ID，以及新的執行個體設定檔的 ARN 或名稱。

   ```
   Set-EC2IamInstanceProfileAssociation `
       -AssociationId iip-assoc-0044d817db6c0a4ba `
       -IamInstanceProfile_Name TestRole-2
   ```

------

您可透過執行中或已停止的執行個體來分離 IAM 角色。

------
#### [ Console ]<a name="detach-iam-role-console"></a>

**分離 IAM 角色和執行個體**

1. 在 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇**執行個體**。

1. 選取執行個體。

1. 選擇 **Actions** (動作)、**Security** (安全性)、**Modify IAM role** (修改 IAM 角色)。

1. 針對 **IAM role (IAM 角色)**，選擇 **No IAM Role (無 IAM 角色)**。

1. 選擇**更新 IAM 角色**。

1. 出現確認提示時，請輸入**分離**，然後選擇**分離**。

------
#### [ AWS CLI ]<a name="detach-iam-role-cli"></a>

**分離 IAM 角色和執行個體**

1. 視需要使用 [describe-iam-instance-profile-associations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-iam-instance-profile-associations.html)，來獲取 IAM 執行個體設定檔欲分離的關聯 ID。

   ```
   aws ec2 describe-iam-instance-profile-associations \
       --filters Name=instance-id,Values=i-1234567890abcdef0 \
       --query IamInstanceProfileAssociations.AssociationId
   ```

1. 請使用 [disassociate-iam-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-iam-instance-profile.html) 命令。

   ```
   aws ec2 disassociate-iam-instance-profile --association-id iip-assoc-0044d817db6c0a4ba
   ```

------
#### [ PowerShell ]

**分離 IAM 角色和執行個體**

1. 視需要使用 [Get-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2IamInstanceProfileAssociation.html)，來獲取 IAM 執行個體設定檔欲分離的關聯 ID。

   ```
   (Get-EC2IamInstanceProfileAssociation -Filter @{Name="instance-id"; Values="i-0636508011d8e966a"}).AssociationId
   ```

1. 使用 [Unregister-EC2IamInstanceProfile](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2IamInstanceProfile.html) cmdlet。

   ```
   Unregister-EC2IamInstanceProfile -AssociationId iip-assoc-0044d817db6c0a4ba
   ```

------

## Amazon EC2 執行個體的執行個體身分角色
<a name="ec2-instance-identity-roles"></a>

您啟動的每個 Amazon EC2 執行個體都有一個代表其身分的*執行個體身分角色*。執行個體身分角色是 IAM 角色的一種類型。整合以使用執行個體身分角色 AWS 的服務和功能可以使用它來識別服務的執行個體。

您可以從 `/identity-credentials/ec2/security-credentials/ec2-instance` 的執行個體中繼資料服務 (IMDS) 存取執行個體身分角色憑證。登入資料包含 AWS 臨時存取金鑰對和工作階段字符。它們用於向使用執行個體身分角色 AWS 的服務簽署 AWS Sigv4 請求。無論執行個體上是否已啟用使用執行個體身分角色的服務或功能，憑證都會顯示在執行個體中繼資料中。

執行個體身分角色在執行個體啟動時自動建立，沒有角色信任政策文件，且不受任何身分或資源政策的約束。

### 支援的服務
<a name="iir-supported-services"></a>

下列 AWS 服務使用執行個體身分角色：
+ **Amazon EC2** – [EC2 執行個體連線](connect-linux-inst-eic.md)使用執行個體身分角色來更新 Linux 執行個體的主機金鑰。
+ **Amazon GuardDuty** – [GuardDuty 執行時期監控](https://docs.aws.amazon.com/guardduty/latest/ug/runtime-monitoring.html)會使用執行個體身分角色，允許執行時期代理程式將安全性遙測資料傳送至 GuardDuty VPC 端點。
+ **AWS Lambda** – [Lambda 受管執行個體](https://docs.aws.amazon.com/lambda/latest/dg/lambda-managed-instances.html)會將執行個體身分角色用於生命週期掛鉤、遙測和成品分佈。
+ **AWS Security Token Service (AWS STS)** – 執行個體身分角色登入資料可與 AWS STS [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html)動作搭配使用。
+ **AWS Systems Manager** – 使用[預設主機管理組態](https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet-manager-default-host-management-configuration.html)時， AWS Systems Manager 會使用執行個體身分角色提供的身分來註冊 EC2 執行個體。識別執行個體之後，Systems Manager 可將 `AWSSystemsManagerDefaultEC2InstanceManagementRole` IAM 角色傳遞給執行個體。

執行個體身分角色無法與其他 AWS 服務或功能搭配使用，因為它們沒有與執行個體身分角色的整合。

### 執行個體身分角色 ARN
<a name="iir-arn"></a>

執行個體身分角色 ARN 採用下列格式：

```
arn:aws-partition:iam::account-number:assumed-role/aws:ec2-instance/instance-id
```

例如：

```
arn:aws:iam::0123456789012:assumed-role/aws:ec2-instance/i-1234567890abcdef0
```

如需 ARN 的詳細資訊，請參閱「IAM 使用者指南」**中的 [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)。