将 Amazon EC2 Linux 实例无缝加入共享实例 Amazon 微软 AD 托管 - Amazon Directory Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 Amazon EC2 Linux 实例无缝加入共享实例 Amazon 微软 AD 托管

在此过程中,您将将 Amazon EC2 Linux 实例无缝加入共享实例 Amazon 托管微软 AD。为此,你需要创建一个 Amazon Secrets Manager IAM在您要启动 EC2 Linux EC2 实例的账户中读取实例角色中的策略。在本程序Account 2中将提及这一点。此实例将使用 Amazon 从另一个账户(称为)共享的托管 Microsoft AD Account 1

先决条件

在您可以将 Amazon EC2 Linux 实例无缝加入共享实例之前 Amazon 托管 Microsoft AD,你需要完成以下操作:

第 1 步。在账户 2 中创建 Linux EC2DomainJoin 角色

在此步骤中,您将使用IAM控制台创建用于在登录时加入您的 EC2 Linux 实例的域名的IAM角色Account 2

创建 Linux EC2DomainJoin 角色
  1. 打开IAM控制台,网址为https://console.aws.amazon.com/iam/

  2. 在左侧导航窗格的 “访问管理” 下,选择 “角色”。

  3. Roles(角色)页面上,选择 Create role(创建角色)。

  4. “选择可信实体类型” 下,选择 Amazon 服务

  5. 在 “用例” 下,选择 EC2,然后选择 “下一步

  6. 对于筛选策略,执行以下操作:

    1. 输入 AmazonSSMManagedInstanceCore。然后在列表中选中该项目的复选框。

    2. 输入 AmazonSSMDirectoryServiceAccess。然后在列表中选中该项目的复选框。

    3. 添加这些策略后,选择创建角色

      注意

      AmazonSSMDirectoryServiceAccess提供将实例加入的权限 Active Directory 由 Amazon Directory Service。 AmazonSSMManagedInstanceCore提供使用所需的最低权限 Amazon Systems Manager。 有关创建具有这些权限的角色的更多信息,以及有关可以分配给IAM角色的其他权限和策略的信息,请参阅中配置 Systems Manager 所需的实例权限 Amazon Systems Manager 用户指南

  7. 在角色名称字段中输入新角色的名称,例如LinuxEC2DomainJoin或其他您喜欢的名称

  8. (可选)在角色描述中,输入描述。

  9. (可选)步骤 3:添加标签下选择添加新标签以添加标签。标签键值对用于组织、跟踪或控制此角色的访问权限。

  10. 选择 Create role(创建角色)。

第 2 步。创建跨账户资源访问权限以共享 Amazon Secrets Manager 密钥

下一节是需要满足的其他要求,才能将 EC2 Linux 实例与共享实例无缝连接 Amazon 托管微软 AD。这些要求包括创建资源策略并将其附加到相应的服务和资源。

允许账户中的用户访问 Amazon Secrets Manager 另一个账户中的密钥,您必须在资源策略和身份策略中同时允许访问权限。这种类型的访问称为跨账户资源访问

这种访问方式不同于向与 Secrets Manager 密钥相同的账户中的身份授予访问权限。您还必须允许使用该身份 Amazon Key Management Service(KMS) 用于加密密钥的密钥。此权限是必要的,因为您无法使用 Amazon 用于跨账户访问的托管密钥 (aws/secretsmanager)。相反,您将使用自己创建的密KMS钥加密您的密钥,然后为其附加密钥策略。要更改密钥的加密密钥,请参阅修改 Amazon Secrets Manager 秘密

注意

有与之相关的费用 Amazon Secrets Manager,具体取决于您使用的密钥。有关当前的完整定价清单,请参阅 Amazon Secrets Manager 定价。您可以使用 Amazon 托管式密钥 aws/secretsmanagerSecrets Manager 创建的用来免费加密你的秘密。如果您创建自己的KMS密钥来加密您的机密, Amazon 按当前向你收费 Amazon KMS费率。有关更多信息,请参阅 Amazon Key Management Service 定价

以下步骤允许您创建资源策略,使用户能够将 EC2 Linux 实例无缝加入共享实例 Amazon 托管微软 AD。

将资源策略附加到账户 1 中的密钥
  1. 打开 Secrets Manager 控制台,网址为https://console.aws.amazon.com/secretsmanager/

  2. 从密钥列表中,选择您在密钥中创建的密钥先决条件

  3. 密钥的详细信息页面述选项卡下,向下滚动到资源权限

  4. 选择 “编辑权限”

    1. 在策略字段中,输入以下策略。以下策略允许EC2DomainJoin中的 Linux Account 2 访问中的密钥Account 1。将该ARN值替换为您Account 2步骤 1 中创建的LinuxEC2DomainJoin角色的ARN值。要使用此策略,请参阅将权限策略附加到 Amazon Secrets Manager 秘密

      { { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::Account2:role/LinuxEC2DomainJoin" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }
在账户 1 中为密钥的KMS密钥策略添加声明
  1. 打开 Secrets Manager 控制台,网址为https://console.aws.amazon.com/secretsmanager/

  2. 在左侧导航窗格中,选择客户管理的密钥

  3. 客户管理的密钥页面上,选择您创建的密钥。

  4. 密钥详细信息页面上,导航到密钥策略,然后选择编辑

  5. 以下密钥策略声明允许使用ApplicationRole中的Account 2KMS密钥Account 1来解密中的密钥。Account 1要使用此语句,请将其添加到密钥的密KMS钥策略中。有关更多信息,请参阅更改密钥政策

    { { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::Account2:role/ApplicationRole" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" }
为账户 2 中的身份创建身份策略
  1. 打开IAM控制台,网址为https://console.aws.amazon.com/iam/

  2. 在左侧导航窗格的访问管理下,选择策略

  3. 选择 Create Policy (创建策略)JSON策略编辑器中选择。

  4. 以下策略允许用户Account 2访问ApplicationRole中的密钥Account 1并使用中的加密密钥来解密密密钥值。Account 1你可以在 Secrets ARN Manager 控制台的 “密钥详情” 页面的 “密钥” 下找到你的密钥的ARN。或者,你可以调用 d escribe-secret 来识别密钥。ARN将资源ARN替换ARN为密钥的资源,ARN然后Account 1。要使用此策略,请参阅将权限策略附加到 Amazon Secrets Manager 秘密

    { { "Version" : "2012-10-17", "Statement" : [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "SecretARN" }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Describekey" ], "Resource": "arn:aws:kms:Region:Account1:key/Your_Encryption_Key" } ] }
  5. 选择 “下一步”,然后选择 “保存更改”。

  6. 查找并选择您在Account 2中创建的角色Attach a resource policy to the secret in Account 1

  7. 在 “添加权限” 下,选择 “附加策略”。

  8. 在搜索栏中,找到您在中创建的策略,Add a statement to the key policy for the KMS key in Account 1然后选中将该策略添加到角色的复选框。然后选择 “添加权限”。

第 3 步。无缝加入你的 Linux 实例

现在,您可以使用以下步骤将您的 EC2 Linux 实例无缝加入您的共享实例 Amazon 托管微软 AD。

无缝加入你的 Linux 实例
  1. 登录 Amazon Web Services Management Console 然后打开亚马逊EC2控制台,网址为https://console.aws.amazon.com/ec2/

  2. 从导航栏的区域选择器中,选择相同的区域 Amazon Web Services 区域 作为现有目录。

  3. EC2控制面板启动实例部分,选择启动实例

  4. 启动实例页面的名称和标签部分下,输入您要用于 Linux EC2 实例的名称。

  5. (可选)选择 “添加其他标签” 以添加一个或多个标签键值对,以组织、跟踪或控制此EC2实例的访问权限。

  6. 在 “应用程序和操作系统映像(Amazon 系统映像)” 部分,选择AMI要启动的 Linux。

    注意

    二AMI手必须有 Amazon Systems Manager (SSM代理)版本 2.3.1644.0 或更高版本。要AMI通过从中启动实例来检查已安装的SSM代理版本AMI,请参阅获取当前安装的SSM代理版本。如果您需要升级SSM代理,请参阅在 Linux EC2 实例上安装和配置SSM代理

    SSM将 Linux 实例加入时使用该aws:domainJoin插件 Active Directory 域。该插件将 Linux 实例的主机名更改为 EC2AMAZ-XXXXXXX有关 aws:domainJoin 的更多信息,请参阅 。Amazon Systems Manager 命令文档插件参考Amazon Systems Manager 用户指南

  7. 实例类型部分,从实例类型下拉列表中选择要使用的实例类型。

  8. 密钥对(登录)部分,您可以选择创建新密钥对,或从现有密钥对中进行选择。要创建新的密钥对,请选择新建新密钥对。输入密钥对的名称,然后为密钥对类型私钥文件格式选择一个选项。要以可与 Open 一起使用的格式保存私钥SSH,请选择 .pem。要以可用于 Pu 的格式保存私钥TTY,请选择 .ppk。选择创建密钥对。您的浏览器会自动下载私有密钥文件。将私有密钥文件保存在安全位置。

    重要

    这是您保存私有密钥文件的唯一机会。

  9. 启动实例页面的网络设置部分下,选择编辑。从 “VPCVPC-必填” 下拉列表中选择创建目录时所在的。

  10. 从 “子网” 下拉列表VPC中选择您的一个公有子网。选择的子网必须将所有外部流量都路由到互联网网关。否则将无法远程连接到实例。

    有关如何连接互联网网关的更多信息,请参阅亚马逊VPC用户指南》中的使用互联网网关连接互联网。

  11. 自动分配公有 IP 下,选择启用

    有关公有和私有 IP 地址的更多信息,请参阅亚马逊EC2用户指南中的亚马逊EC2实例 IP 地址

  12. 对于防火墙(安全组)设置,您可以使用默认设置或进行更改以满足您的需求。

  13. 对于配置存储设置,您可以使用默认设置或进行更改以满足您的需求。

  14. 选择高级详细信息部分,从域加入目录下拉列表中选择您的域。

    注意

    选择域加入目录后,您可能会看到:

    选择您的域加入目录时出现错误消息。您的现有SSM文档存在错误。

    如果EC2启动向导识别出具有意外属性的现有SSM文档,则会出现此错误。您可以执行以下操作之一:

    • 如果您之前编辑了SSM文档并且属性符合预期,请选择关闭并继续启动EC2实例,而不做任何更改。

    • 选择 “在此处删除现有SSM文档” 链接以删除该SSM文档。这将允许创建具有正确属性的SSM文档。该SSM文档将在您启动EC2实例时自动创建。

  15. 对于配置IAM文件,请选择您之前在 “先决条件” 部分 “步骤 2:创建 Linux EC2DomainJoin 角色” 中创建的角色。IAM

  16. 选择启动实例

注意

如果您要使用 SUSE Linux 进行无缝域加入,则需要重新启动才能进行身份验证。要SUSE从 Linux 终端重新启动,请键入 sudo reboot