アクセス制御

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このページでは、Filestore インスタンスへのアクセスを制御する方法について説明します。

Filestore では、Filestore インスタンスへのアクセス保護に Kerberos がサポートされません。Linux オプションで NFS アクセスを制御し、IAM(Identity and Access Management) でインスタンスの作成、編集、表示、削除などのインスタンス操作へのアクセスを制御することができます。

ファイル共有のエクスポート設定

Filestore のファイル共有には、次のデフォルトの /etc/exports 設定が割り当てられます。

  • クライアント リストは、Filestore インスタンスに選択した VPC ネットワーク内のすべての内部 IP アドレスで構成され、ファイル共有への接続が許可されるクライアントを識別します。内部 IP アドレスは、サブネット範囲に含まれる任意の範囲を指定できます。ただし、クライアントがRFC 1918以外のサブネット範囲を使用する場合は、IP ベースのアクセス制御を使用して Filestore インスタンスへのアクセス権を明示的に付与する必要があります。
  • rw オプションが使用されるため、ファイル共有は読み書き可能です。
  • ユーザー ID マッピング オプション no_root_squash が使用されるため、Filestore インスタンスとクライアントの双方で、root ユーザーを含むすべてのユーザーとグループが同じであると想定されます。
  • 他のすべてのオプションでは、/etc/exports のデフォルトが使用されます。

IP ベースのアクセス制御

これらのエクスポート設定を変更するには、Google Cloud コンソールを使用してアクセス制御ルールを作成するか、インスタンスの作成時に gcloud CLI を使用して JSON 構成ファイルを指定します。詳細については、IP ベースのアクセス制御を構成するをご覧ください。

また、インスタンスを作成した後に、新しいアクセス制御ルールの追加や、既存のアクセス制御ルールの変更を行えます。詳細については、インスタンスの編集をご覧ください。

ファイル共有の権限

Filestore インスタンスを作成する場合、そのインスタンスのファイル共有には rwxr-xr-x のデフォルトの POSIX ファイル権限が設定されます。これらの権限は、Filestore インスタンス上で、接続クライアントの root ユーザーのみにファイル共有への読み取り / 書き込みアクセス権が付与されることを意味します。その他のユーザーにはデフォルトで読み取りアクセスのみが付与されます。クライアントの root ユーザーは権限やオーナーを変更できます。

ファイル共有のアクセス権限を構成する

ファイル共有をマウントする際は、マウント オプション/etc/fstab 設定を使用して、ファイル共有が書き込み可能であるかどうか、また、ファイルに対して実行可能かどうか確認できます。ファイル共有のマウント後に、chmodsetfacl などの標準の Linux コマンドを使用して、ファイルおよびファイル共有のアクセス権限を設定できます。ベーシック ティアのみが setfacl をサポートします。

一貫性のあるアクセス権限を設定する

権限昇格を防ぐため、同じ Filestore インスタンスに接続するすべてのクライアントの各ユーザーには、一貫性のあるアクセス権限を設定することを強くおすすめします。ファイル共有が複数のクライアントにマウントされ、ユーザーが 1 つのクライアントに複数のルート権限を持ち、他にない場合、次の権限昇格のシナリオが考えられます。

  • ユーザーは、ルートアクセス権を持つクライアントから実行可能ファイルに setuid 属性を設定します。
  • 次にユーザーは、実行可能ファイルをファイル共有にアップロードします。
  • ユーザーは、少なくとも読み取り権限を持っているクライアントで、アップロードされたファイルを root として実行します。

setuid ビットを使用すると、ファイルのオーナー権限(この場合は root)を使用してファイルを実行できるため、このシナリオが可能です。