IAM 権限の準備

Google Distributed Cloud(GDC)エアギャップ アプライアンスの仮想マシン(VM)でタスクを実行する前に、適切な ID とアクセス(IAM)ロールと権限が必要です。

GDC エアギャップ アプライアンスは、特定の GDC エアギャップ アプライアンス リソースに対するきめ細かいアクセス制御のための Identity and Access Management(IAM)を提供し、他のリソースへの不要なアクセスを防ぎます。IAM は最小権限のセキュリティ原則に基づいて動作し、(ID)がどの権限(ロール)を持ち、どのリソースにアクセスできるかを制御します。仮想マシン(VM)を操作するには、必要なロールと権限が割り当てられている必要があります。

始める前に

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

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

  1. gdcloud auth loginManagement API サーバーに実行します。

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

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

IAM について

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

ログインの IAM ドキュメントをご覧ください。このドキュメントには、GDC コンソールまたは gdcloud CLI にログインして kubectl を使用してワークロードにアクセスする手順が記載されています。

VM リソースに対する事前定義ロール

プロジェクトに VM と VM ディスクを作成するには、特定のプロジェクトに対する適切な権限をプロジェクト IAM 管理者にリクエストします。仮想マシンを管理するために、プロジェクト IAM 管理者は次の事前定義ロールを割り当てることができます。

  • プロジェクト VirtualMachine 管理者: プロジェクト名前空間の VM を管理します。
  • プロジェクト VirtualMachine Image 管理者: プロジェクト Namespace の VM イメージを管理します。

Application Operators(AO)の事前定義ロールの一覧については、ロールの説明をご覧ください。

VM の一般的な事前定義ロールは次のとおりです。一般的なロールの詳細については、一般的なロールをご覧ください。

  • VM タイプの閲覧者: 事前定義された VM タイプに対する読み取りアクセス権があります。
  • 公開イメージ閲覧者: GDC エアギャップ アプライアンスが提供するイメージに対する読み取りアクセス権があります。

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

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

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

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

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

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

    変数 置換
    MANAGEMENT_API_SERVER gdcloud auth login からの Management API サーバー kubeconfig パス
    PROJECT VM イメージを作成する

    出力が yes の場合、プロジェクト PROJECT に VM を作成する権限があります。
    出力が no の場合、権限がありません。プロジェクト IAM 管理者に連絡して、プロジェクト仮想マシン管理者(project-vm-admin)ロールへの割り当てをリクエストします。

  3. 省略可: ユーザーがプロジェクト レベルの VM イメージにアクセスできるかどうか、プロジェクト レベルで 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 管理者のロールを持つユーザーに連絡し、プロジェクト VirtualMachine イメージ管理者(project-vm-image-admin)ロールへの割り当てをリクエストします。