Amazon EFS のサービスリンクロールの使用
Amazon Elastic File System では AWS Identity and Access Management(IAM) サービスリンクロールを使用しています。Amazon EFS サービスリンクロールは、Amazon EFS に直接リンクされた特殊なタイプの IAM ロールです。サービスにリンクされたロールは Amazon EFS によって事前定義されており、サービスがユーザーに代わって他の AWS のサービス を呼び出すために必要なすべての許可が含まれています。
サービスにリンクされたロールを使用することで、必要なアクセス許可を手動で追加する必要がなくなるため、Amazon EFS の設定が簡単になります。Amazon EFS は、サービスにリンクされたロールのアクセス権限を定義します。Amazon EFS のみがそのロールを引き受けることができます。定義された許可には信頼ポリシーと許可ポリシーが含まれ、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。
Amazon EFS サービスにリンクされたロールを削除するには、最初に Amazon EFS ファイルシステムを削除する必要があります。これは、リソースにアクセスするための許可を誤って削除できないため、Amazon EFS リソースを保護します。
サービスにリンクされたロールを使用すると、すべての API コールを AWS CloudTrail から表示できます。これがモニタリングと監査の要件を満たすのに役立つのは、Amazon EFS によってユーザーに代わって実行されるすべてのアクションを追跡できるためです。詳細については、「EFS サービスにリンクされたロールのログエントリ」を参照してください。
Amazon EFS のサービスリンクロール許可
Amazon EFS は、AWSServiceRoleForAmazonElasticFileSystem
というサービスにリンクされたロールを使用して、Amazon EFS が EFS ファイルシステムに代わって AWS リソースを呼び出し、管理できるようにします。
AWSServiceRoleForAmazonElasticFileSystem サービスリンクロールは、以下のサービスを信頼してロールを引き受けます。
-
elasticfilesystem.amazonaws.com
ロールのアクセス許可ポリシーは、ポリシー定義 JSON に含まれるアクションを実行することを Amazon EFS に許可します。
{ "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 ユーザーガイド」の「Service-Linked Role Permissions」(サービスにリンクされたロールのアクセス権限) を参照してください。
サービスリンクロールを手動で作成する必要はありません。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 アカウントの保護」を参照してください。
-
Amazon EC2 インスタンスで、Amazon EFS ファイルシステムをアンマウントします。
-
Amazon EFS ファイルシステムを削除。
-
ファイルシステムのカスタムセキュリティグループを削除します。
警告
仮想プライベートクラウド (VPC) にデフォルトのセキュリティグループを使用した場合は、そのセキュリティグループを削除しないでください。
サービスにリンクされたロールを IAM で手動削除するには
IAM コンソール、AWS CLI、または AWS API を使用して、サービスにリンクされたロールである AWSServiceRoleForAmazonElasticFileSystem を削除します。詳細については、IAM ユーザーガイドの「サービスにリンクされたロールの削除」を参照してください。