

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

# 選項 1：應用程式可以擔任連結至 IAM Roles Anywhere 設定檔的任何角色
<a name="option-1"></a>

在此案例中，已從 AWS 私有憑證授權單位 執行個體在 AWS Certificate Manager (ACM) 中佈建兩個憑證，並與需要存取 AWS 資源的應用程式共用。這些應用程式可以擔任任何連結至 IAM Roles Anywhere 設定檔的角色。這是因為信任政策不會限制哪些應用程式可以採用信任政策。

**注意**  
在此案例中，應用程式不需要有單獨的憑證。他們可以共用單一憑證。

當應用程式擔任角色時，許可是 IAM 角色和 IAM Roles Anywhere 設定檔中明確允許的收斂。使用此方法，您可以透過 IAM Roles Anywhere 設定檔限制工作階段許可，無論 IAM 角色中允許的其他許可為何。

下圖顯示每個應用程式擁有的存取權。應用程式會被拒絕存取某些 AWS 資源，因為它們在 IAM 角色和 IAM Roles Anywhere 設定檔中都未明確授予存取權。如果登入資料協助程式呼叫包含**角色 1 **的 Amazon Resource Name (ARN)，則會授予應用程式臨時安全登入資料，以透過角色 **1 存取儲存貯體** 1。 ****如果登入資料協助程式呼叫包含**角色 2 **的 ARN，則會授予應用程式臨時安全登入資料，以透過角色 **2 存取儲存貯**體 2。 ****

![應用程式使用相同的憑證，並且可以存取多個角色。設定檔限制存取。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/certificate-based-access-controls/images/option-1-overview.png)


**角色 1** 和**角色 2 **信任政策設定為允許 IAM Roles Anywhere 擔任角色、設定來源身分和標記工作階段。以下是允許應用程式擔任連結至 IAM Roles Anywhere 設定檔之任何角色的範例信任政策：

```
{
  "Version": "2012-10-17", 		 	 	 		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "rolesanywhere.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:SetSourceIdentity",
        "sts:TagSession"
      ],
      "Condition": {
        "StringEquals": {
          "sts:SourceIdentity": [
            "${sourceIdentityPrefix}${sourceIdentityValue}"
          ]
        }
      }
    }
  ]
}
```

如需角色信任政策及如何修改此範例的詳細資訊，請參閱 IAM Roles Anywhere 文件中的[信任政策](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/trust-model.html#trust-policy)。

應用程式 **1** 和**應用程式 2** 的範例角色和設定檔政策包含在本指南的[附錄：範例設定檔和角色政策](appendix-sample-policies.md)區段中。