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

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

使用Amazon Directory Service 身份提供商

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

使用 Amazon Directory Service for Microsoft Active Directory

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

使用Amazon Managed Microsoft AD,您可以安全地允许Amazon Directory Service用户和群组通过 SFTP、FTPS 和 FTP 访问存储在亚马逊Simple Storage Service (Amazon S3) 或Amazon Elastic File System (Amazon EFS) 中的数据。如果您使用 Active Directory 存储用户的凭据,现在可以更轻松地为这些用户启用文件传输。

您可以访问 Ative Directory(Active DireAmazon ctory)连接器。Amazon Managed Microsoft AD你可以向已经在你的 Microsoft Windows 环境中配置的用户授予访问Amazon Managed Microsoft AD用于身份的Amazon Transfer Family服务器的权限,无论是在Amazon云端还是在本地网络中。

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

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

  • TTransfer Family y 不支持使用 AD Connector 可以访问 AD Connector 启用多重身份验证 (MFA)。

要使用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

为您的广告群提供唯一标识符

在使用之前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作为身份提供商,userPrincipalName并且SamAccountName具有不同的值,则Amazon Transfer Family接受中的值SamAccountName。TTransfer Family y 不接受中指定的值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 ServiceAPI 权限:操作、资源和条件参考

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

此部分介绍如何与服务器Amazon Directory Service for Microsoft Active Directory一起使用。

与 TransfTransAmazon Managed Microsoft AD fer Family 一起使用
  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. 在 “选择身份提供商” 中,选择 “AmazonDirectory Service”。

    
                        控制台屏幕截图显示 “选择身份提供商” 部分,已选择 “Directory Service”。
  5. 目录列表包含您配置的所有托管目录。从列表中选择目录,然后选择 Next(下一步)。

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

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

重要

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

向群授予访问权限

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

注意

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

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

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

向群授予访问权限
  1. 通过 https://console.aws.amazon.com/transfer/ 打开Amazon Transfer Family主机。

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

  3. 在 “访问权限” 部分中,选择 “添加访问权限”。

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

    注意

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

  5. 对于 A cces s,为群组选择一个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. 选择 Test(测试)。

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


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

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

"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

这种格式的目标是联盟的搜索,限制了对可能很大 Active Directory 的搜索。

注意

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

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

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

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

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

  • 对于子域,您可以使用以下任一方式:

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

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

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

将Amazon Directory Service 用于 Azure 活动目录域服务

  • 要利用现有的 Active Directory 林来满足 SFTP 传输需求,您可以使用 A ctive Directory 连接器

  • 如果你想在完全托管的服务中享受 Active Directory 和高可用性的好处,你可以使用Amazon Directory Service for Microsoft Active Directory。有关详细信息,请参阅使用Amazon Directory Service 身份提供商

本主题介绍如何使用 Azure Active Directory 连接器和 Azure Active Directory 域服务 (Azur e ADDS) 对 SFTP 传输用户进行身份验证。

在你开始使用 Azure AAmazon ctive Directory 域服务的Directory Service 之前

因为Amazon,你需要以下内容:

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

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

  • VPC 必须有互联网连接

  • 用于与 Microsoft Azure 进行 site-to-site VPN 连接的客户网关和虚拟专用网关

对于Microsoft Azure Azure,您需要满足

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

  • 一个 Azure 资源组

  • 一个 Azure 虚拟网络

  • Amazon VPC 和 Azure 资源组

    注意

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

  • 用于与 Microsoft Azure 进行 site-to-site VPN 连接的客户网关和虚拟专用网关

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

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

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

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

注意

启用 Azure ADDS 时,请确保将其配置为资源组和要连接的 SFTP 传输服务器的 Azure AD 域。

步骤 2:创建服务账户

Azure AD 必须有一个服务帐户,该帐户属于 Azure ADDS 中的管理员组。此帐户与 ActAmazon ive Directory 连接器一起使用。确保此帐户与 Azure ADDS 同步。

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

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

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

使用 AD Connector 设置您的Amazon目录
  1. 打开 “Directory Ser vice” 控制台并选择 “目录”。

  2. 选择 “设置目录”。

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

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

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

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

    • DNS IP 地址:输入你的 Azure 添加的 IP 地址。

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

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

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

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

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

注意

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

步骤 5:向群组授予访问权限

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

注意

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

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

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

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

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

Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * | Select SamAccountName,ObjectSid
向群授予访问权限
  1. 打开 https://console.aws.amazon.com/transfer/

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

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

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

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

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

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

来自传输服务器的详细信息应类似于以下内容:

步骤 6:测试用户

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