从 CLI 和控制台与多个账户共享 AWS Managed AD
在 AWS 账户中创建托管 AD 后,您可以与其他账户共享此 AD。
当您在需要与其他工作负载账户共享的共享服务账户中拥有 AWS Managed Active Directory 时,这是一个常见用例。
以下几点需要牢记:
- 只能在托管 AD 所在的同一区域内共享到另一个帐户
- 共享目录将对工作负载账户中的所有 VPC 可见
- 工作负载帐户上的共享目录将获得一个与共享服务帐户中的原始目录 ID 不同的目录 ID。
- 如果托管 AD 目录位于启用了组织的帐户中,则您还可以选择与组织内的所有帐户或与特定帐户共享它
本教程涵盖以下示例:
- 共享托管广告 – AWS CLI
- 查看当前的托管 AD 份额 – AWS CLI
- 接受目录共享 – AWS CLI
- 取消共享目录 – AWS CLI
- 拒绝共享 – AWS CLI
- 共享托管 AD – AWS Console
- 接受或拒绝目录共享 – AWS Console
- 取消共享目录 – AWS Console
1. 共享托管广告 – AWS CLI
首先,设置源目录 ID 和目标 AWS 工作负载帐号。
DIRECTORY_ID=d-123abc4567
WORKLOAD_ACCOUNT=222222222222
执行以下命令将目录共享给工作负载帐户。使用共享服务帐户凭据执行此命令。
aws ds share-directory --directory-id ${DIRECTORY_ID} \
--share-notes "AD Directory for workload accounts" \
--share-target "Id=${WORKLOAD_ACCOUNT},Type=ACCOUNT" \
--share-method HANDSHAKE
要在执行 CLI 命令之前正确设置您的 aws 配置文件,请参阅:15 AWS 配置命令示例以管理 CLI 的多个在上面的例子中:
- DIRECTORY_ID – 这是共享服务帐户中的托管 AD 目录 ID
- WORKLOAD_ACCOUNT – 这是您共享托管 AD 的工作负载账户的 AWS 帐号
- share-method – 由于我们专门与另一个帐户共享,因此使用 HANDSHAKE 作为方法
以下是上述命令的输出,其中显示了共享目录 id。
{
“SharedDirectoryId”:“d-444efg5555”
}
2. 查看当前托管的 AD 共享 – AWS CLI
共享目录后,您可以查看共享的当前状态,还可以获取所有现有共享的列表,如下所示。
DIRECTORY_ID=d-123abc4567
aws ds describe-shared-directories \
--owner-directory-id ${DIRECTORY_ID}
以下是示例输出:
{
"SharedDirectories": [
{
"OwnerDirectoryId": "d-123abc4567",
"ShareNotes": "AD Directory for workload accounts",
"ShareMethod": "HANDSHAKE",
"CreatedDateTime": 1558566663.171,
"SharedAccountId": "222222222222",
"SharedDirectoryId": "d-444efg5555",
"ShareStatus": "PendingAcceptance",
"OwnerAccountId": "111111111111",
"LastUpdatedDateTime": 1558566663.171
}
]
}
注意:在上述输出中,ShareStatus 为 PendingAcceptance。一旦工作负载帐户接受共享请求,这将更改为“共享”。
3. 接受目录共享 – AWS CLI
使用工作负载帐户凭据接受目录共享,如下所示。
aws ds accept-shared-directory \
--shared-directory-id d-444efg5555
在上面的示例中,d-444efg5555 是共享目录 ID(不是共享服务帐户中托管 AD 的目录 ID)。
获取共享目录ID的几种方法:
- 您将获得此 CLI 的输出:aws ds share-directory
- 登录到工作负载帐户,并从控制台获取目录 ID
- 在工作负载帐户上使用 aws ds describe-shared-directories 来获取此 ID
4. 取消共享目录 – AWS CLI
首先,设置源目录 ID 和目标 AWS 工作负载帐号。
DIRECTORY_ID=d-123abc4567
WORKLOAD_ACCOUNT=222222222222
执行以下命令将目录共享给工作负载帐户。使用共享服务帐户凭据执行此命令。
aws ds unshare-directory --directory-id ${DIRECTORY_ID} \
--unshare-target "Id=${WORKLOAD_ACCOUNT},Type=ACCOUNT"
5. 拒绝共享 – AWS CLI
使用工作负载帐户凭据拒绝目录共享,如下所示。
aws ds reject-shared-directory \
--shared-directory-id d-444efg5555
在上面的示例中,d-444efg5555 是共享目录 ID(不是共享服务帐户中托管 AD 的目录 ID)。
6. 共享托管 AD – AWS 控制台
登录到托管 AD 所在的共享服务帐户。
转到目录服务 -> 目录 -> 单击目录 ID d-123abc4567 - 在“目录详细信息”下方,单击“缩放和共享”选项卡。
从操作菜单中,单击“创建新的共享目录”:
- 在“选择要与之共享的 AWS 账户”部分中,选择“与其他 AWS 账户共享此目录”
- 输入工作负载帐号并单击添加
- 在“发送注释”部分中,输入工作负载帐户将看到的消息。这是个可选的选项。
- 点击“分享”
7. 接受或拒绝目录共享 – AWS 控制台
登录到工作负载账户 AWS 控制台。
转到目录服务 -> 与我共享的目录。
在顶部,您将看到以下消息:
您有一个待处理的邀请,以使用由另一个 AWS 账户托管的共享目录。另一个 AWS 账户的管理员邀请您访问他们的 AWS Managed Microsoft AD 目录。
选择这个目录——点击Review——点击“Accept”(或)点击“Reject”
8. 取消共享目录 – AWS 控制台
登录到托管 AD 所在的共享服务帐户。
转到目录服务 -> 目录 -> 单击目录 ID d-123abc4567 - 在“目录详细信息”下方,单击“缩放和共享”选项卡。
从操作菜单中,单击“取消共享目录” - 单击“取消共享”
- 点赞
- 收藏
- 关注作者
评论(0)