使用 Di Amazon rectory Service 身份提供商 - Amazon Transfer Family
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Di Amazon rectory Service 身份提供商

本主题介绍如何使用 Amazon Directory Service 身份提供商 Amazon Transfer Family。

使用 Amazon Directory Service for Microsoft Active Directory

您可以使用 Amazon Transfer Family 对文件传输的最终用户进行身份验证 Amazon Directory Service for Microsoft Active Directory。它可以无缝迁移依赖于活动目录身份验证的文件传输工作流程,而无需更改最终用户的凭证或需要自定义授权者。

使用 Amazon Managed Microsoft AD,您可以通过 SFTP、FTPS 和 FTP 安全地为 Amazon Directory Service 用户和群组提供对存储在亚马逊简单存储服务 (Amazon S3) 或亚马逊弹性文件系统 (Amazon EFS) 中的数据的访问权限。如果您使用活动目录来存储用户的凭证,则现在可以更轻松地为这些用户启用文件传输功能。

您可以使用 Active Directory 连接器在本地环境 Amazon Managed Microsoft AD 中或 Amazon 云端提供对 Active Directory 组的访问权限。你可以为已经在你的 Microsoft Windows 环境(无论是在 Amazon 云端还是在其本地网络中)中配置的用户提供访问 Amazon Managed Microsoft AD 用于身份的 Amazon Transfer Family 服务器的权限。

注意
  • Amazon Transfer Family 不支持 Simple AD。

  • Transfer Family 不支持跨区域活动目录配置:我们仅支持与 Transfer Family 服务器位于同一区域的活动目录集成。

  • Transfer Family 不支持使用 AD Connecto Amazon Managed Microsoft AD r 为现有的基于 RADIUS 的 MFA 基础设施启用多因素身份验证 (MFA)。

  • Amazon Transfer Family 不支持托管活动目录的复制区域。

要使用 Amazon Managed Microsoft AD,必须执行以下步骤:

  1. 使用 Amazon Directory Service 控制台创建一个或多个 Amazon Managed Microsoft AD 目录。

  2. 使用 Transfer Family 控制台创建 Amazon Managed Microsoft AD 用作其身份提供者的服务器。

  3. 添加来自一个或多个 Amazon Directory Service 群组的访问权限。

  4. 尽管不是必需的,但我们建议您测试和验证用户访问权限。

开始使用之前 Amazon Directory Service for Microsoft Active Directory

为您的 AD 组提供唯一标识符

在使用之前 Amazon Managed Microsoft AD,必须为 Microsoft AD 目录中的每个群组提供唯一标识符。您可以使用每个组的安全标识符 (SID) 来执行此操作。您关联的群组中的用户可以使用 Amazon Transfer Family 通过启用的协议访问您的 Amazon S3 或 Amazon EFS 资源。

使用以下 Windows PowerShell 命令检索组的 SID,YourGroupName替换为该组的名称。

Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * | Select SamAccountName,ObjectSid
注意

如果您使用 Amazon Directory Service 作为身份提供商,并且如果userPrincipalNameSamAccountName具有不同的值,则 Amazon Transfer Family 接受中的值SamAccountName。Transfer Family 不接受userPrincipalName中指定的值。

为您的角色添加 Amazon Directory Service 权限

您还需要 Amazon Directory Service API 权限才能 Amazon Directory Service 用作身份提供商。需要建议使用以下权限:

  • ds:DescribeDirectories是 Transfer Family 查找目录所必需的

  • ds:AuthorizeApplication是为 Transfer Family 添加授权所必需的

  • ds:UnauthorizeApplication是移除所有临时创建的资源,以防服务器创建过程中出现问题所建议的

将这些权限添加到您用于创建 Transfer Family 服务器的角色中。有关这些权限的更多详细信息,请参阅 Amazon Directory Service API 权限:操作、资源和条件参考

使用活动目录领域

在考虑如何让活动目录用户访问 Amazon Transfer Family 服务器时,请记住用户的领域及其组的领域。理想情况下,用户的领域和他们所在群组的领域应该匹配。也就是说,用户和组都在默认领域中,或者两者都位于可信领域。如果不是这样,Transfer Family 将无法对用户进行身份验证。

您可以测试用户以确保配置正确。有关更多信息,请参阅 测试用户。如果用户/组领域出现问题,则会收到错误 No associated access found for user's groups(未找到用户组的关联访问权限)。

选择 Amazon Managed Microsoft AD 作为您的身份提供商

本节介绍如何与服务器 Amazon Directory Service for Microsoft Active Directory 一起使用。

要与 Transfer Family Amazon Managed Microsoft AD 一起使用
  1. 登录 Amazon Web Services Management Console 并打开 Amazon Directory Service 控制台,网址为 https://console.aws.amazon.com/directoryservicev2/

    使用 Amazon Directory Service 控制台配置一个或多个托管目录。有关更多信息,请参阅《 Amazon Directory Service 管理员指南》中的 Amazon Managed Microsoft AD

    
                            Directory Service 控制台显示目录列表及其详细信息。
  2. 通过 https://console.aws.amazon.com/transfer/ 打开 Amazon Transfer Family 控制台,然后选择 “创建服务器”。

  3. 选择协议页面上,从列表中选择一个或多个协议。

    注意

    如果选择 FTPS,则必须提供 Amazon Certificate Manager 证书。

  4. 选择身份提供程序中,选择Amazon 目录服务

    
                        控制台屏幕截图显示“选择身份提供程序”部分,其中选择了“目录服务”。
  5. 目录列表包含您配置的所有托管目录。从列表中选择目录,然后选择下一步

    注意
  6. 要完成服务器的创建,请使用下列过程之一:

    在这些步骤中,继续执行选择身份提供程序之后的步骤。

重要

Amazon Directory Service 如果你在 Transfer Family 服务器中使用了 Microsoft AD 目录,则无法将其删除。必须先删除服务器,然后才能删除目录。

授予对组的访问权限

创建服务器后,您必须选择目录中哪些组应有权通过启用的协议使用上传和下载文件 Amazon Transfer Family。您可以通过创建访问权限来实现此目的。

注意

用户必须直接属于您授予访问权限的群组。例如,假设 Bob 是一个用户并且他属于 GroupA,而 GroupA 本身包含在 groupB 中。

  • 如果您向 GroupA 授予访问权限,Bob 就会被授予访问权限。

  • 如果您授予对 GroupB(而不是 GroupA)的访问权限,则 Bob 没有访问权限。

向组授予访问权限
  1. 打开 Amazon Transfer Family 控制台,网址为 https://console.aws.amazon.com/transfer/

  2. 导航到您的服务器详细信息页面。

  3. 访问权限部分中,选择添加访问权限

  4. 输入您想要访问此服务器的 Amazon Managed Microsoft AD 目录的 SID。

    注意

    有关如何查找组的 SID 的信息,请参阅开始使用之前 Amazon Directory Service for Microsoft Active Directory

  5. 对于访问权限,请为群组选择一个 Amazon Identity and Access Management (IAM) 角色。

  6. 策略部分,选择一个策略。默认设置为

  7. 对于主目录,选择与该组的主目录对应的 S3 存储桶。

    注意

    您可以通过创建会话策略来限制用户在存储桶中看到的部分。例如,要将用户限制在/filetest目录下他们自己的文件夹中,请在框中输入以下文本。

    /filetest/${transfer:UserName}

    要了解有关创建会话策略的更多信息,请参阅为 Amazon S3 存储桶创建会话策略

  8. 选择添加以创建关联。

  9. 请选择您的服务器。

  10. 选择添加访问权限

    1. 输入该组的 SID。

      注意
  11. 选择添加访问权限

访问权限部分中,列出了服务器的访问权限。


                    控制台显示“访问权限”部分,其中列出了服务器访问权限。

测试用户

您可以测试用户是否有权访问您的服务器的 Amazon Managed Microsoft AD 目录。

注意

用户必须正好属于端点配置页面的访问权限部分中列出的一个组(外部 ID)。如果用户不属于任何群组,或者属于多个群组,则不会向该用户授予访问权限。

测试特定用户是否具有访问权限
  1. 在服务器详细信息页面上,选择操作,然后选择测试

  2. 要进行身份提供程序测试,请输入其中一个具有访问权限的群组中的用户的登录凭证。

  3. 选择测试

您会看到身份提供程序测试成功,显示所选用户已被授予服务器访问权限。


                成功的身份提供程序测试响应的控制台屏幕截图。

如果用户属于多个具有访问权限的群组,则您会收到以下响应。

"Response":"", "StatusCode":200, "Message":"More than one associated access found for user's groups."

删除群组的服务器访问权限

删除群组的服务器访问权限
  1. 在服务器详细信息页面上,选择操作,然后选择删除访问权限

  2. 在对话框中,确认您要移除该组的访问权限。

返回到服务器详细信息页面时,您会看到不再列出该组的访问权限。

使用 SSH(安全外壳)连接到服务器

配置服务器和用户后,您可以使用 SSH 连接到服务器,并使用具有访问权限的用户的完全限定用户名。

sftp user@active-directory-domain@vpc-endpoint

例如:transferuserexample@mycompany.com@vpce-0123456abcdef-789xyz.vpc-svc-987654zyxabc.us-east-1.vpce.amazonaws.com

此格式以联合身份验证搜索为目标,限制了对可能很大的活动目录的搜索。

注意

您可以指定简单的用户名。但是,在这种情况下,活动目录代码必须搜索联合身份验证中的所有目录。这可能会限制搜索,即使用户本应具有访问权限,身份验证也可能失败。

身份验证后,用户位于在配置用户时指定的主目录中。

使用林和 Amazon Transfer Family 信任连接到自我管理的 Active Directory

您自行管理的 Active Directory (AD) 中的用户也可以使用 Amazon IAM Identity Center 单点登录访问 Amazon Web Services 账户 和 Transfer Family 服务器。为此, Amazon Directory Service 有以下选项可用:

  • 单向林信任(来自本地 Active Directory 的传出 Amazon Managed Microsoft AD 和传入)仅适用于根域。

  • 对于子域,您可以使用以下方法之一:

    • 在 Amazon Managed Microsoft AD 和本地活动目录之间使用双向信任

    • 对每个子域使用单向外部信任。

例如,当使用可信域连接到服务器时,用户需要指定可信域,例如transferuserexample@mycompany.com

使用 Amazon Azure 活动目录域服务的目录服务

本主题介绍如何使用 Active Directory Connector 和 Azure 活动目录域服务 (Azure ADDS) 通过 Azure Active Directory 对 SFTP 传输用户进行身份验证。

开始使用适用于 Azure 的 Amazon 目录服务之前 Active Directory 域服务

对于 Amazon,你需要以下内容:

  • 位于您使用 Transfer Family 服务器的 Amazon 区域中的虚拟私有云 (VPC)

  • 您的 VPC 中至少有两个私有子网

  • VPC 必须具备互联网连接

  • 用于连接微软 Azure 的 site-to-site VPN 的客户网关和虚拟专用网关

对于微软 Azure,您需要:

  • Azure 活动目录和活动目录域服务(Azure ADDS)

  • 一个 Azure 资源组

  • Azure 虚拟网络

  • Amazon VPC 和 Azure 资源组之间的 VPN 连接

    注意

    这可以通过本地 IPSEC 隧道或使用 VPN 设备实现。在本主题中,我们使用 Azure 虚拟网络网关和本地网络网关之间的 IPSEC 隧道。必须将隧道配置为允许 Azure ADDS 端点与存放 Amazon VPC 的子网之间的流量。

  • 用于连接微软 Azure 的 site-to-site VPN 的客户网关和虚拟专用网关

下图显示了在开始之前所需的配置。


                    Azure 广告和 Amazon Transfer Family 架构图。使用连接到 Azure AD 域服务的 Amazon 目录服务连接器,通过互联网连接到 Azure 虚拟网络的 Amazon VPC。

步骤 1:添加 Azure 活动目录域服务

默认情况下,Azure AD 不支持域加入实例。要执行诸如加入域之类的操作以及使用组策略等工具,管理员必须启用 Azure Active Directory 域服务。如果您尚未添加 Azure AD DS,或者现有实现与您希望 SFTP 传输服务器使用的域没有关联,则必须添加一个新实例。

有关启用 Azure 活动目录域服务(Azure ADDS)的信息,请参阅教程:创建和配置 Azure 活动目录域服务托管域

注意

启用 Azure ADDS 时,请确保已针对资源组和 SFTP 传输服务器连接的 Azure AD 域进行了配置。


                    Azure AD 域服务屏幕显示资源组 bob.us 正在运行。

步骤 2:创建服务账号

Azure AD 必须有一个服务账户,该账户必须是 Azure ADDS 中管理员组的一部分。此帐户与 Act Amazon ive Directory 连接器一起使用。确保此账户与 Azure ADDS 同步。


                    显示用户个人资料的 Azure AD 屏幕。
提示

使用 SFTP 协议的 Transfer Family 服务器不支持 Azure Active Directory 的多重身份验证。在用户向 SFTP 进行身份验证后,Transfer Family 服务器无法提供 MFA 令牌。在尝试连接之前,请务必禁用 MFA。


                        Azure AD 多重身份验证详细信息,显示两个用户的 MFA 状态为已禁用。

步骤 3:使用 AD Connector 设置 Amazon 目录

在配置了 Azure ADDS 并创建了在 VPC 和 Azure 虚拟网络之间具有 IPSE Amazon C VPN 隧道的服务帐户后,你可以通过从任何 Amazon EC2 实例执行 ping Azure ADDS DNS IP 地址来测试连接。

在您确认连接处于活动状态后,您可以继续执行以下操作。

使用 AD Connector 设置您的 Amazon 目录
  1. 打开 Directory Service 控制台并选择目录

  2. 选择设置目录

  3. 对于目录类型,请选择 AD Connector

  4. 选择目录大小,选择下一步,然后选择您的 VPC 和子网。

  5. 选择 下一步,然后如下所示填写各字段:

    • 目录 DNS 名称:输入您用于 Azure ADDS 的域名。

    • DNS IP 地址:输入 Azure ADDS IP 地址。

    • 服务器账户用户名密码:输入您在步骤 2:创建服务账户中创建的服务账户的详细信息。

  6. 完成屏幕内容以创建目录服务。

现在,目录状态应为活动,并且可以与 SFTP 传输服务器一起使用了。


                    目录服务屏幕根据需要显示一个状态为 “活动” 的目录。

步骤 4:设置 Amazon Transfer Family 服务器

使用 SFTP 协议和 Amazon Directory Service 身份提供程序类型创建 Transfer Family 服务器。从目录下拉列表中,选择您在步骤 3:使用 AD Connector 设置 Amazon 目录中添加的目录。

注意

如果你在 Transfer Family 服务器中使用了 Microsoft AD Amazon 目录,则无法将其删除。必须先删除服务器,然后才能删除目录。

步骤 5:授予对组的访问权限

创建服务器后,您必须选择目录中哪些组应有权通过启用的协议使用上传和下载文件 Amazon Transfer Family。您可以通过创建访问权限来实现此目的。

注意

用户必须直接属于您授予访问权限的群组。例如,假设 Bob 是一个用户并且他属于 GroupA,而 GroupA 本身包含在 groupB 中。

  • 如果您向 GroupA 授予访问权限,Bob 就会被授予访问权限。

  • 如果您授予对 GroupB(而不是 GroupA)的访问权限,则 Bob 没有访问权限。

要授予访问权限,您需要检索该组的 SID。

使用以下 Windows PowerShell 命令检索组的 SID,YourGroupName替换为该组的名称。

Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * | Select SamAccountName,ObjectSid

                    Windows  PowerShell  显示正在检索对象 SID。
授予对组的访问权限
  1. 打开 https://console.aws.amazon.com/transfer/

  2. 导航到您的服务器详细信息页面,然后在访问权限部分中,选择添加访问权限

  3. 输入您从上一个过程的输出中收到的 SID。

  4. 在 “访问权限” 中,为群组选择一个 Amazon Identity and Access Management 角色。

  5. 策略部分,选择一个策略。默认值为 None(无)。

  6. 对于主目录,选择与该组的主目录对应的 S3 存储桶。

  7. 选择添加以创建关联。

您的 Transfer 服务器中的详细信息应类似于以下内容:


                    Transfer Family 服务器详细信息屏幕的一部分,显示了身份提供者的目录 ID 示例。

                    Transfer Family 服务器详细信息屏幕的一部分,在屏幕的访问部分显示活动目录的外部 ID。

步骤 6:测试用户

您可以测试 (测试用户) 用户是否有权访问您的服务器的 Amazon Managed Microsoft AD 目录。用户必须正好属于端点配置页面的访问权限部分中列出的一个组(外部 ID)。如果用户不属于任何群组,或者属于多个群组,则不会向该用户授予访问权限。