IAM 権限の準備

このドキュメントでは、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 サーバーに対してコマンドを実行するには、次のリソースが必要です。

  1. Management API サーバーの kubeconfig ファイルがない場合は、ログインして生成します。

  2. これらの手順では、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 リソースとワークロードへのアクセスを確認します。

コンソール

  1. 権限をリクエストまたは確認するユーザーとして GDC コンソールにログインします。
  2. GDC コンソールのホーム画面で組織名とプロジェクト名を確認して、正しいプロジェクトにいることを確認します。
  3. ナビゲーション メニューで、[Virtual Machines] > [Instances] をクリックします。
  4. プロジェクトで VM を作成するアクセス権があるかどうかを確認するには、[インスタンスを作成] をクリックします。
    • VM の作成を続行できる場合は、VM を作成する権限があります。
    • [インスタンスを作成] ボタンが使用できない場合、または権限がないことを示すエラー メッセージが表示された場合は、IAM プロジェクト管理者に連絡して、VM が存在するプロジェクトの名前空間で仮想マシン プロジェクト管理者(project-vm-admin)ロールをリクエストしてください。
  5. イメージを表示して作成できるかどうかを確認するには、[Virtual Machines] > [Import] > [Create Image] をクリックします。
    • イメージのインポートを続行できる場合は、VirtualMachineImageImport リソースを作成する権限があります。
    • [インポート] オプションまたは [イメージを作成] オプションが使用できない場合、または権限エラーが発生した場合は、IAM プロジェクト管理者に連絡して、VM が存在するプロジェクトの名前空間で仮想マシン イメージ プロジェクト管理者(project-vm-image-admin)ロールをリクエストしてください。

CLI

  1. アカウントの認証情報、または権限をリクエストまたは確認するユーザーの認証情報を使用してログインします。

  2. kubectl コマンドを使用して、自分またはユーザーが仮想マシンを作成できるかどうかを確認します。

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      auth can-i create virtualmachines.virtualmachine.gdc.goog
    

    変数は、次の定義を使用して置き換えます。

    変数 置換
    MANAGEMENT_API_SERVER gdcloud auth login のシステム kubeconfig ファイル。
    PROJECT VM イメージを作成するプロジェクトの名前
    • 出力が yes の場合、プロジェクト PROJECT で VM を作成する権限があります。
    • 出力が no の場合、権限がありません。IAM プロジェクト管理者に連絡して、VM が存在するプロジェクトの名前空間で仮想マシン プロジェクト管理者(project-vm-admin)ロールをリクエストします。
  3. プロジェクト レベルの 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_SERVER Management API サーバーの kubeconfig パス
    PROJECT VM イメージを作成するプロジェクトの名前
    • 出力が yes の場合、プロジェクト PROJECT のカスタム VM イメージにアクセスする権限があります。
    • 出力が no の場合、権限がありません。IAM プロジェクト管理者に連絡して、VM が存在するプロジェクトの名前空間で仮想マシン イメージ プロジェクト管理者(project-vm-image-admin)ロールをリクエストします。

次のステップ