Amazon EFS アクセスポイントを使用する - Amazon Elastic File System

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon EFS アクセスポイントを使用する

Amazon EFSアクセスポイントEFS ファイルシステムへのアプリケーション固有のエントリポイントです。これにより、共有データセットへのアプリケーションアクセスが管理しやすくなります。アクセスポイントを使用すると、アクセスポイントを介したすべてのファイルシステム要求に対してユーザー ID (ユーザーの POSIX グループなど) を適用できます。また、ファイルシステムに対して別のルートディレクトリを適用し、このディレクトリまたはそのサブディレクトリ内のデータに対してのみ、クライアントにアクセスを許可することもできます。

AWS Identity and Access Management (IAM) ポリシーを使用して、特定のアプリケーションが特定のアクセスポイントを使用するように設定できます。IAM ポリシーとアクセスポイントを組み合わせると、アプリケーションから特定のデータセットへのアクセスを簡単に保護できます。

アクセスポイントの作成の詳細については、「アクセスポイントの作成と削除」を参照してください。

アクセスポイントの作成

AWS マネジメントコンソール、AWS Command Line Interface (AWS CLI)、および EFS API を使用して、既存の Amazon EFS ファイルシステムのアクセスポイントを作成できます。

アクセスポイントの作成方法については、「アクセスポイントの作成と削除」を参照してください。

アクセスポイントを使用したファイルシステムのマウント

アクセスポイントを使用してファイルシステムをマウントする場合は、EFS マウントヘルパーを使用します。mount コマンドには、以下の例に示すように、ファイルシステム ID、アクセスポイント ID、tls マウントオプションを含めます。

$ mount -t efs -o tls,accesspoint=fsap-12345678 fs-12345678: /localmountpoint

アクセスポイントを使用したファイルシステムのマウントの詳細については、「EFS アクセスポイントによるマウント」を参照してください。

アクセスポイントを使用したユーザー ID の適用

アクセスポイントを使用すると、アクセスポイントを介したすべてのファイルシステム要求に対して、ユーザーおよびグループ情報を適用できます。この機能を有効にするには、アクセスポイントの作成時に、適用するオペレーティングシステム ID を指定する必要があります。

その一環として、以下の情報を提供します。

  • ユーザー ID — ユーザーの数値 POSIX ユーザー ID。

  • グループ ID — ユーザーの数値 POSIX グループ ID。

  • セカンダリグループ ID オプションのセカンダリグループ ID のリスト。

Amazon EFS では、NFS クライアントのユーザー ID およびグループ ID を、アクセスポイントですべてのファイルシステムオペレーションに対して設定されている ID に置き換えます。ユーザー適用では、以下のことも行います。

  • 新しいファイルとディレクトリの所有者とグループは、アクセスポイントのユーザー ID とグループ ID に設定されます。

  • EFS は、ファイルシステムのアクセス許可を評価するときに、アクセスポイントのユーザー ID、グループ ID、およびセカンダリグループ ID を考慮します。EFS は、NFS クライアントの ID を無視します。

重要

ユーザー ID の適用は、ClientRootAccess IAM アクセス許可を条件とします。

たとえば、場合によっては、アクセスポイントのユーザー ID、グループ ID、またはその両方をルートに設定する (つまり、UID、GID、またはその両方を 0 に設定する) ことがあります。そのような場合、NFS クライアントに ClientRootAccess IAM アクセス許可を付与する必要があります。

アクセスポイントを使用したルートディレクトリの適用

アクセスポイントを使用して、ファイルシステムのルートディレクトリを上書きできます。ルートディレクトリを適用すると、アクセスポイントを使用する NFS クライアントは、ファイルシステムのルートディレクトリではなく、アクセスポイントに設定されているルートディレクトリを使用します。

この機能を有効にするには、アクセスポイントの作成時にアクセスポイントの Path 属性を設定します。Path 属性は、このアクセスポイントを介したすべてのファイルシステム要求に対するファイルシステムのルートディレクトリのフルパスです。フルパスの長さは 100 文字を超えることはできません。最大 4 つのサブディレクトリを含めることができます。

アクセスポイントにルートディレクトリを指定すると、これがアクセスポイントをマウントする NFS クライアントのファイルシステムのルートディレクトリになります。たとえば、アクセスポイントのルートディレクトリが /data であるとします。この場合、アクセスポイントを使用して fs-12345678:/ をマウントすると、アクセスポイントを使用せずに fs-12345678:/data をマウントするのと同じ効果があります。

アクセスポイントでルートディレクトリを指定する場合は、アクセスポイントのユーザーがファイルシステムを正常にマウントできるようにディレクトリ権限が設定されていることを確認します。具体的には、アクセスポイントのユーザーまたはグループ、またはすべてのユーザーに対して実行ビットが設定されていることを確認します。たとえば、ディレクトリ権限の値が 755 の場合、ディレクトリユーザーの所有者はファイルのリスト表示、ファイルの作成およびマウントを実行できます。他のすべてのユーザーはファイルのリスト表示とマウントを実行できます。

アクセスポイントのルートディレクトリの作成

アクセスポイントのルートディレクトリパスがファイルシステムに存在しない場合は、Amazon EFS では、設定可能な所有権とアクセス許可を使用して、そのルートディレクトリが自動的に作成されます。このアプローチにより、Linux ホストからファイルシステムをマウントすることなく、特定のユーザーまたはアプリケーションに対してファイルシステムアクセスをプロビジョニングできます。ルートディレクトリを作成するには、アクセスポイントの作成時に以下の属性を使用して、ルートディレクトリの所有権とアクセス許可を設定する必要があります。

  • OwnerUid— ルートディレクトリの所有者として使用する数値 POSIX ユーザー ID。

  • OwnerGiD— ルートディレクトリの所有者グループとして使用する数値 POSIX グループ ID。

  • アクセス許可 — ディレクトリの Unix モード。一般的な設定は 755 です。アクセスポイントユーザーがマウントできるように、実行ビットが設定されていることを確認します。この設定では、ディレクトリ所有者に、ディレクトリ内の新しいファイルを入力、一覧表示、書き込むアクセス許可が付与されます。他のすべてのユーザーに、ファイルを入力および一覧表示するアクセス許可が付与されます。Unix のファイルモードとディレクトリモードの使用方法の詳細については、「Network File System (NFS) レベルでのユーザー、グループ、アクセス許可の操作」を参照してください。

Amazon EFS では、OwnUid、OwnGID、ディレクトリのアクセス許可を指定した場合にのみ、ルートディレクトリが作成されます。この情報を指定しない場合、Amazon EFS はルートディレクトリを作成しません。ルートディレクトリが存在しない場合に、アクセスポイントを使用してマウントしようとすると、失敗します。

アクセスポイントを使用してファイルシステムをマウントすると、ディレクトリがまだ存在しない場合に、アクセスポイントのルートディレクトリが作成されます。マウントに先立ってアクセスポイントにルートディレクトリが設定済みである場合、既存のアクセス許可はアクセスポイントによって上書きされません。ルートディレクトリを削除すると、次にアクセスポイントを使用してファイルシステムをマウントするときに、EFS によってルートディレクトリが再作成されます。

アクセスポイントのルートディレクトリのセキュリティモデル

ルートディレクトリの上書きが有効になっている場合、Amazon EFS では、Linux NFS サーバーと同じように動作します。no_subtree_checkオプションが有効になっています。

NFS プロトコルでは、ファイルのアクセス時に一意の参照としてクライアントで使用されるファイルハンドルがサーバーで作成されます。EFS は、EFS ファイルシステム固有の予測可能なファイルハンドルを安全に生成します。ルートディレクトリの上書きが有効になっている場合、EFS は指定されたルートディレクトリ外のファイルにファイルハンドルを公開しません。ただし、場合によっては、ユーザーは帯域外メカニズムを使用して、アクセスポイント外のファイルのファイルハンドルを取得することがあります。たとえば、2 番目のアクセスポイントにアクセスできる場合は、これを行う可能性があります。これを行うと、ファイルに対して読み取りおよび書き込みオペレーションを実行できます。

ユーザーのアクセスポイントのルートディレクトリ内外のファイルへのアクセスに対しては、ファイルの所有権とアクセス許可が常に適用されます。

IAM ポリシーでのアクセスポイントの使用

IAM ポリシーでは、IAM ロールで特定した NFS クライアントに対して、特定のアクセスポイントへのアクセスのみを許可できます。そのためには、elasticfilesystem:AccessPointArn IAM 条件キーを使用します。AccessPointArn は、ファイルシステムがマウントされているアクセスポイントの Amazon リソースネーム (ARN) です。

以下に示しているのは、IAM ロール app1 にアクセスポイント fsap-01234567 を使用したファイルシステムへのアクセスを許可するファイルシステムポリシーの例です。また、このポリシーでは、app2 にアクセスポイント fsap-89abcdef を使用したファイルシステムへのアクセスを許可しています。

{ "Version": "2012-10-17", "Id": "MyFileSystemPolicy", "Statement": [ { "Sid": "App1Access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/app1" }, "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Condition": { "StringEquals": { "elasticfilesystem:AccessPointArn" : "arn:aws:elasticfilesystem:us-east-1:222233334444:access-point/fsap-01234567" } } }, { "Sid": "App2Access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/app2" }, "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Condition": { "StringEquals": { "elasticfilesystem:AccessPointArn" : "arn:aws:elasticfilesystem:us-east-1:222233334444:access-point/fsap-89abcdef" } } } ] }