跨 Amazon 账户复制 EFS 文件系统 - Amazon Elastic File System
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

跨 Amazon 账户复制 EFS 文件系统

您可以跨 Amazon Web Services 账户复制 EFS 文件系统。跨账户复制可增强灾难恢复(DR)策略的整体弹性和可靠性,并且可以帮助您满足公司的合规要求。

例如,合规策略可能要求您在不同的环境 [例如生产、暂存和灾难恢复(DR)] 中使用不同的账户。或者,您可能会发现,跨不同的复制可以 Amazon Web Services 账户 提供更强的隔离、对权限和访问策略的更精细的控制,以及更直接的资源审计。如果生产账户遭到入侵(例如出现安全漏洞、配置错误或内部威胁),则将灾难恢复服务器放在单独的账户中可以防止攻击者访问它们,缩小安全事件的爆炸半径,并大幅降低发生未经授权更改的风险。

跨复制 Amazon Web Services 账户 需要额外的安全设置和策略设置。您必须创建使 Amazon EFS 有权在目标账户中执行复制操作的 IAM 角色,而不是使用服务相关角色来执行跨账户复制。您还需要在要跨账户共享的文件系统上创建策略。创建 IAM 角色和文件系统策略后,可以创建复制配置。

创建具有自定义信任策略的 IAM 角色

为了让 Amazon EFS 能够代表源账户执行跨账户复制,必须在源账户上创建 IAM 角色。该角色必须拥有 elasticfilesystem.amazonaws.com 信任策略,以支持 Amazon EFS 代入该角色并充当服务主体。该角色必须包含执行复制所需的全部 IAM 权限(请参阅所需的 IAM 权限),并授予向目标账户中文件系统进行复制的显式权限。

先决条件

您必须在复制配置中同时创建源文件系统和目标文件系统,然后才能为源账户创建 IAM 角色。在复制过程中,Amazon EFS 无法为您创建目标文件系统。此外,您还必须知道并提供每个文件系统的 Amazon 资源名称(ARN)。

创建 IAM 角色来进行跨账户复制

以下是使用自定义信任策略创建用于执行 Amazon EFS 跨账户复制的 IAM 角色的一般步骤。有关创建 IAM 角色的 step-by-step说明,请参阅Amazon Identity and Access Management 用户指南中的使用自定义信任策略创建角色

  1. 在源账户的 Amazon Identity and Access Management 控制台中,创建使用以下信任策略的 IAM 角色。相关说明,请参阅《Amazon Identity and Access Management 用户指南》中的使用自定义信任策略创建角色

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "elasticfilesystem.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 创建该角色后,为该角色分配以下权限。将 arn:aws:elasticfilesystem:us-east-1:111122223333:file-system/fs-0123456789abcdef1 替换为目标文件系统的 ARN,并将 arn:aws:elasticfilesystem:us-east-1:444455556666:file-system/fs-5678910112hijkqr1 替换为源文件系统的 ARN。有关为角色分配权限的说明,请参阅使用 JSON 编辑器创建策略

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action":[ "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:CreateReplicationConfiguration", "elasticfilesystem:DescribeReplicationConfigurations", "elasticfilesystem:DeleteReplicationConfiguration", "elasticfilesystem:ReplicationWrite" ], "Resource": "arn:aws:elasticfilesystem:us-east-1:111122223333:file-system/fs-0123456789abcdef1" }, { "Effect": "Allow", "Action": [ "elasticfilesystem:ReplicationRead", "elasticfilesystem:DescribeFileSystems" ], "Resource": "arn:aws:elasticfilesystem:us-east-1:444455556666:file-system/fs-5678910112hijkqr1" } ] }
  3. 复制或输入 IAM 角色的 ARN。创建复制配置时,您需要提供此 ARN。

在源文件系统和目标文件系统上创建策略

要在 Amazon EFS 中跨账户共享文件系统,必须为目标文件系统和源文件系统分配策略。这些策略授予或限制跨账户访问其应用到的文件系统。只有有权编辑文件系统的账户所有者才能为其账户中的文件系统分配策略。

除了授予或限制跨账户访问权限外,这些策略还需要授予客户端使用文件系统所需的其他权限,例如 elasticfilesystem:ClientMount。否则,客户端可能无法访问文件系统。

重要

您无法限制通过 TLS 连接进行的资源访问。如果您在语句中包含 "aws:SecureTransport": "false" 条件,NFS 客户端连接将失败。

用于目标文件系统的策略

要授予源账户向目标文件系统执行复制操作的权限,以及从目标账户删除复制配置的权限,必须在目标文件系统上创建以下策略。将 arn:aws:iam::444455556666:root 替换为拥有源文件系统的账户的 ID。将 arn:aws:elasticfilesystem:us-east-1:111122223333:file-system/fs-0123456789abcdef1 替换为目标文件系统的 ARN

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowSourceAccountReplicationActions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:root" }, "Action": [ "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:CreateReplicationConfiguration", "elasticfilesystem:DescribeReplicationConfigurations", "elasticfilesystem:DeleteReplicationConfiguration", "elasticfilesystem:ReplicationWrite" ], "Resource": "arn:aws:elasticfilesystem:us-east-1:111122223333:file-system/fs-0123456789abcdef1" }, { "Sid": "AllowReadOnlyClientAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/EfsReadOnly" }, "Action": [ "elasticfilesystem:ClientMount" ], "Resource": "arn:aws:elasticfilesystem:us-east-1:111122223333:file-system/fs-0123456789abcdef1" } ] }

用于源文件系统的策略

要授予目标账户从源账户中删除复制配置的权限,必须将以下策略分配给源文件系统。将 arn:aws:iam::111122223333:root 替换为拥有目标文件系统的账户的 ID。将 arn:aws:elasticfilesystem:us-east-1:444455556666:file-system/fs-5678910112hijkqr1 替换为源文件系统的 ARN。

JSON
{ "Version":"2012-10-17", "Id": "efs-policy-wizard-15ad9567-2546-4bbb-8168-5541b6fc0e55", "Statement": [ { "Sid": "AllowDestinationAccountToDeleteReplication", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "elasticfilesystem:DeleteReplicationConfiguration", "Resource": "arn:aws:elasticfilesystem:us-east-1:444455556666:file-system/fs-5678910112hijkqr1" }, { "Sid": "AllowClientAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/EfsReadOnly" }, "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientRootAccess" ], "Resource": "arn:aws:elasticfilesystem:us-east-1:444455556666:file-system/fs-5678910112hijkqr1", "Condition": { "Bool": { "elasticfilesystem:AccessedViaMountTarget": "true" } } } ] }
创建文件系统策略

使用上一节中创建的策略,对目标文件系统和源文件系统执行以下步骤。

  1. Amazon Web Services 管理控制台 使用拥有文件系统的账户登录,然后在 Amazon EFS 控制台上打开 Amaz on EFS 控制台

  2. 打开文件系统:

    1. 在左侧导航窗格中,选择文件系统

    2. 文件系统列表中,选择所需文件系统。

  3. 文件系统策略 选项卡中,选择编辑

  4. 将策略粘贴到策略编辑器 {Json} 中,然后选择保存

创建复制配置

创建 IAM 角色并将文件系统策略添加到源文件系统和目标文件系统后,请按照配置到现有 EFS 文件系统的复制中的说明创建复制配置。