デフォルトでは、プロジェクトのユーザーは、公開イメージのいずれか、またはプリンシパルが IAM のロールによってアクセスできる任意のイメージを使用して、永続ディスクの作成やイメージのコピーを行うことができます。ただし、状況によっては、ポリシーやセキュリティ要件を満たす承認済みのソフトウェアが含まれるイメージからのみブートディスクを作成するように、プリンシパルの制限が必要になる場合もあります。
プリンシパルが特定のプロジェクトのイメージからのみ永続ディスクを作成できるようにする組織のポリシーを定義するには、信頼できるイメージの機能を使用します。
イメージを使用できるロケーションを制限するには、共有イメージ、ディスク、スナップショットの使用の制限をご覧ください。
始める前に
- 組織レベルでポリシーを管理する方法については、制約の使用のページをご覧ください。
- 組織のポリシーが伝播される仕組みについては、階層評価についてをご覧ください。
-
まだ設定していない場合は、認証を設定します。認証とは、 Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
Trusted Image ポリシーは、次のイメージへのアクセスを制限しません。
ローカル プロジェクトのカスタム イメージ。
Cloud Storage バケットのイメージ ファイル。
信頼できるイメージのポリシーは、ユーザーによるローカル プロジェクト内でのイメージ リソースの作成を妨げるものではありません。
[組織のポリシー] ページに移動します。
ポリシーリストで、[信頼できるイメージ プロジェクトを定義する] をクリックします。[ポリシーの詳細] ページが表示されます。
[ポリシーの詳細] ページで、[ポリシーを管理] をクリックします。[ポリシーの編集] ページが表示されます。
[ポリシーの編集] ページで、[カスタマイズ] を選択します。
[ポリシーの適用] で、適用オプションを選択します。継承とリソース階層の詳細については、階層評価についてをご覧ください。
[ルールを追加] をクリックします。
[ポリシーの値] リストで、この組織のポリシーですべてのイメージ プロジェクトへのアクセスを許可するのか、拒否するのかを選択できます。また、アクセスを許可または拒否するプロジェクトの一連のカスタムセットを指定することもできます。
ポリシールールを設定するには、次のいずれかの操作を行います。
- ユーザーがすべての公開イメージからブートディスクを作成できるようにするには、[すべて許可] を選択します。
- ユーザーがすべての公開イメージからブートディスクを作成できないようにするには、[すべて拒否] を選択します。
ユーザーがブートディスクの作成元として選択できる公開イメージのセットを指定するには、[カスタム] を選択します。[ポリシータイプ] フィールドと [カスタム値] フィールドが表示されます。
- [ポリシータイプ] リストで、[許可] または [拒否] を選択します。
[カスタム値] フィールドに、
projects/IMAGE_PROJECT
の形式でイメージ プロジェクトの名前を入力します。IMAGE_PROJECT
は、制約を設定するイメージ プロジェクトに置き換えます。複数のイメージ プロジェクトを追加できます。追加するイメージ プロジェクトごとに、[追加] をクリックして、イメージ プロジェクト名を入力します。
ルールを保存するには、[完了] をクリックします。
組織のポリシーを保存して適用するには、[保存] をクリックします。
resource-manager org-policies describe
コマンドを使用して、プロジェクトの既存のポリシー設定を取得します。gcloud resource-manager org-policies describe \ compute.trustedImageProjects --project=PROJECT_ID \ --effective > policy.yaml
PROJECT_ID は、実際のプロジェクト ID に置き換えます。
テキスト エディタで
policy.yaml
ファイルを開き、compute.trustedImageProjects
制約を変更します。必要な制限を追加し、かつ、不要になった制限を削除します。ファイルの編集が終了したら、変更を保存します。たとえば、ポリシー ファイルに次の制約エントリを設定できます。constraint: constraints/compute.trustedImageProjects listPolicy: allowedValues: - projects/debian-cloud - projects/cos-cloud deniedValues: - projects/IMAGE_PROJECT
IMAGE_PROJECT は、プロジェクトで制限するイメージ プロジェクトの名前に置き換えます。
必要に応じて、プロジェクト内のカスタム イメージ以外のすべてのイメージへのアクセスを拒否することもできます。その場合は、次の例を使用します。
constraint: constraints/compute.trustedImageProjects listPolicy: allValues: DENY
policy.yaml
ファイルをプロジェクトに適用します。組織またはフォルダに既存の制約がある場合、それらの制約は、設定するプロジェクト レベルの制約と競合する可能性があります。制約を適用するには、resource-manager org-policies set-policy
コマンドを使用します。gcloud resource-manager org-policies set-policy \ policy.yaml --project=PROJECT_ID
PROJECT_ID は、実際のプロジェクト ID に置き換えます。
- 組織ポリシー サービスの詳細を理解する。
- デフォルトで使用できる公開イメージを確認する。
- 他のプロジェクトと非公開イメージを共有する。
- 共有イメージ、ディスク、スナップショットの使用を制限する方法を理解する。
- イメージからインスタンスを起動する方法を理解する。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
制限事項
イメージ アクセスの制約を設定する
プロジェクト、フォルダ、組織に
compute.trustedImageProjects
制約を設定して、イメージ アクセス ポリシーを設定します。これらの制約を設定するには、組織のポリシーを変更する権限が必要です。たとえば、roles/orgpolicy.policyAdmin
には、これらの制約を設定する権限があります。プロジェクト、フォルダ、または組織レベルでポリシーを管理する方法の詳細については、制約の使用をご覧ください。Compute Engine で利用可能なすべての公開イメージに制約を設定できます。イメージ プロジェクト名の一覧については、オペレーティング システムの詳細をご覧ください。また、
ml-images
プロジェクトを使用すると、Compute Engine で利用可能な ML イメージも制限できます。サーバーレス VPC アクセスを使用している場合は、serverless-vpc-access-images
プロジェクトの Compute Engine VM イメージの使用権限をプロジェクトに付与します。Google Cloud コンソールまたは Google Cloud CLI を使用して、イメージ アクセスに制約を設定します。
コンソール
たとえば、プロジェクト レベルで制約を設定するには、次のようにします。
組織のポリシーの作成の詳細については、組織のポリシーの作成と管理をご覧ください。
gcloud
たとえば、プロジェクト レベルで制約を設定するには、次のようにします。
制約の構成が完了したら、それらの制約をテストして必要な制限が作成されることを確認します。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-03-27 UTC。
-