Google Cloud Managed Lustre オペレーションへのアクセス権を付与するには、ユーザーに Identity and Access Management(IAM)ロールを付与します。
IAM の権限は、Google Cloud Managed Lustre インスタンスの作成など、Google Cloud Managed Lustre オペレーションへのアクセス権のみを制御します。ファイルへの読み取りや書き込みなど、インスタンスでのファイル システム オペレーションへのアクセスを制御するには、POSIX ファイル権限を使用します。
権限とロール
Managed Lustre は次の権限を使用します。
| 権限 | 説明 |
|---|---|
lustre.instances.create |
新しいインスタンスを作成する |
lustre.instances.delete |
インスタンスを削除する |
lustre.instances.update |
インスタンスを更新します。削除を許可しない |
lustre.instances.get |
インスタンスの説明を取得する |
lustre.instances.list |
すべてのインスタンスのリスト |
lustre.instances.exportData
|
Managed Lustre から Cloud Storage にデータをエクスポートする |
lustre.instances.importData
|
Cloud Storage から Managed Lustre にデータをインポートする |
lustre.locations.get |
ビジネス情報を取得する |
lustre.locations.list |
サポートされているすべてのロケーションを一覧表示する |
lustre.mirrors.create |
新しいミラーを作成する |
lustre.mirrors.delete |
ミラーを削除する |
lustre.mirrors.update |
ミラーを更新する |
lustre.mirrors.get |
ミラーについて説明する |
lustre.mirrors.list |
ミラーを一覧表示する |
lustre.operations.list |
処理の一覧を表示します |
lustre.operations.get |
オペレーションを取得する |
lustre.operations.cancel |
オペレーションのキャンセル |
lustre.operations.delete |
オペレーションを削除する |
Google Cloud では、個々の権限を直接付与することはできません。権限を含むロールを付与する必要があります。Managed Lustre の事前定義ロールは次のとおりです。
- Managed Lustre 管理者(
roles/lustre.admin) - Managed Lustre 閲覧者(
roles/lustre.viewer)
次の表に、Managed Lustre の事前定義ロールと基本編集者ロールによって付与される権限を示します。
| 能力 | 編集者(roles/editor) |
Managed Lustre(roles/lustre.*) |
|
|---|---|---|---|
管理者(roles/lustre.admin) |
閲覧者(roles/lustre.viewer) |
||
| インスタンスの作成 | |||
| インスタンスを削除する | |||
| インスタンスの更新 | |||
| インスタンスを取得する | |||
| インスタンスを確認する | |||
| Cloud Storage との間でデータをインポート / エクスポートする | |||
| Cloud Storage ミラーを構成する | |||
| ビジネス情報を取得する | |||
| サポートされているロケーションを一覧表示する | |||
| 長時間実行オペレーションを一覧表示する | |||
| オペレーションを取得する | |||
| オペレーションのキャンセル | |||
| オペレーションを削除する | |||
カスタムロール
使用可能な事前定義ロールが組織のアクセス要件を満たしていない場合は、カスタム IAM ロールを作成して適用できます。
カスタムロールを作成する場合は、適切な権限が含まれるように事前定義ロールを組み合わせて使用することをおすすめします。
Managed Lustre サービス エージェント
Managed Lustre は、サービス エージェントを使用して他の Google Cloud リソースにアクセスし、ユーザーに代わってアクションを実行します。サービス エージェントは、プロジェクトで初めて Managed Lustre インスタンスを作成するときに自動的に作成される Google 管理のサービス アカウントです。手動で作成することもできます。
サービス エージェントに権限を付与する必要があるのは、特定のオプション機能を使用する場合のみです。これらの機能を使用しない標準のインスタンス作成とファイル システム オペレーションでは、サービス エージェントの構成は必要ありません。
サービス エージェントの権限を必要とする機能
次の機能では、サービス エージェントに IAM ロールを付与する必要があります。
| 機能 | 必要なロール | ターゲット リソース | 説明 |
|---|---|---|---|
| 顧客管理の暗号鍵(CMEK) | roles/cloudkms.cryptoKeyEncrypterDecrypter |
Cloud KMS 鍵 | サービス エージェントが鍵を使用して保存データを暗号化および復号できるようにします。 |
| Cloud Storage ミラー | storage.buckets.get、storage.buckets.update、storage.objects.get、storage.objects.list を付与するカスタムロール |
Cloud Storage バケット | サービス エージェントが Pub/Sub 通知を作成し、バケットからインスタンスにオブジェクトをミラーリングできるようにします。 |
| Cloud Storage からデータを転送する | roles/storage.objectViewer |
Cloud Storage バケット | サービス エージェントがバケットからオブジェクトを読み取り、インスタンスにインポートできるようにします。 |
| Cloud Storage 間でデータを転送する | roles/storage.objectUser |
Cloud Storage バケット | インポート オペレーションとエクスポート オペレーション中に、サービス エージェントにオブジェクトの読み取りと書き込みを許可します。 |
これらの機能を使用していない場合は、このセクションの残りの手順をスキップできます。
サービス エージェント ID を作成または取得する
サービス エージェントに権限を付与するには、その ID を取得する必要があります。サービス エージェントは次の形式を使用します。
service-PROJECT_NUMBER@gcp-sa-lustre.
次のいずれかのオプションを使用して、サービス エージェント ID を作成または決定します。
Managed Lustre インスタンスを作成していない場合:
services identity createコマンドを実行して、サービス エージェントを手動で作成します。gcloud beta services identity create \ --service=lustre.googleapis.com \ --project=PROJECT_NUMBER_OR_IDPROJECT_NUMBER_OR_ID は、Managed Lustre インスタンスを作成するプロジェクトのプロジェクト番号または ID に置き換えます。このコマンドでは、次のような出力が返されます。
Service identity created: service-1234567890@gcp-sa-lustre.Managed Lustre インスタンスをすでに作成している場合: サービス エージェント ID を作成するには、
gcloud projects describeコマンドを使用してプロジェクト番号を取得します。gcloud projects describe PROJECT_ID --format="value(projectNumber)"PROJECT_ID は、実際のプロジェクト ID に置き換えます。次に、サービス エージェントのメールアドレスの PROJECT_NUMBER を置き換えます。
service-PROJECT_NUMBER@gcp-sa-lustre.
サービス エージェントに権限を付与する
サービス エージェント ID を取得したら、次のドキュメントを参照して、機能に必要なロールを付与します。
必要な追加の Google Cloud 権限
lustre 権限に加えて、特定のタスクを実行するために他のGoogle Cloud サービスの権限が必要になる場合があります。
| タスク | 権限 |
|---|---|
| VPC ネットワークを作成する | VPC ネットワークを構成するの必要な権限セクションをご覧ください。 |
| Compute Engine VM を作成する | Compute インスタンス管理者(v1)。(roles/compute.instanceAdmin.v1)
詳細については、Compute Engine のドキュメントをご覧ください。 |
| Google Kubernetes Engine クラスタを作成して管理する | Container 管理者。(roles/container.admin)
詳細については、Google Kubernetes Engine のドキュメントをご覧ください。 |