ユーザーに Identity and Access Management(IAM)のロールを付与することで、Google Cloud Managed Lustre オペレーションへのアクセス権を付与します。
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.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.*)
|
|
|---|---|---|---|
admin |
viewer |
||
| インスタンスの作成 | |||
| インスタンスを削除する | |||
| インスタンスの更新 | |||
| インスタンスを取得する | |||
| インスタンスの一覧取得 | |||
| Cloud Storage との間でデータをインポート / エクスポートする | |||
| ロケーションを取得する | |||
| サポートされているロケーションを一覧表示する | |||
| 長時間実行オペレーションを一覧表示する | |||
| オペレーションを取得する | |||
| オペレーションのキャンセル | |||
| オペレーションを削除する | |||
カスタムロール
使用可能な事前定義ロールが組織のアクセス 要件を満たしていない場合は、 カスタム IAM ロールを作成して適用できます。
カスタムロールを作成する場合は、適切な権限が含まれるように事前定義ロールを組み合わせて使用することをおすすめします。
Managed Lustre サービス エージェント
Managed Lustre は、サービス エージェント を使用して他の Google Cloud リソースにアクセスし、ユーザーに代わってアクションを実行します。サービス エージェントは、プロジェクトで Managed Lustre インスタンスを初めて作成するときに自動的に作成される Google 管理のサービス アカウントです。手動で作成することもできます。
サービス エージェントに権限を付与する必要があるのは、特定のオプション機能を使用する場合のみです。これらの機能を使用しない標準のインスタンス作成とファイル システム オペレーションでは、サービス エージェントの構成は必要ありません。
サービス エージェントの権限が必要な機能
次の機能では、サービス エージェントに IAM ロールを付与する必要があります。
| 機能 | 必要なロール | ターゲット リソース | 説明 |
|---|---|---|---|
| 顧客管理の暗号鍵(CMEK) | roles/cloudkms.cryptoKeyEncrypterDecrypter |
Cloud KMS 鍵 | サービス エージェントが鍵を使用して保存データを暗号化および復号できるようにします。 |
| 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 クラスタを作成して管理する | コンテナ管理者。
(roles/container.admin)
詳細については、Google Kubernetes Engine のドキュメントをご覧ください。 |