本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 AWS 微软活动目录的目录服务
您可以使用 AWS Transfer Family 对文件传输的最终用户进行身份验证 AWS Directory Service for Microsoft Active Directory。它可以无缝迁移依赖于活动目录身份验证的文件传输工作流程,而无需更改最终用户的凭证或需要自定义授权者。
借助 AWS Managed Microsoft AD,您可以安全地为 Directory Service 用户和群组提供通过 SFTP、FTPS 和 FTP 访问存储在亚马逊简单存储服务 (Amazon S3) 或亚马逊弹性文件系统 (亚马逊 EFS) 中的数据的权限。如果您使用活动目录来存储用户的凭证,则现在可以更轻松地为这些用户启用文件传输功能。
您可以使用 Active Directory 连接器为本地环境或 AWS 云中的活动目录群组提供访问权限。 AWS Managed Microsoft AD 你可以向已经在你的微软 Windows 环境( AWS 云端或本地网络)中进行配置的用户提供访问 AWS Managed Microsoft AD 用于身份验证的 AWS Transfer Family 服务器的访问权限。 AWS 存储博客包含一篇文章,详细介绍了将Active Directory与Transfer Family一起使用的解决方案:使用自定义身份提供商简化Active Directory身份验证 AWS Transfer Family
注意
-
AWS Transfer Family 不支持简单广告。
-
Transfer Family 不支持跨区域活动目录配置:我们仅支持与 Transfer Family 服务器位于同一区域的活动目录集成。
-
Transfer Family 不支持使用两者 AWS Managed Microsoft AD 或 AD 连接器为现有 MFA 基础设施启用多重身份验证 ( RADIUS-based MFA)。
-
AWS Transfer Family 不支持托管活动目录的复制区域。
要使用 AWS Managed Microsoft AD,必须执行以下步骤:
-
使用 Directory Service 控制台创建一个或多个 AWS Managed Microsoft AD 目录。
-
使用 Transfer Family 控制台创建用 AWS Managed Microsoft AD 作其身份提供商的服务器。
-
使用 AWS Active Directory 连接器设置目录。
-
添加来自一个或多个 Directory Service 群组的访问权限。
-
尽管不是必需的,但我们建议您测试和验证用户访问权限。
主题
在你开始使用之前 AWS Directory Service for Microsoft Active Directory
注意
AWS Transfer Family 每台服务器的默认限制为 100 个活动目录组。如果您的用例需要超过 100 个群组,请考虑使用自定义身份提供商简化 Active Directory 身份验证中所述的自定义身份提供商解决方案 AWS Transfer Family
为您的 AD 组提供唯一标识符
在使用之前 AWS Managed Microsoft AD,必须为 Microsoft AD 目录中的每个组提供唯一标识符。您可以使用每个组的安全标识符 (SID) 来执行此操作。您关联的群组中的用户可以使用 T AWS ransfer Family 通过启用的协议访问您的 Amazon S3 或 Amazon EFS 资源。
使用以下 Windows PowerShell 命令检索组的 SID,YourGroupName替换为该组的名称。
Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * | Select SamAccountName,ObjectSid
注意
如果您使用 AWS Directory Service 作为身份提供商,并且如果userPrincipalName和SamAccountName具有不同的值,则 AWS Transfer Family 接受中的值SamAccountName。Transfer Family 不接受 userPrincipalName 中指定的值。
添加 Directory Service 您角色的权限
您还需要 Directory Service API 权限才能用 AWS Directory Service 作身份提供商。需要建议使用以下权限:
-
ds:DescribeDirectories是 Transfer Family 查找目录所必需的 -
ds:AuthorizeApplication是为 Transfer Family 添加授权所必需的 -
ds:UnauthorizeApplication是移除所有临时创建的资源,以防服务器创建过程中出现问题所建议的
将这些权限添加到您用于创建 Transfer Family 服务器的角色中。有关这些权限的更多详细信息,请参阅 Directory Service API 权限:操作、资源和条件参考。
使用活动目录领域
在考虑如何让活动目录用户访问 AWS Transfer Family 服务器时,请记住用户的领域及其组的领域。理想情况下,用户的领域和他们所在群组的领域应该匹配。也就是说,用户和组都在默认领域中,或者两者都位于可信领域。如果不是这样,Transfer Family 将无法对用户进行身份验证。
您可以测试用户以确保配置正确。有关更多信息,请参阅 测试用户。如果 user/group 领域出现问题,您会收到错误消息,“找不到用户群组的关联访问权限” 。
选择 AWS Managed Microsoft AD 作为您的身份提供商
本节介绍如何与服务器 AWS Directory Service for Microsoft Active Directory 一起使用。
要将 AWS Managed Microsoft AD 和转账家庭一起
登录 AWS 管理控制台 并打开 Directory Service 控制台,地址为https://console.aws.amazon.com/directoryservicev2/
。 使用 Directory Service 控制台配置一个或多个托管目录。有关更多信息,请参阅《 Directory Service 管理员指南》中的 AWS Managed Microsoft AD。
-
在处打开 AWS Transfer Family 控制台 https://console.aws.amazon.com/transfer/
,然后选择创建服务器。 -
在选择协议页面上,从列表中选择一个或多个协议。
注意
如果选择 FTPS,则必须提供 AWS Certificate Manager 证书。
-
在选择身份提供程序中,选择 AWS 目录服务。
-
目录列表包含您配置的所有托管目录。从列表中选择目录,然后选择下一步。
注意
-
Cross-Account 和不支持共享目录 AWS Managed Microsoft AD。
-
要设置使用目录服务作为身份提供商的服务器,您需要添加一些 Directory Service 权限。有关更多信息,请参阅 在你开始使用之前 AWS Directory Service for Microsoft Active Directory。
-
-
要完成服务器的创建,请使用下列过程之一:
在这些步骤中,继续执行选择身份提供程序之后的步骤。
重要
Directory Service 如果您在 Transfer Family 服务器中使用了中的微软 AD 目录,则无法将其删除。必须先删除服务器,然后才能删除目录。
连接到本地微软 Active Directory
本节介绍如何使用 AD 连接器设置 AWS 目录
要设置你的 AWS 使用 AD 连接器的目录
-
打开 Directory Service
控制台并选择目录。 -
选择设置目录。
-
对于目录类型,请选择 AD Connector。
-
选择目录大小,选择下一步,然后选择您的 VPC 和子网。
-
选择 下一步,然后如下所示填写各字段:
-
目录 DNS 名称:输入你用于微软 Active Directory 的域名。
-
DNS IP 地址:输入你的微软 Active Directory IP 地址。
-
服务器帐户用户名和密码:输入要使用的服务帐号的详细信息。
-
-
完成屏幕内容以创建目录服务。
下一步是使用 SFTP 协议和身份提供商类型的 “AWS 目录服务” 创建传输系列服务器。从目录下拉列表中,选择您在前面的过程中添加的目录。
授予对组的访问权限
创建服务器后,必须使用选择目录中的哪些组有权通过启用的协议上传和下载文件 AWS Transfer Family。您可以通过创建访问权限来实现此目的。
注意
AWS Transfer Family 每台服务器的默认限制为 100 个活动目录组。如果您的用例需要超过 100 个群组,请考虑使用自定义身份提供商简化 Active Directory 身份验证中所述的自定义身份提供商解决方案 AWS Transfer Family
注意
用户必须直接属于您授予访问权限的群组。例如,假设 Bob 是一个用户并且属于组 A,而组 A 本身也包含在组 B 中。
-
如果您向 GroupA 授予访问权限,Bob 就会被授予访问权限。
-
如果您授予对 GroupB(而不是 GroupA)的访问权限,则 Bob 没有访问权限。
向组授予访问权限
-
在处打开 AWS Transfer Family 控制台https://console.aws.amazon.com/transfer/
。 -
导航到您的服务器详细信息页面。
-
在访问权限部分中,选择添加访问权限。
-
输入您想要访问此服务器的 AWS Managed Microsoft AD 目录的 SID。
注意
有关如何查找组的 SID 的信息,请参阅 在你开始使用之前 AWS Directory Service for Microsoft Active Directory。
-
对于访问权限,请为群组选择 AWS Identity and Access Management (IAM) 角色。
-
在策略部分,选择一个策略。默认设置为无。
-
对于主目录,选择与群组主目录对应的 Amazon S3 存储桶。
注意
您可以通过创建会话策略来限制用户在存储桶中看到的部分。例如,要将用户限制在
/filetest目录下他们自己的文件夹中,请在框中输入以下文本。/filetest/${transfer:UserName}要了解有关创建会话策略的更多信息,请参阅 为 Amazon S3 存储桶创建会话策略。
-
选择添加以创建关联。
-
请选择您的服务器。
-
选择添加访问权限。
-
输入该组的 SID。
注意
有关如何查找 SID 的信息,请参阅 在你开始使用之前 AWS Directory Service for Microsoft Active Directory。
-
-
选择添加访问权限。
在访问权限部分中,列出了服务器的访问权限。
测试用户
您可以测试用户是否有权访问服务器的 AWS Managed Microsoft AD 目录。
注意
用户必须正好属于端点配置页面的访问权限部分中列出的一个组(外部 ID)。如果用户不属于任何群组,或者属于多个群组,则不会向该用户授予访问权限。
测试特定用户是否具有访问权限
-
在服务器详细信息页面上,选择操作,然后选择测试。
-
要进行身份提供程序测试,请输入其中一个具有访问权限的群组中的用户的登录凭证。
-
选择测试。
您会看到身份提供程序测试成功,显示所选用户已被授予服务器访问权限。
如果用户属于多个具有访问权限的群组,则您会收到以下响应。
"Response":"", "StatusCode":200, "Message":"More than one associated access found for user's groups."
删除群组的服务器访问权限
删除群组的服务器访问权限
-
在服务器详细信息页面上,选择操作,然后选择删除访问权限。
-
在对话框中,确认您要移除该组的访问权限。
返回到服务器详细信息页面时,您会看到不再列出该组的访问权限。
使用 SSH(安全外壳)连接到服务器
配置服务器和用户后,您可以使用 SSH 连接到服务器,并使用具有访问权限的用户的完全限定用户名。
sftpuser@active-directory-domain@vpc-endpoint
例如:transferuserexample@mycompany.com@vpce-0123456abcdef-789xyz.vpc-svc-987654zyxabc.us-east-1.vpce.amazonaws.com。
此格式以联合身份验证搜索为目标,限制了对可能很大的活动目录的搜索。
注意
您可以指定简单的用户名。但是,在这种情况下,活动目录代码必须搜索联合身份验证中的所有目录。这可能会限制搜索,即使用户本应具有访问权限,身份验证也可能失败。
身份验证后,用户位于在配置用户时指定的主目录中。
连接 AWS Transfer Family 使用森林和信任到自行管理的 Active Directory
Directory Service 有以下选项可用于连接到自管理的 Active Directory:
-
One-way 森林信任(来自本地 Active Directory 的传出 AWS Managed Microsoft AD 和传入)仅适用于根域。
-
对于子域,您可以使用以下方法之一:
-
在内部 AWS Managed Microsoft AD 和本地 Active Directory
-
对每个子域使用单向外部信任。
-
例如,当使用可信域连接到服务器时,用户需要指定可信域,例如 transferuserexample@。mycompany.com