Amazon EFS のリソースベースのポリシーの例 - Amazon Elastic File System

Amazon EFS のリソースベースのポリシーの例

このセクションでは、さまざまな Amazon EFS アクションに対してアクセス許可を付与または拒否するファイルシステムポリシーの例を示します。Amazon EFS ファイルシステムポリシーには 20,000 文字の制限があります。リソースベースのポリシーの要素については、「Amazon EFS 内のリソースベースのポリシー」を参照してください。

重要

ファイルシステムポリシーで個々の IAM ユーザーまたはロールにアクセス許可を付与する場合、ポリシーがファイルシステムで有効な間は、そのユーザーまたはロールを削除または再作成しないでください。そのような操作を行うと、そのユーザーまたはロールはファイルシステムから事実上ロックアウトされ、アクセスできなくなります。詳細については、IAM ユーザーガイドの「プリンシパルの指定」を参照してください。

ファイルシステムポリシーの作成方法の詳細については、「ファイルシステムポリシーの作成」を参照してください。

例: 特定の AWS ロールに読み取りと書き込みのアクセスを許可する

この例では、EFS ファイルシステムポリシーには、以下のような特徴があります。

  • 効果は Allow です。

  • プリンシパルは、AWS アカウント の Testing_Role に設定されています。

  • アクションは ClientMount (読み取り)、および ClientWrite に設定されます。

  • アクセス許可を付与する条件は AccessedViaMountTarget に設定されています。

{ "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/Testing_Role" }, "Action": [ "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientMount" ], "Resource": "arn:aws:elasticfilesystem:us-east-2:111122223333:file-system/fs-1234abcd", "Condition": { "Bool": { "elasticfilesystem:AccessedViaMountTarget": "true" } } } ] }

例: 読み取り専用アクセスの付与

以下のファイルシステムポリシーは、EFSReadOnly IAMロールに ClientMount (読み取り専用)アクセス許可のみを付与します。

{ "Id": "read-only-example-policy02", "Statement": [ { "Sid": "efs-statement-example02", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/EfsReadOnly" }, "Action": [ "elasticfilesystem:ClientMount" ], "Resource": "arn:aws:elasticfilesystem:us-east-2:111122223333:file-system/fs-12345678" } ] }

特定の管理ワークステーションを除くすべての IAM プリンシパルに対してルートアクセスを拒否するなど、追加のファイルシステムポリシーを設定する方法については、「NFS クライアントの IAM 認可を使用したルートスカッシュの有効化」を参照してください。

例: EFS アクセスポイントにアクセスを許可する

EFS アクセスポリシーを使用して、EFS ファイルシステムの共有ファイルベースのデータセットに関するアプリケーション固有のビューを、NFS クライアントに提供します。ファイルシステムポリシーを使用して、ファイルシステムへのアクセス許可をアクセスポイントに付与します。

このファイルポリシーの例では、条件要素を使用して、ARN によって識別された特定のアクセスポイントに対してファイルシステムへのフルアクセスを許可します。

EFS アクセスポイントの使用方法の詳細については、「Amazon EFS アクセスポイントの使用」を参照してください。

{ "Id": "access-point-example03", "Statement": [ { "Sid": "access-point-statement-example03", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::555555555555:role/EfsAccessPointFullAccess"}, "Action": "elasticfilesystem:Client*", "Resource": "arn:aws:elasticfilesystem:us-east-2:111122223333:file-system/fs-12345678", "Condition": { "StringEquals": { "elasticfilesystem:AccessPointArn":"arn:aws:elasticfilesystem:us-east-2:555555555555:access-point/fsap-12345678" } } } ] }