このドキュメントでは、IAM プロジェクト管理者からリソースへのアクセスをリクエストするために必要な Identity and Access Management(IAM)のロールと権限について説明します。Google Distributed Cloud(GDC)エアギャップの仮想マシン(VM)でタスクを実行するには、必要な IAM ロールと権限が必要です。
このドキュメントは、GDC 環境で VM を作成して管理するプラットフォーム管理者グループまたはアプリケーション オペレーター グループのデベロッパーを対象としています。詳細については、GDC エアギャップ ドキュメントの対象読者をご覧ください。
IAM について
Distributed Cloud には Identity and Access Management(IAM)機能があり、特定の Distributed Cloud リソースに対するアクセス権を詳細に設定できるため、他のリソースへの不要なアクセスを防ぐことができます。IAM は最小権限の原則に基づいて動作し、IAM のロールと権限を使用して、特定のリソースに対する権限を持つユーザーを制御します。
始める前に
gdcloud CLI コマンドを使用するには、gdcloud コマンドライン インターフェース(CLI)セクションの手順を完了します。Google Distributed Cloud エアギャップのすべてのコマンドは、gdcloud または kubectl CLI を使用し、オペレーティング システム(OS)環境を必要とします。
kubeconfig ファイルのパスを取得する
Management API サーバーに対してコマンドを実行するには、次のリソースが必要です。
Management API サーバーの kubeconfig ファイルがない場合は、ログインして生成します。
これらの手順では、
MANAGEMENT_API_SERVERを Management API サーバーの kubeconfig ファイルのパスに置き換えます。
IAM ロールをリクエストする
IAM プロジェクト管理者に連絡して、プロジェクトに対する次のロールをリクエストしてください。
仮想マシン プロジェクト管理者(project-vm-admin): プロジェクトの名前空間で VM を作成、変更、一覧表示、削除します。
仮想マシンイメージ プロジェクト管理者(project-vm-image-admin): プロジェクトの名前空間で VM イメージを作成、一覧表示、削除します。
すべての VM ロールは、VM が存在するプロジェクトの Namespace にバインドする必要があります。
アプリケーション オペレーター(AO)のすべての事前定義ロールの一覧については、ロールの説明をご覧ください。
VM リソースへのアクセス権を付与または取得するには、プロジェクト リソースへのアクセス権を付与するをご覧ください。
VM リソースへのユーザー アクセスを確認する
手順に沿って GDC コンソールまたは gdcloud CLI にログインし、VM リソースとワークロードへのアクセスを確認します。
コンソール
- 権限をリクエストまたは確認するユーザーとして GDC コンソールにログインします。
- GDC コンソールのホーム画面で組織名とプロジェクト名を確認して、正しいプロジェクトにいることを確認します。
- ナビゲーション メニューで、[Virtual Machines] > [Instances] をクリックします。
- プロジェクトで VM を作成するアクセス権があるかどうかを確認するには、[インスタンスを作成] をクリックします。
- VM の作成を続行できる場合は、VM を作成する権限があります。
- [インスタンスを作成] ボタンが使用できない場合、または権限がないことを示すエラー メッセージが表示された場合は、IAM プロジェクト管理者に連絡して、VM が存在するプロジェクトの名前空間で仮想マシン プロジェクト管理者(
project-vm-admin)ロールをリクエストしてください。
- イメージを表示して作成できるかどうかを確認するには、[Virtual Machines] > [Import] > [Create Image] をクリックします。
- イメージのインポートを続行できる場合は、
VirtualMachineImageImportリソースを作成する権限があります。 - [インポート] オプションまたは [イメージを作成] オプションが使用できない場合、または権限エラーが発生した場合は、IAM プロジェクト管理者に連絡して、VM が存在するプロジェクトの名前空間で仮想マシン イメージ プロジェクト管理者(
project-vm-image-admin)ロールをリクエストしてください。
- イメージのインポートを続行できる場合は、
CLI
アカウントの認証情報、または権限をリクエストまたは確認するユーザーの認証情報を使用してログインします。
kubectlコマンドを使用して、自分またはユーザーが仮想マシンを作成できるかどうかを確認します。kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ auth can-i create virtualmachines.virtualmachine.gdc.goog変数は、次の定義を使用して置き換えます。
変数 置換 MANAGEMENT_API_SERVERgdcloud auth loginのシステム kubeconfig ファイル。PROJECTVM イメージを作成するプロジェクトの名前 - 出力が
yesの場合、プロジェクトPROJECTで VM を作成する権限があります。 - 出力が
noの場合、権限がありません。IAM プロジェクト管理者に連絡して、VM が存在するプロジェクトの名前空間で仮想マシン プロジェクト管理者(project-vm-admin)ロールをリクエストします。
- 出力が
プロジェクト レベルの VM イメージにアクセスできるかどうかを確認します。
kubectlコマンドを実行して、プロジェクト レベルでVirtualMachineImageリソースを作成して使用できるかどうかを確認します。kubectl --kubeconfig MANAGEMENT_API_SERVER auth can-i get virtualmachineimages.virtualmachine.gdc.goog -n PROJECT \ kubectl --kubeconfig MANAGEMENT_API_SERVER auth can-i create virtualmachineimageimports.virtualmachine.gdc.goog -n PROJECT変数は、次の定義を使用して置き換えます。
変数 置換 MANAGEMENT_API_SERVERManagement API サーバーの kubeconfigパスPROJECTVM イメージを作成するプロジェクトの名前 - 出力が
yesの場合、プロジェクト PROJECT のカスタム VM イメージにアクセスする権限があります。 - 出力が
noの場合、権限がありません。IAM プロジェクト管理者に連絡して、VM が存在するプロジェクトの名前空間で仮想マシン イメージ プロジェクト管理者(project-vm-image-admin)ロールをリクエストします。
- 出力が