本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 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 到 3,教程:共享您的 Amazon 托管 Microsoft AD 目录以实现无缝加入 EC2 域名。本教程将引导您完成网络设置和共享您的网络的过程 Amazon 托管微软 AD。
第 1 步。在账户 2 中创建 Linux EC2DomainJoin 角色
在此步骤中,您将使用IAM控制台创建用于在登录时加入您的 EC2 Linux 实例的域名的IAM角色Account
2
。
创建 Linux EC2DomainJoin 角色
打开IAM控制台,网址为https://console.aws.amazon.com/iam/
。 -
在左侧导航窗格的 “访问管理” 下,选择 “角色”。
-
在 Roles(角色)页面上,选择 Create role(创建角色)。
-
在 “选择可信实体类型” 下,选择 Amazon 服务。
-
在 “用例” 下,选择 EC2,然后选择 “下一步”
-
对于筛选策略,执行以下操作:
-
输入
AmazonSSMManagedInstanceCore
。然后在列表中选中该项目的复选框。 -
输入
AmazonSSMDirectoryServiceAccess
。然后在列表中选中该项目的复选框。 -
添加这些策略后,选择创建角色。
注意
AmazonSSMDirectoryServiceAccess
提供将实例加入的权限 Active Directory 由 Amazon Directory Service。AmazonSSMManagedInstanceCore
提供使用所需的最低权限 Amazon Systems Manager。 有关创建具有这些权限的角色的更多信息,以及有关可以分配给IAM角色的其他权限和策略的信息,请参阅中配置 Systems Manager 所需的实例权限 Amazon Systems Manager 用户指南。
-
-
在角色名称字段中输入新角色的名称,例如
LinuxEC2DomainJoin
或其他您喜欢的名称。 -
(可选)在角色描述中,输入描述。
-
(可选)在步骤 3:添加标签下选择添加新标签以添加标签。标签键值对用于组织、跟踪或控制此角色的访问权限。
-
选择 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 定价aws/secretsmanager
Secrets Manager 创建的用来免费加密你的秘密。如果您创建自己的KMS密钥来加密您的机密, Amazon 按当前向你收费 Amazon KMS费率。有关更多信息,请参阅 Amazon Key Management Service 定价
以下步骤允许您创建资源策略,使用户能够将 EC2 Linux 实例无缝加入共享实例 Amazon 托管微软 AD。
将资源策略附加到账户 1 中的密钥
打开 Secrets Manager 控制台,网址为https://console.aws.amazon.com/secretsmanager/
。 -
从密钥列表中,选择您在密钥中创建的密钥先决条件。
-
在密钥的详细信息页面的概述选项卡下,向下滚动到资源权限。
-
选择 “编辑权限”。
-
在策略字段中,输入以下策略。以下策略允许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密钥策略添加声明
打开 Secrets Manager 控制台,网址为https://console.aws.amazon.com/secretsmanager/
。 -
在左侧导航窗格中,选择客户管理的密钥。
-
在客户管理的密钥页面上,选择您创建的密钥。
-
在密钥详细信息页面上,导航到密钥策略,然后选择编辑。
-
以下密钥策略声明允许使用
ApplicationRole
中的Account 2
KMS密钥Account 1
来解密中的密钥。Account 1
要使用此语句,请将其添加到密钥的密KMS钥策略中。有关更多信息,请参阅更改密钥政策。{ { "Effect": "Allow", "Principal": { "AWS": "
arn:aws:iam::Account2:role/ApplicationRole
" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" }
为账户 2 中的身份创建身份策略
打开IAM控制台,网址为https://console.aws.amazon.com/iam/
。 -
在左侧导航窗格的访问管理下,选择策略。
-
选择 Create Policy (创建策略)。JSON在策略编辑器中选择。
-
以下策略允许用户
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
" } ] } -
选择 “下一步”,然后选择 “保存更改”。
-
查找并选择您在
Account 2
中创建的角色Attach a resource policy to the secret in Account 1。 -
在 “添加权限” 下,选择 “附加策略”。
-
在搜索栏中,找到您在中创建的策略,Add a statement to the key policy for the KMS key in Account 1然后选中将该策略添加到角色的复选框。然后选择 “添加权限”。
第 3 步。无缝加入你的 Linux 实例
现在,您可以使用以下步骤将您的 EC2 Linux 实例无缝加入您的共享实例 Amazon 托管微软 AD。
无缝加入你的 Linux 实例
-
登录 Amazon Web Services Management Console 然后打开亚马逊EC2控制台,网址为https://console.aws.amazon.com/ec2/
。 -
从导航栏的区域选择器中,选择相同的区域 Amazon Web Services 区域 作为现有目录。
-
在EC2控制面板的启动实例部分,选择启动实例。
-
在启动实例页面的名称和标签部分下,输入您要用于 Linux EC2 实例的名称。
(可选)选择 “添加其他标签” 以添加一个或多个标签键值对,以组织、跟踪或控制此EC2实例的访问权限。
-
在 “应用程序和操作系统映像(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 用户指南。 -
在实例类型部分,从实例类型下拉列表中选择要使用的实例类型。
-
在密钥对(登录)部分,您可以选择创建新密钥对,或从现有密钥对中进行选择。要创建新的密钥对,请选择新建新密钥对。输入密钥对的名称,然后为密钥对类型和私钥文件格式选择一个选项。要以可与 Open 一起使用的格式保存私钥SSH,请选择 .pem。要以可用于 Pu 的格式保存私钥TTY,请选择 .ppk。选择创建密钥对。您的浏览器会自动下载私有密钥文件。将私有密钥文件保存在安全位置。
重要
这是您保存私有密钥文件的唯一机会。
-
在启动实例页面的网络设置部分下,选择编辑。从 “VPCVPC-必填” 下拉列表中选择创建目录时所在的。
-
从 “子网” 下拉列表VPC中选择您的一个公有子网。选择的子网必须将所有外部流量都路由到互联网网关。否则将无法远程连接到实例。
有关如何连接互联网网关的更多信息,请参阅《亚马逊VPC用户指南》中的使用互联网网关连接互联网。
-
在自动分配公有 IP 下,选择启用。
有关公有和私有 IP 地址的更多信息,请参阅亚马逊EC2用户指南中的亚马逊EC2实例 IP 地址。
-
对于防火墙(安全组)设置,您可以使用默认设置或进行更改以满足您的需求。
-
对于配置存储设置,您可以使用默认设置或进行更改以满足您的需求。
-
选择高级详细信息部分,从域加入目录下拉列表中选择您的域。
注意
选择域加入目录后,您可能会看到:
如果EC2启动向导识别出具有意外属性的现有SSM文档,则会出现此错误。您可以执行以下操作之一:
如果您之前编辑了SSM文档并且属性符合预期,请选择关闭并继续启动EC2实例,而不做任何更改。
选择 “在此处删除现有SSM文档” 链接以删除该SSM文档。这将允许创建具有正确属性的SSM文档。该SSM文档将在您启动EC2实例时自动创建。
-
对于配置IAM文件,请选择您之前在 “先决条件” 部分 “步骤 2:创建 Linux EC2DomainJoin 角色” 中创建的角色。IAM
-
选择启动实例。
注意
如果您要使用 SUSE Linux 进行无缝域加入,则需要重新启动才能进行身份验证。要SUSE从 Linux 终端重新启动,请键入 sudo reboot。