对 Amazon EFS 使用服务相关角色 - Amazon Elastic File System

对 Amazon EFS 使用服务相关角色

Amazon Elastic File System 使用 AWS Identity and Access Management(IAM)服务相关角色。Amazon EFS 服务相关角色是一种独特类型的 IAM 角色,它与 Amazon EFS 直接相关。预定义的 Amazon EFS 服务相关角色包含服务代表您调用其他 AWS 服务所需的权限。

服务相关角色可让您更轻松地设置 Amazon EFS,因为您不必手动添加必要的权限。Amazon EFS 定义了其服务相关角色的权限,并且仅 Amazon EFS 可以代入其角色。定义的权限包括信任策略和权限策略,以及不能附加到任何其他 IAM 实体的权限策略。

只有在先删除您的 Amazon EFS 文件系统后,才能删除 Amazon EFS 服务相关角色。这将保护您的 Amazon EFS 资源,因为您不会无意中删除对资源的访问权限。

服务相关角色还允许通过 AWS CloudTrail 查看所有 API 调用。这样便于满足监控和审核要求,因为您可以跟踪 Amazon EFS 代表您执行的所有操作。有关更多信息,请参阅 EFS 服务相关角色的日志条目

Amazon EFS 的服务相关角色权限

Amazon EFS 使用名为 AWSServiceRoleForAmazonElasticFileSystem 的服务相关角色来允许 Amazon EFS 代表您的 EFS 文件系统调用和管理 AWS 资源。

AWSServiceRoleForAmazonElasticFileSystem 服务相关角色信任以下服务来代入该角色:

  • elasticfilesystem.amazonaws.com

角色权限策略允许 Amazon EFS 完成策略定义 JSON 中包含的操作:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "backup-storage:MountCapsule", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeNetworkInterfaceAttribute", "ec2:ModifyNetworkInterfaceAttribute", "tag:GetResources" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "kms:DescribeKey" ], "Resource": "arn:aws:kms:*:*:key/*" }, { "Effect": "Allow", "Action": [ "backup:CreateBackupVault", "backup:PutBackupVaultAccessPolicy" ], "Resource": [ "arn:aws:backup:*:*:backup-vault:aws/efs/automatic-backup-vault" ] }, { "Effect": "Allow", "Action": [ "backup:CreateBackupPlan", "backup:CreateBackupSelection" ], "Resource": [ "arn:aws:backup:*:*:backup-plan:*" ] }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": [ "backup.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::*:role/aws-service-role/backup.amazonaws.com/AWSServiceRoleForBackup" ], "Condition": { "StringLike": { "iam:PassedToService": "backup.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:CreateReplicationConfiguration", "elasticfilesystem:DescribeReplicationConfigurations", "elasticfilesystem:DeleteReplicationConfiguration" ], "Resource": "*" } ] }
注意

创建静态加密的新 Amazon EFS 文件系统时,必须手动为 AWS KMS 配置 IAM 权限。要了解更多信息,请参阅 加密静态数据

为 Amazon EFS 创建服务相关角色

您必须配置权限以允许 IAM 实体(例如用户、组或角色)创建服务相关角色。通过向 IAM 实体添加 iam:CreateServiceLinkedRole 权限来执行此操作,如以下示例所示。

{ "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": [ "elasticfilesystem.amazonaws.com" ] } } }

有关更多信息,请参阅 IAM 用户指南中的服务相关角色权限

您无需手动创建服务相关角色。当您在 AWS Management Console、AWS CLI 或 AWS API 中为 EFS 文件系统创建挂载目标或复制配置时,Amazon EFS 将为您创建服务相关角色。

如果您删除该服务相关角色,然后需要再次创建,您可以使用相同流程在账户中重新创建此角色。当您为 EFS 文件系统创建挂载目标或复制配置时,Amazon EFS 将再次为您创建服务相关角色。

为 Amazon EFS 编辑服务相关角色

Amazon EFS 不允许您编辑 AWSServiceRoleForAmazonElasticFileSystem 服务相关角色。创建服务相关角色后,您将无法更改角色的名称,因为可能有多种实体引用该角色。但是可以使用 IAM 编辑角色描述。有关更多信息,请参阅《IAM 用户指南》中的编辑服务相关角色

删除 Amazon EFS 的服务相关角色

如果您不再需要使用某个需要服务相关角色的功能或服务,我们建议您删除该角色。这样您就没有未被主动监控或维护的未使用实体。但是,您必须先清除服务相关角色的资源,然后才能手动删除它。

注意

如果当您尝试删除资源时 Amazon EFS 服务正在使用该角色,则删除操作可能会失败。如果发生这种情况,请等待几分钟后重试。

删除 AWSServiceRoleForAmazonElasticFileSystem 使用的 Amazon EFS 资源

完成以下步骤,以删除 AWSServiceRoleForAmazonElasticFileSystem 使用的 Amazon EFS 资源。有关详细过程,请参阅清理资源并保护您的 AWS 账户

  1. 在您的 Amazon EC2 实例上,卸载 Amazon EFS 文件系统。

  2. 删除 Amazon EFS 文件系统。

  3. 删除文件系统的自定义安全组。

    警告

    如果您为虚拟私有云(VPC)使用默认安全组,请勿删除该安全组。

使用 IAM 手动删除服务相关角色

使用 IAM 控制台、AWS CLI 或 AWS API 删除 AWSServiceRoleForAmazonElasticFileSystem 服务相关角色。有关更多信息,请参见 IAM 用户指南中的删除服务相关角色