IAM 権限の準備

このドキュメントでは、プロジェクトの IAM 管理者にリソース アクセスをリクエストするために必要な Identity and Access Management(IAM)のロールと権限について説明します。Google Distributed Cloud(GDC)のエアギャップ環境で仮想マシン(VM)に対してタスクを実行するには、必要な IAM ロールと権限が必要です。

このドキュメントは、GDC 環境で VM を作成して管理するプラットフォーム管理者グループまたはアプリケーション オペレーター グループのデベロッパーを対象としています。詳細については、GDC エアギャップの対象読者に関するドキュメントをご覧ください。

IAM について

Distributed Cloud には、特定の Distributed Cloud リソースに対するきめ細かいアクセス権を付与し、他のリソースへの不要なアクセスを防ぐ Identity and Access Management(IAM)が用意されています。IAM は最小権限の原則に基づいて動作し、IAM ロールと権限を使用して、特定のリソースに対する権限を持つユーザーを制御します。

始める前に

gdcloud CLI コマンドを使用するには、gdcloud コマンドライン インターフェース(CLI)セクションの必要な手順を完了します。Google Distributed Cloud エアーギャップのすべてのコマンドは、gdcloud または kubectl CLI を使用し、オペレーティング システム(OS)環境を必要とします。

kubeconfig ファイルのパスを取得する

Management API サーバーに対してコマンドを実行するには、次のリソースがあることを確認します。

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

  2. これらの手順では、Management API サーバーの kubeconfig ファイルのパスを使用して MANAGEMENT_API_SERVER を置き換えます。

IAM ロールをリクエストする

プロジェクトに対する次のロールをリクエストするには、プロジェクト IAM 管理者に連絡してください。

  • 仮想マシン プロジェクト管理者(project-vm-admin): プロジェクト Namespace で VM を作成、変更、一覧表示、削除します。

  • 仮想マシン イメージ プロジェクト管理者(project-vm-image-admin): プロジェクト Namespace で VM イメージを作成、一覧表示、削除します。

すべての VM ロールは、VM が存在するプロジェクトの Namespace にバインドする必要があります。

アプリケーション オペレーター(AO)の事前定義ロールの一覧については、ロールの説明をご覧ください。

VM リソースへのアクセス権を付与または取得するには、プロジェクト リソースへのアクセス権を付与するをご覧ください。

VM リソースへのユーザー アクセスを確認する

次の手順に沿って GDC コンソールまたは gdcloud CLI にログインし、VM リソースとワークロードへのアクセスを確認します。

コンソール

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

次のステップ