

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

# 將 Amazon EC2 Linux 執行個體無縫加入共用的 AWS Managed Microsoft AD
<a name="seamlessly_join_linux_to_shared_MAD"></a>

在此程序中，您將順暢地將 Amazon EC2 Linux 執行個體加入共用的 AWS Managed Microsoft AD。若要這樣做，您將在想要啟動 EC2 Linux AWS Secrets Manager 執行個體的帳戶中的 EC2 執行個體角色中建立 IAM 讀取政策。這將在此程序`Account 2`中稱為 。此執行個體將使用從另一個帳戶共用的 AWS Managed Microsoft AD，稱為 `Account 1`。

## 先決條件
<a name="seamlessly_join_linux_to_shared_MAD_prereqs"></a>

您必須先完成下列動作，才能將 Amazon EC2 Linux 執行個體無縫加入共用的 AWS Managed Microsoft AD：
+ 教學課程中的步驟 1 到 3。 [教學課程：共用 AWS Managed Microsoft AD 目錄以實現無縫 EC2 網域加入](ms_ad_tutorial_directory_sharing.md)本教學課程會逐步引導您設定網路和共用 AWS Managed Microsoft AD。
+ 中所述的程序[將 Amazon EC2 Linux 執行個體無縫加入 AWS Managed Microsoft AD Active Directory](seamlessly_join_linux_instance.md)。

## 步驟 1. 在帳戶 2 中建立 LinuxEC2DomainJoin 角色
<a name="seamlessly_join_linux_to_shared_MAD_step_1"></a>

在此步驟中，您將使用 IAM 主控台來建立 IAM 角色，用於在登入 時加入 EC2 Linux 執行個體的網域`Account 2`。

**建立 LinuxEC2DomainJoin 角色**

1. 前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側導覽窗格的**存取管理**下，選擇**角色**。

1. 在 **Roles** (角色) 頁面上，選擇 **Create role** (建立角色)。

1. 在 **Select type of trusted entity** (選擇可信任執行個體類型) 下，選擇 **AWS service** ( 服務)。

1. 在**使用案例中**，選擇 **EC2**，然後選擇**下一步**

1. 對於**篩選政策**，請執行下列操作：

   1. 輸入 `AmazonSSMManagedInstanceCore`。然後選取清單中該項目的核取方塊。

   1. 輸入 `AmazonSSMDirectoryServiceAccess`。然後選取清單中該項目的核取方塊。

   1. 新增這些政策之後，請選取**建立角色**。
**注意**  
`AmazonSSMDirectoryServiceAccess` 提供將執行個體加入由 管理之 Active Directory 的許可 Directory Service。 `AmazonSSMManagedInstanceCore`提供使用 所需的最低許可 AWS Systems Manager。如需使用這些許可建立角色的詳細資訊，以及您可以指派給 IAM 角色的其他許可和政策的相關資訊，請參閱*AWS Systems Manager 《 使用者指南*》中的[設定 Systems Manager 所需的執行個體許可](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-permissions.html)。

1. 在角色名稱欄位中輸入新角色的名稱，例如 `LinuxEC2DomainJoin`或您偏好的另一個**名稱**。

1. *（選用）* 針對**角色描述**，輸入描述。

1. *（選用）* 在**步驟 3：新增****標籤以新增標籤**下選擇新增標籤。標籤鍵值對用於組織、追蹤或控制此角色的存取。

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

## 步驟 2. 建立跨帳戶資源存取權以共用 AWS Secrets Manager 秘密
<a name="seamlessly_join_linux_to_shared_MAD_step_2"></a>

下一節是無縫加入 EC2 Linux 執行個體與共用 AWS Managed Microsoft AD 所需的其他需求。這些要求包括建立資源政策，並將其連接到適當的 服務和資源。

若要允許帳戶中的使用者存取另一個帳戶中的 AWS Secrets Manager 秘密，您必須在資源政策和身分政策中允許存取。這種類型的存取稱為[跨帳戶資源存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)。

這種存取類型不同於將存取權授予與 Secrets Manager 秘密相同帳戶中的身分。您還必須允許身分使用秘密加密所用的 [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)(KMS) 金鑰。此許可是必要的，因為您無法使用 AWS 受管金鑰 (`aws/secretsmanager`) 進行跨帳戶存取。反之，您會使用您建立的 KMS 金鑰來加密秘密，然後將金鑰政策連接至秘密。若要變更秘密的加密金鑰，請參閱[修改 AWS Secrets Manager 秘密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_update-secret.html)。

**注意**  
根據您使用的秘密 AWS Secrets Manager，會產生相關費用。如需目前完整定價清單，請參閱 [AWS Secrets Manager 定價](https://aws.amazon.com/secrets-manager/pricing/)。您可以使用 Secrets Manager 建立 AWS 受管金鑰 `aws/secretsmanager`的 免費秘密加密。如果您建立自己的 KMS 金鑰來加密秘密， 會以目前的 AWS KMS 費率向您 AWS 收費。如需詳細資訊，請參閱[AWS Key Management Service 定價](https://aws.amazon.com/kms/pricing/)。

下列步驟可讓您建立資源政策，讓使用者將 EC2 Linux 執行個體無縫加入共用的 AWS Managed Microsoft AD。

**將資源政策連接至帳戶 1 中的秘密**

1. 前往以下位置開啟機密管理員控制台：[https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)。

1. 從秘密清單中，選擇您在 期間建立的**秘密**[先決條件](#seamlessly_join_linux_to_shared_MAD_prereqs)。

1. 在**秘密的詳細資訊頁面**的**概觀**索引標籤下，向下捲動至**資源許可**。

1. 選取**編輯許可**。

   1. 在政策欄位中，輸入下列政策。下列政策允許 中的 **LinuxEC2DomainJoin** `Account 2`存取 中的秘密`Account 1`。將 ARN 值取代為您在[步驟 1](#seamlessly_join_linux_to_shared_MAD_step_1) 中建立的 `Account 2``LinuxEC2DomainJoin`角色的 ARN 值。若要使用此政策，請參閱[將許可政策連接至 AWS Secrets Manager 秘密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html)。

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

****  

     ```
     {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "AWS": "{{arn:aws:iam::123456789012:role/LinuxEC2DomainJoin}}"
           },
           "Action": "secretsmanager:GetSecretValue",
           "Resource": "*"
         }
       ]
     }
     ```

------

**將陳述式新增至帳戶 1 中 KMS 金鑰的金鑰政策**

1. 前往以下位置開啟機密管理員控制台：[https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)。

1. 在左側導覽窗格中，選取**客戶受管金鑰**。

1. 在**客戶受管金鑰**頁面上，選取您建立的金鑰。

1. 在**金鑰詳細資訊**頁面上，導覽至**金鑰政策**，然後選取**編輯**。

1. 下列金鑰政策陳述式允許 `ApplicationRole`中的 `Account 2`使用 中的 KMS 金鑰`Account 1`來解密 中的秘密`Account 1`。若要使用此陳述式，請將其新增至 KMS 金鑰的金鑰政策。如需詳細資訊，請參閱[變更金鑰政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)。

   ```
   {
   {
     "Effect": "Allow",
     "Principal": {
       "AWS": "{{arn:aws:iam::Account2:role/ApplicationRole}}"
     },
     "Action": [
       "kms:Decrypt",
       "kms:DescribeKey"
     ],
     "Resource": "*"
   }
   ```

**為帳戶 2 中的身分建立身分政策**

1. 前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側導覽窗格的**存取管理**下，選取**政策**。

1. 選取 **Create Policy (建立政策)**。在**政策編輯器**中選擇 **JSON**。

1. 下列政策允許 `ApplicationRole`中的 `Account 2`存取秘密，`Account 1`並使用 中的加密金鑰解密秘密值`Account 1`。您可以在 Secret ARN 下**秘密詳細資訊**頁面的 Secrets Manager 主控台中找到**秘密的 ARN**。或者，您可以呼叫 [describe-secret](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/describe-secret.html) 來識別秘密的 ARN。將資源 ARN 取代為秘密 ARN 和 的資源 ARN`Account 1`。若要使用此政策，請參閱[將許可政策連接至 AWS Secrets Manager 秘密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html)。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "secretsmanager:GetSecretValue",
         "Resource": "arn:aws:secretsmanager:{{us-east-1}}:{{111122223333{{:secret:}}secretName-AbCdEf}}"
       },
       {
         "Effect": "Allow",
         "Action": [
           "kms:Decrypt",
           "kms:Describekey"
         ],
         "Resource": "arn:aws:kms:{{us-east-1}}:{{111122223333}}:key/{{Your_Encryption_Key}}"
       }
     ]
   }
   ```

------

1. 選取**下一步**，然後選取**儲存變更**。

1. 尋找並選取您在 `Account 2`中建立的角色[Attach a resource policy to the secret in Account 1](#step1ResourcePolicy)。

1. 在**新增許可**下，選取**連接政策**。

1. 在搜尋列中，尋找您在 中建立的政策[Add a statement to the key policy for the KMS key in Account 1](#step2KeyPolicy)，然後選取將政策新增至角色的方塊。然後選取**新增許可**。

## 步驟 3。無縫加入您的 Linux 執行個體
<a name="seamlessly_join_linux_to_shared_MAD_prereqs_step_3"></a>

您現在可以使用下列程序，將 EC2 Linux 執行個體無縫加入共用的 AWS Managed Microsoft AD。

**無縫加入您的 Linux 執行個體**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)：// 開啟 Amazon EC2 主控台。

1. 從導覽列中的區域選擇器中，選擇 AWS 區域 與現有目錄相同的 。

1. 在 **EC2 儀表板**的**啟動執行個體**區段中，選擇**啟動執行個體**。

1. 在**啟動執行個體**頁面**的名稱和標籤**區段下，輸入您要用於 Linux EC2 執行個體的名稱。

1.  *（選用）* 選擇**新增其他標籤**以新增一或多個標籤鍵值對，以組織、追蹤或控制此 EC2 執行個體的存取。

1. 在**應用程式和作業系統映像 (Amazon Machine Image)** 區段中，選擇您要啟動的 Linux AMI。
**注意**  
使用的 AMI 必須具有 AWS Systems Manager (SSM Agent) 2.3.1644.0 版或更新版本。若要透過從 AMI 啟動執行個體來檢查 AMI 中已安裝的 SSM 代理程式版本，請參閱[取得目前安裝的 SSM 代理程式版本](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-get-version.html)。如需升級 SSM 代理程式，請參閱[在適用於 Linux 的 EC2 執行個體上安裝和設定 SSM 代理程式](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-agent.html)。  
SSM 在將 Linux 執行個體加入 Active Directory 網域時使用 `aws:domainJoin` 外掛程式。外掛程式會將 Linux 執行個體的主機名稱變更為 EC2AMAZ-{{XXXXXXX}} 格式。如需 的詳細資訊`aws:domainJoin`，請參閱*AWS Systems Manager 《 使用者指南*》中的[AWS Systems Manager 命令文件外掛程式參考](https://docs.aws.amazon.com//systems-manager/latest/userguide/documents-command-ssm-plugin-reference.html#aws-domainJoin)。

1. 在**執行個體類型**區段中，從**執行個體類型**下拉式清單中選擇您要使用的執行個體類型。

1. 在**金鑰對 (登入)** 區段中，您可以選擇建立新金鑰對或從現有金鑰對中進行選擇。若要建立新的金鑰對，請選擇**建立新金鑰對**。輸入金鑰對的名稱，然後選取**金鑰對類型**和**私有金鑰檔案格式**的選項。若要將私有金鑰儲存為可與 OpenSSH 搭配使用的格式，請選擇 **.pem**。若要將私有金鑰儲存為可與 PuTTY 搭配使用的格式，請選擇 **.ppk**。選擇**建立金鑰對**。您的瀏覽器會自動下載私有金鑰檔案。將私有金鑰檔案存放在安全的地方。
**重要**  
這是您儲存私有金鑰檔案的唯一機會。

1. 在**啟動執行個體**頁面上的**網路設定**區段下，選擇**編輯**。從 **VPC – *required*** 下拉式清單中選擇在其中建立目錄的 **VPC**。

1. 從**子網路**下拉式清單中選擇 VPC 中的公有子網路之一。您所選取的子網路必須將所有外部流量路由到網際網路閘道。如果沒有，則將無法從遠端連線到執行個體。

   如需有關連線至網際網路閘道的詳細資訊，請參閱《Amazon VPC 使用者指南》**中的[使用網際網路閘道連線至網際網路](https://docs.aws.amazon.com//vpc/latest/userguide/VPC_Internet_Gateway.html)一節。

1. 在**自動指派公有 IP** 下，選擇**啟用**。

   如需公有和私有 IP 定址的詳細資訊，請參閱《[Amazon EC2 使用者指南》中的 Amazon EC2 執行個體 IP 定址](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/using-instance-addressing.html)。 *Amazon EC2 *

1. 對於**防火牆 (安全群組)**設定，您可以使用預設設定或根據需要進行變更。

1. 對於**設定儲存**設定，您可以使用預設設定或根據需要進行變更。

1. 選取**進階詳細資訊**區段，從**域加入目錄**下拉式清單中選取域。
**注意**  
選擇網域加入目錄後，您可能會看到：  

![選取網域聯結目錄時的錯誤訊息。您現有的 SSM 文件發生錯誤。](http://docs.aws.amazon.com/zh_tw/directoryservice/latest/admin-guide/images/SSM-Error-Message.png)

如果 EC2 啟動精靈識別具有非預期屬性的現有 SSM 文件，就會發生此錯誤。您可以執行下列任一作業：  
如果您先前已編輯 SSM 文件，且預期屬性，請選擇關閉並繼續啟動 EC2 執行個體，而不進行任何變更。
選取此處的刪除現有 SSM 文件連結，以刪除 SSM 文件。這將允許建立具有正確屬性的 SSM 文件。當您啟動 EC2 執行個體時，系統會自動建立 SSM 文件。

1. 針對 **IAM 執行個體描述檔**，選擇您先前在先決條件區段 **步驟 2：建立 LinuxEC2DomainJoin 角色中建立的 IAM 角色**。

1. 選擇**啟動執行個體**。

**注意**  
如果您使用 SUSE Linux 執行無縫域加入，則需要重新啟動才能進行身分驗證。若要從 Linux 終端重新啟動 SUSE，請鍵入 **sudo reboot**。