Google Distributed Cloud(GDC)エアギャップで仮想マシン(VM)に対してタスクを実行する前に、適切な ID とアクセス(IAM)ロールと権限が必要です。
始める前に
gdcloud CLI コマンドを使用するには、gdcloud コマンドライン インターフェース(CLI)セクションの必要な手順を完了します。Google Distributed Cloud Air-gapped のすべてのコマンドは、gdcloud
または kubectl
CLI を使用し、オペレーティング システム(OS)環境を必要とします。
kubeconfig ファイルのパスを取得する
Management API サーバーに対してコマンドを実行するには、次のリソースがあることを確認します。
Management API サーバーの kubeconfig ファイルがない場合は、ログインして生成します。
これらの手順では、Management API サーバーの kubeconfig ファイルのパスを使用して
MANAGEMENT_API_SERVER
を置き換えます。
IAM について
Distributed Cloud には、特定の Distributed Cloud リソースに対するアクセス権を詳細に設定し、他のリソースへの不要なアクセスを防ぐための Identity and Access Management(IAM)機能があります。IAM は最小権限のセキュリティ原則に基づいて動作し、IAM ロールと権限を使用して、特定のリソースに対する権限を持つユーザーを制御します。
ログインの IAM ドキュメントをご覧ください。このドキュメントには、GDC コンソールまたは gdcloud CLI にログインして kubectl
を使用してワークロードにアクセスする手順が記載されています。
VM リソースに対する事前定義ロール
プロジェクトに VM と VM ディスクを作成するには、特定のプロジェクトに対する適切な権限をプロジェクト IAM 管理者にリクエストします。すべての VM ロールは、VM が存在するプロジェクトの Namespace にバインドする必要があります。仮想マシンを管理するために、プロジェクト IAM 管理者は次の事前定義ロールを割り当てることができます。
- プロジェクト VirtualMachine 管理者
project-vm-admin
: プロジェクト Namespace の VM を管理します。 - プロジェクト VirtualMachine イメージ管理者
project-vm-image-admin
: プロジェクト Namespace の VM イメージを管理します。
Application Operators(AO)の事前定義ロールの一覧については、ロールの説明をご覧ください。
VM の一般的な事前定義ロールは次のとおりです。一般的なロールの詳細については、一般的なロールをご覧ください。
- VM タイプ閲覧者
vm-type-viewer
: 事前定義された VM タイプに対する読み取りアクセス権があります。 - 公開イメージ閲覧者
public-image-viewer
: GDC が提供するイメージに対する読み取りアクセス権があります。
VM リソースへのアクセス権を付与または取得するには、プロジェクト リソースへのアクセス権を付与するをご覧ください。
VM リソースへのユーザー アクセスを確認する
権限をリクエストまたは確認するユーザーとしてログインします。
自分またはユーザーが仮想マシンを作成できるかどうかを確認します。
kubectl --kubeconfig MANAGEMENT_API_SERVER auth can-i create virtualmachines.virtualmachine.gdc.goog -n PROJECT
次の定義を使用して変数を置き換えます。
変数 置換 MANAGEMENT_API_SERVER
gdcloud auth login
のシステム kubeconfig ファイル。PROJECT
VM イメージを作成するプロジェクト名。 - 出力が
yes
の場合、プロジェクトPROJECT
に VM を作成する権限があります。 - 出力が
no
の場合は、権限がありません。プロジェクトの IAM 管理者に連絡し、VM が存在するプロジェクトの Namespace でプロジェクトの VirtualMachine 管理者(project-vm-admin
)ロールへの割り当てをリクエストします。
- 出力が
省略可: ユーザーがプロジェクト レベルの 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 管理者ロールに連絡し、VM が存在するプロジェクトの Namespace でプロジェクト VirtualMachine イメージ管理者(project-vm-image-admin
)ロールへの割り当てをリクエストします。
- 出力が