使用 IAM 控制 NFS 对 Amazon EFS 的访问 - Amazon Elastic File System
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

使用 IAM 控制 NFS 对 Amazon EFS 的访问

您可以使用 IAM 身份策略和资源策略,以针对云环境可扩展和优化的方式控制 NFS 客户端对 Amazon EFS 资源的访问。通过使用 IAM,您可以允许客户端对文件系统执行特定操作,包括只读、写入和根访问。

NFS 客户端可以在连接到 EFS 文件系统时使用 IAM 角色标识自己。当客户端连接到文件系统时,Amazon EFS 会评估文件系统的 IAM 资源策略(称为文件系统策略)以及任何基于身份的 IAM 策略,确定要授予的相应文件系统访问权限。

当您对 NFS 客户端使用 IAM 授权时,客户端连接和 IAM 授权决策将记录到 AWS CloudTrail。有关如何使用 CloudTrail 记录 Amazon EFS API 调用的更多信息,请参阅使用 AWS CloudTrail 记录 Amazon EFS API 调用

重要

必须使用 EFS 挂载帮助程序挂载 Amazon EFS 文件系统,从而使用 IAM 授权来控制 NFS 客户端的访问。有关更多信息,请参阅 安装带 IAM 授权。)

默认 EFS 文件系统策略

默认 EFS 文件系统策略授予对可连接到文件系统的任何 NFS 客户端的完全访问权限。当用户配置的文件系统策略不存在时(包括在创建文件系统时),默认策略将生效。每当默认文件系统策略生效时,DescribeFileSystemPolicy API 操作都会返回 PolicyNotFound 响应。

NFS 客户端的 EFS 操作

您可以使用文件系统策略为文件系统上的 NFS 客户端指定以下操作。

操作:, Description

elasticfilesystem:ClientMount

为 NFS 客户端提供对文件系统的只读访问权限。

elasticfilesystem:ClientWrite

为 NFS 客户端提供对文件系统的写入权限。

elasticfilesystem:ClientRootAccess

为 NFS 客户端提供在访问文件系统时使用根用户的功能。

NFS 客户端的 EFS 条件键

要表达条件,您可以使用预定义的条件键。Amazon EFS 对于 NFS 客户端具有以下预定义的条件键。

EFS 条件键 Description 运算符

aws:SecureTransport

使用此键可要求 NFS 客户端在连接到 EFS 文件系统时使用 TLS。

布尔型

elasticfilesystem:AccessPointArn 客户端正在连接到的 EFS 访问点的 ARN。

文件系统策略示例

在本节中,您可以找到为各种 Amazon EFS 操作授予或拒绝权限的示例文件系统策略。有关基于资源的策略的元素的信息,请参阅指定策略元素: 行动、效果和负责人

重要

如果您在文件系统策略中向单个 IAM 用户或角色授予权限,则不要在策略在文件系统上仍然有效的情况下,删除或重新创建该用户或角色。如果这样做,该用户或角色将实际在文件系统中锁定,并且将无法访问该用户或角色。有关详细信息,请参阅 指定主体IAM用户指南.

示例 #1 授予对所有访问权限的读取和写入访问权限 IAM 主体

此示例 EFS 文件系统策略具有以下特征:

  • 效果是 Allow

  • 委托人设置为“*”,即所有 IAM 实体。

  • 操作设置为 ClientMountClientWrite,和 ClientRootAccess.

  • 授予权限的条件设置为 SecureTransport—仅向使用 TLS 连接到文件系统的 NFS 客户端授予访问权限。

{ "Version": "2012-10-17", "Id": "ExamplePolicy01", "Statement": [ { "Sid": "ExampleSatement01", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "elasticfilesystem:ClientRootAccess", "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Condition": { "Bool": { "aws:SecureTransport": "true" } } } ] }

示例 2 授予 只读访问权限

以下文件系统策略仅向所有 IAM 委托人授予 ClientMount 或只读权限。

{ "Version": "2012-10-17", "Id": "read-only-example-policy02", "Statement": [ { "Sid": "efs-statement-example02", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "elasticfilesystem:ClientMount" ] } ] }

要了解如何设置其他文件系统策略,包括拒绝对所有 IAM 委托人(特定管理工作站除外)的根访问权限,请参阅演示 使用iam客户端的iam授权启用根降级

示例 3 授予访问EFS访问点的权限

您可以使用 EFS 访问策略向 NFS 客户端提供 EFS 文件系统上基于文件的共享数据集的应用程序特定视图。您可以使用文件系统策略向访问点授予对文件系统的权限。此文件策略示例使用条件元素向由其 ARN 标识的特定访问点授予对文件系统的完全访问权限。有关 EFS 访问点的更多信息,请参阅使用 Amazon EFS 访问点

{ "Version": "2012-10-17", "Id": "access-point-example03", "Statement": [ { "Sid": "access-point-statement-example03", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::account_id:role/myapp"}, "Action": "elasticfilesystem:Client*", "Condition": { "StringEquals": { "elasticfilesystem:AccessPointArn":"arn:aws::elasticfilesystem:region:account_id:access-point/access_point_id" } } } ] }