イメージの使用の制限

デフォルトでは、プロジェクトのユーザーは、公開イメージのいずれか、またはプロジェクト メンバーが IAM の役割でアクセスできるイメージを使用して、永続ディスクを作成したりイメージをコピーしたりできます。ただし、状況によっては、ポリシーやセキュリティ要件を満たす承認済みのソフトウェアが含まれるイメージからのみブートディスクを作成するように、プロジェクト メンバーを制限することが必要な場合もあります。プロジェクト メンバーが特定のプロジェクトのイメージからのみ永続ディスクを作成できるようにする組織ポリシーを定義できます。

イメージを使用できるロケーションを制限する場合は、共有イメージ、ディスク、スナップショットの使用の制限をご覧ください。

始める前に

制限事項

  • Trusted Image ポリシーは、次のイメージへのアクセスを制限しません。

    • ローカル プロジェクトのカスタム イメージ

    • App Engine、Kubernetes Engine、Cloud SQL など、他の Google Cloud Platform サービスを使用してインスタンスを作成するときに使用できるイメージ。

    • Google Cloud Storage バケットのイメージ ファイル。

  • Trusted Image ポリシーは、ユーザーがローカル プロジェクトでイメージ リソースを作成することを制限しません。

イメージ アクセスの制約を設定する

プロジェクト、組織、またはフォルダに compute.trustedImageProjects 制約を設定して、イメージ アクセス ポリシーを設定します。これらの制約を設定するには、組織ポリシーを変更する権限が必要です。たとえば、resourcemanager.organizationAdmin の役割には、これらの制約を設定する権限があります。組織レベルのポリシーを管理する方法について詳しくは、制約の使用のページをご覧ください。

Console

  1. Console の [Compute Engine - 信頼できるイメージ プロジェクト] ページに移動します。

    [組織ポリシー] ページに移動

  2. ポリシーリストで、[Compute Engine - 信頼できるイメージ プロジェクト] をクリックして信頼できるイメージの制約を表示します。
  3. 既存の信頼できるイメージの制約を編集するには、[編集] をクリックします。
  4. プロジェクトで取得するイメージのパブリッシャーとして、1 つ以上のプロジェクトを許可または拒否する制約を設定します。パブリッシャーとして許可するプロジェクト、拒否するプロジェクトを、次の形式の文字列のリストで指定します。

    projects/[PROJECT_ID]
    

    ここで、[PROJECT_ID] は信頼できるイメージソースとしてマークするプロジェクトのプロジェクト ID です。

組織またはフォルダに既存の制約がある場合、それらの制約は、設定するプロジェクト レベルの制約と競合する可能性があります。 1. [保存] をクリックして制約の設定を適用します。

gcloud

  1. プロジェクトの既存のポリシー設定を取得します。

    gcloud beta resource-manager org-policies describe \
        compute.trustedImageProjects --effective \
        --project [PROJECT_ID] > policy.yaml
    

    ここで、[PROJECT_ID] はプロジェクト ID です。

  2. policy.yaml ファイルをテキスト エディタで開き、compute.trustedImageProjects 制約を変更します。必要な制限を追加したり、不要になった制限を削除したりします。ファイルの編集が終了したら、変更を保存します。たとえば、ポリシー ファイルに次の制約エントリを設定できます。

    constraint: constraints/compute.trustedImageProjects
    listPolicy:
      allowedValues:
        - projects/debian-cloud
        - projects/cos-cloud
      deniedValues:
        - projects/unwanted-images
    

    必要に応じて、プロジェクト内のカスタム イメージ以外のすべてのイメージへのアクセスを拒否することもできます。その場合は、次の例を使用します。

    constraint: constraints/compute.trustedImageProjects
    listPolicy:
      allValues: DENY
    
  3. プロジェクトに policy.yaml ファイルを適用します。組織またはフォルダに既存の制約がある場合、それらの制約は、設定するプロジェクト レベルの制約と競合する可能性があります。

    gcloud beta resource-manager org-policies set-policy
    --project [PROJECT_ID] policy.yaml
    

    ここで、[PROJECT_ID] はプロジェクト ID です。

制約の構成が完了したら、それらの制約をテストして、必要な制約が作成されていることを確認します。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Compute Engine ドキュメント