演练:使用 IAM 授权为 NFS 客户端启用 Root Squash - Amazon Elastic File System
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

演练:使用 IAM 授权为 NFS 客户端启用 Root Squash

在本演练中,您配置 Amazon EFS 以拒绝所有 AWS 委托人(单个管理工作站除外)对 Amazon EFS 文件系统的根访问权限。可以通过为网络文件系统 (NFS) 客户端配置 AWS Identity and Access Management (IAM) 授权来执行此操作。有关 EFS 中的 NFS 客户端的 IAM 授权的更多信息,请参阅 使用 IAM 控制 NFS 对 Amazon EFS 的访问

为此,需要配置两个 IAM 权限策略,如下所示:

  • 创建 EFS 文件系统策略,该策略明确允许对文件系统进行读取和写入访问,并隐式拒绝根访问。

  • 使用 Amazon EC2 实例配置文件将 IAM 身份分配给需要对文件系统进行根访问的 Amazon EC2 管理工作站。有关 Amazon EC2 实例配置文件的更多信息,请参阅 AWS Identity and Access Management 用户指南 中的使用实例配置文件

  • AmazonElasticFileSystemClientFullAccess AWS 托管策略分配给管理工作站的 IAM 角色。有关 EFS 的 AWS 托管策略的更多信息,请参阅适用于 Amazon EFS 的 AWS 托管(预定义)策略

要使用 IAM 授权为 NFS 客户端启用 Root Squash,请使用以下过程。

禁用对文件系统的根访问权限

  1. 通过 https://console.amazonaws.cn/efs/ 打开 Amazon Elastic File System 控制台。

  2. File systems (文件系统) 页面上,选择要启用 Root Squash 的文件系统。

  3. 对于 Actions (操作),请选择 Manage client access (管理客户端访问)。此时将显示 Manage file system permission (管理文件系统权限) 页面。

  4. 选择 Disable root access (禁用根访问权限),然后选择 Set policy (设置策略)

    {}JSON 选项卡显示生成的文件系统策略。

    此策略隐式拒绝所有 AWS 委托人的根访问权限。使用此文件系统策略后,可使用 IAM 基于身份的策略授予根访问权限。匿名 NFS 客户端也被拒绝根访问权限,因为基于身份的策略不适用于匿名 NFS 客户端。

  5. 选择 Save (保存) 以保存文件系统策略。

非匿名客户端可以通过基于身份的策略获得对文件系统的根访问权限。将 AmazonElasticFileSystemClientFullAccess 托管策略附加到工作站的角色时,IAM会根据工作站的身份策略授予对工作站的根访问权限。

从管理工作站启用根访问权限

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 为名为 EFS-client-root-access 的 Amazon EC2 创建角色。IAM 创建与您创建的 EC2 角色相名的实例配置文件。

  3. 将 AWS 托管策略 AmazonElasticFileSystemClientFullAccess 分配给您创建的 EC2 角色。本策略的内容如下所示。

    { “Version”: “2012-10-17”, “Statement”: [ { “Resource”: “*”, “Effect”: “Allow”, “Action”: “elasticfilesystem:Client*” } ], "Condition": {} }
  4. 将实例配置文件附加到您用作管理工作站的 EC2 实例,如下所述。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南 中的将 IAM 角色附加到实例

    1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

    2. 在导航窗格中,选择 Instances (实例)

    3. 选择实例。对于 Actions (操作),选择 Instance Settings (实例设置),然后选择 Attach/Replace IAM role (附加/替换 IAM 角色)

    4. 选择您在第一步中创建的 IAM 角色 EFS-client-root-access,然后选择 Apply (应用)

  5. 在管理工作站上安装 EFS 挂载帮助程序。有关 EFS 挂载帮助程序和 amazon-efs-utils 程序包的更多信息,请参阅使用 amazon-efs-utils 工具

  6. 通过使用带 iam 挂载选项的以下命令,在管理工作站上挂载 EFS 文件系统。

    $ sudo mount -t efs -o tls,iam file-system-id:/ efs-mount-point

    您可以将 Amazon EC2 实例配置为通过 IAM 授权自动挂载文件系统。有关使用 IAM 授权挂载 EFS 文件系统的更多信息,请参阅使用 IAM 授权挂载