IAM 権限の準備

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

このドキュメントは、GDC 環境で VM を作成して管理するプラットフォーム管理者またはアプリケーション オペレーター グループのデベロッパーを対象としています。

IAM について

GDC エアギャップ アプライアンスには、特定の GDC エアギャップ アプライアンス リソースへのきめ細かいアクセスを可能にし、他のリソースへの不要なアクセスを防ぐ Identity and Access Management(IAM)が用意されています。IAM は最小権限の原則のセキュリティ原則に基づいて動作し、IAM のロールと権限を使用して、特定のリソースへのアクセス権を持つユーザーを制御します。

始める前に

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

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

  1. `gdcloud auth login` を実行して gdcloud auth login Management API サーバー に接続します。

    1. 生成されたファイルのパスを記録します。記録するパスの例を次に示します。
      /tmp/admin-kubeconfig-with-user-identity.yaml

    2. このパスを使用して、この手順の MANAGEMENT_API_SERVER を置き換えます。

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

プロジェクトに対する次のロールをリクエストするには、プロジェクト IAM 管理者にお問い合わせください。

  • プロジェクト VirtualMachine 管理者 (project-vm-admin): プロジェクト名前空間で VM を作成、変更、一覧表示、削除します。

  • プロジェクト VirtualMachine イメージ管理者 (project-vm-image-admin): プロジェクト名前空間で VM イメージを作成、一覧表示、削除します。

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

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

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

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

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

コンソール

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

CLI

  1. ログインして、権限をリクエストまたは確認する ユーザーとして操作します。

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

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

    変数は次の定義で置き換えます。

    変数 置換
    MANAGEMENT_API_SERVER 管理 API サーバーの kubeconfig パス
    PROJECT VM イメージを作成するプロジェクト名
    • 出力が yes の場合、プロジェクト PROJECT に VM を作成する権限があります。
    • 出力が no の場合、権限がありません。プロジェクト IAM 管理者に連絡し、VM が存在するプロジェクトの名前空間でプロジェクト VirtualMachine 管理者(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 管理 API サーバーの kubeconfig パス
    PROJECT VM イメージを作成するプロジェクト名
    • 出力が yes の場合、ユーザーはプロジェクト PROJECT のカスタム VM イメージにアクセスする権限があります。
    • 出力が no の場合、権限がありません。プロジェクト IAM 管理者に連絡し、VM が存在するプロジェクトの名前空間でプロジェクト VirtualMachine イメージ管理者(project-vm-image-admin)ロールをリクエストしてください。

次のステップ