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

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

控制对 EFS API 的访问

您可以使用 IAM 身份策略和资源策略授予对 Amazon EFS 资源执行 API 操作的权限。本主题提供了基于身份的策略的示例,这些示例展示了账户管理员如何将权限策略附加到 IAM 身份 (即用户、组和角色),因为这是控制 Amazon EFS API 访问的最常用方法。

重要

我们建议您首先阅读以下介绍性主题,这些主题讲解了管理 Amazon EFS 资源访问的基本概念和选项。有关更多信息,请参阅 有关管理对 Amazon EFS 资源的访问权限的概述

本主题的各个部分涵盖以下内容:

下面介绍权限策略示例。

{ "Version": "2012-10-17", "Statement": [ { "Sid" : "AllowFileSystemPermissions", "Effect": "Allow", "Action": [ "elasticfilesystem:CreateFileSystem", "elasticfilesystem:CreateMountTarget" ], "Resource": "arn:aws:elasticfilesystem:us-west-2:account-id:file-system/*" }, { "Sid" : "AllowEC2Permissions", "Effect": "Allow", "Action": [ "ec2:DescribeSubnets", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces" ], "Resource": "*" } ] }

该策略包含两条语句:

  • 第一个语句授予两个 Amazon EFS 操作的权限(elasticfilesystem:CreateFileSystemelasticfilesystem:CreateMountTarget) 在资源上使用 Amazon 资源名称 (ARN)。ARN 将指定一个通配符 (*),因为您在创建文件系统之前不知道文件系统 ID。

  • 第二条语句授予对某些 Amazon EC2 操作的权限,因为elasticfilesystem:CreateMountTarget操作需要特定 Amazon EC2 操作的权限。由于这些 Amazon EC2 操作不支持资源级权限,因此该策略将指定通配符 (*) 作为Resource值,而不是指定文件系统 ARN。

该策略不指定 Principal 元素,因为在基于身份的策略中,您未指定获取权限的委托人。附加了策略的用户是隐式委托人。向 IAM 角色附加权限策略后,该角色的信任策略中标识的委托人将获取权限。

有关显示所有 Amazon EFS API 操作及其适用的资源的表,请参阅。Amazon EFS API 权限:操作、资源和条件参考

使用 Amazon EFS 控制台所需的权限

权限参考表列出 Amazon EFS API 操作并显示每个操作所需的权限。有关 Amazon EFS API 操作的更多信息,请参阅Amazon EFS API 权限:操作、资源和条件参考

要使用 Amazon EFS 控制台,您需要如下权限策略中所示,授予执行其他操作的权限。

{ "Version": "2012-10-17", "Statement": [ { "Sid" : "Stmt1AddtionalEC2PermissionsForConsole", "Effect": "Allow", "Action": [ "ec2:DescribeAvailabilityZones", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs", "ec2:DescribeVpcAttribute" ], "Resource": "*" } { "Sid" : "Stmt2AdditionalKMSPermissionsForConsole", "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "*" } ] }

Amazon EFS 控制台出于以下原因需要上述其他权限:

  • Amazon EFS 操作权限使控制台可以显示账户中的 Amazon EFS 资源。

  • 控制台需要对ec2操作来查询 Amazon EC2,以便可以显示可用区、VPC、安全组和账户属性。

  • 控制台需要具有 kms 操作权限以创建加密的文件系统。有关加密的文件系统的更多信息,请参阅Amazon EFS 中的数据加密

Amazon适用于 Amazon EFS 的托管(预定义)策略

Amazon通过提供由创建和管理的独立 IAM 策略来满足许多常用案例的要求。Amazon托管策略可授予常用案例的必要权限,因此,您可以免去调查都需要哪些权限的工作。有关更多信息,请参阅 IAM 用户指南中的 Amazon 托管策略

以下Amazon托管策略(您可以将它们附加到您的账户中的用户)是特定于的:

  • AmazonElasticFileSystemReadOnlyAccess— 授予对 Amazon EFS 资源的只读访问权限。

  • AmazonElasticFileSystemFullAccess— 授予对 Amazon EFS 资源的完全访问权限。

注意

您可以通过登录到 IAM 管理控制台并在该控制台中搜索特定策略来查看这些权限策略。

此外,您还可以创建自定义 IAM 策略,以授予执行 Amazon EFS API 操作的相关权限。您可以将这些自定义策略附加到需要这些权限的 IAM 用户或组。

客户管理的策略示例

本节的用户策略示例介绍如何授予各 Amazon EFS 操作的权限。当您使用时,可以使用这些策略。Amazon开发工具包或Amazon CLI。当您使用控制台时,您需要授予特定于控制台的其他权限,使用 Amazon EFS 控制台所需的权限中对此进行了讨论。

注意

所有示例都使用 us-west-2Amazon Web Services 区域并包含虚构的账户 ID。

示例 1:允许用户在现有文件系统上创建装载目标和标签

以下权限策略授予用户在us-west-2区域。要创建挂载目标,还需要执行特定 Amazon EC2 操作的权限,并将其包含在权限策略中。

{ "Version": "2012-10-17", "Statement": [ { "Sid" : "Stmt1CreateMountTargetAndTag", "Effect": "Allow", "Action": [ "elasticfilesystem:CreateMountTarget", "elasticfilesystem:DescribeMountTargets", "elasticfilesystem:CreateTags", "elasticfilesystem:DescribeTags" ], "Resource": "arn:aws:elasticfilesystem:us-west-2:123456789012:file-system/file-system-ID" }, { "Sid" : "Stmt2AdditionalEC2PermissionsToCreateMountTarget", "Effect": "Allow", "Action": [ "ec2:DescribeSubnets", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces" ], "Resource": "*" } ] }

示例 2:允许用户执行所有 Amazon EFS 操作

以下权限策略使用通配符 ("elasticfilesystem:*"),以允许us-west-2区域。由于某些 Amazon EFS 操作还需要 Amazon EC2 操作的权限,因此该策略还会为所有这些操作授予权限。

{ "Version": "2012-10-17", "Statement": [ { "Sid" : "Stmt1PermissionForAllEFSActions", "Effect": "Allow", "Action": "elasticfilesystem:*", "Resource": "arn:aws:elasticfilesystem:us-west-2:123456789012:file-system/*" }, { "Sid" : "Stmt2RequiredEC2PermissionsForAllEFSActions", "Effect": "Allow", "Action": [ "ec2:DescribeSubnets", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute", "ec2:DescribeNetworkInterfaceAttribute" ], "Resource": "*" } ] }

Amazon EFS API 权限:操作、资源和条件参考

在设置 访问控制 和编写可附加到 IAM 身份的权限策略 (基于身份的策略) 时,可使用下面的 作为参考。这些区域有:LISTING 表 每个 Amazon EFS API 操作、您可授予执行该操作的权限的对应操作以及Amazon资源,您可以授予对其权限。您可以在策略的 Action 字段中指定这些操作,并在策略的 Resource 字段中指定资源值。

您可以使用AmazonAmazon EFS 策略中的范围条件键以表达条件。有关 Amazon 范围内的键的完整列表,请参阅 《IAM 用户指南》中的可用键

注意

要指定操作,请在 API 操作名称之前使用 elasticfilesystem: 前缀 (例如,elasticfilesystem:CreateFileSystem)。

使用滚动条查看表的其余部分。

Amazon EFS API 和必需的操作权限
Amazon EFS API 操作 所需权限(API 操作) 资源

CreateAccessPoint

elasticfilesystem:CreateAccessPoint

arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

CreateFileSystem

elasticfilesystem:CreateFileSystem

有关加密的文件系统的 KMS 相关权限的信息,请参阅亚马逊 EFS 关键政策Amazon KMS

arn:aws:elasticfilesystem:region:account-id:file-system/*

CreateMountTarget

elasticfilesystem:CreateMountTarget

ec2:DescribeSubnets

ec2:DescribeNetworkInterfaces

ec2:CreateNetworkInterface

arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

(已淘汰)CreateTags

elasticfilesystem:CreateTags arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id
DeleteAccessPoint elasticfilesystem:DeleteAccessPoint arn:aws:elasticfilesystem:region:account-id:access-point/access-point-id
DeleteFileSystem elasticfilesystem:DeleteFileSystem arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id
DeleteFileSystemPolicy elasticfilesystem:DeleteFileSystemPolicy arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id
DeleteMountTarget

elasticfilesystem:DeleteMountTarget

ec2:DeleteNetworkInterface

arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

(已淘汰)DeleteTags

elasticfilesystem:DeleteTags arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id
DescribeAccessPoints elasticfilesystem:DescribeAccessPoints

arn:aws:elasticfilesystem:region:account-id:access-point/*

arn:aws:elasticfilesystem:region:account-id:access-point/access-point-id

DescribeBackupPolicy elasticfilesystem:DescribeBackupPolicy

arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

DescribeFileSystemPolicy elasticfilesystem:DescribeFileSystemPolicy

arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

DescribeFileSystems elasticfilesystem:DescribeFileSystems

arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

arn:aws:elasticfilesystem:region:account-id:file-system/*

DescribeLifecycleConfiguration

elasticfilesystem:DescribeLifecycleConfiguration

arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

DescribeMountTargetSecurityGroups

elasticfilesystem:DescribeMountTargetSecurityGroups

ec2:DescribeNetworkInterfaceAttribute

arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id
DescribeMountTargets elasticfilesystem:DescribeMountTargets

arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

arn:aws:elasticfilesystem:region:account-id:access-point/access-point-id

(已淘汰)DescribeTags

elasticfilesystem:DescribeTags arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id
ListTagsForResource elasticfilesystem:DescribeAccessPoints arn:aws:elasticfilesystem:region:account-id:resource-tags/resource-id
ModifyMountTargetSecurityGroups

elasticfilesystem:ModifyMountTargetSecurityGroups

ec2:ModifyNetworkInterfaceAttribute

arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id
PutBackupPolicy elasticfilesystem:PutBackupPolicy

arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id

PutFileSystemPolicy

elasticfilesystem:PutFileSystemPolicy

arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id
PutLifecycleConfiguration

elasticfilesystem:PutLifecycleConfiguration

arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id
TagResource

elasticfilesystem:TagResource

arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id
UntagResource

elasticfilesystem:UntagResource

arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id
UpdateFileSystem

elasticfilesystem:UpdateFileSystem

arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id