リソース使用量の制限

このページでは、企業管理者が Google Cloud のリソース階層内で使用できる Google Cloud サービスを制御するための、リソース サービスの使用を制限する組織のポリシーの制約の概要を説明します。制約は、組織、フォルダ、またはプロジェクトのリソースの直接の子孫となるリソースがあるサービスにのみ適用されます。たとえば、Compute Engine や Cloud Storage などです。

リソース サービスの使用を制限する制約は、Identity and Access Management(IAM)、Cloud Logging、Cloud Monitoring などの Google Cloud プロダクトに不可欠な依存関係である特定のサービスを除外し、これらは機能しません。この制約でサポートされているクラウド リソース サービスの一覧については、リソース使用でサポートされるサービスの制限をご覧ください。

管理者は、この制約を使用して、リソース コンテナ(組織、フォルダ、プロジェクトなど)内の許された Google Cloud リソース サービスに階層的な制限を定義できます。たとえば、プロジェクト X 内では storage.googleapis.com を許可し、フォルダ Y 内では compute.googleapis.com を拒否します。

[リソース サービスの使用を制限する] 制約は、次の 2 つの排他的な方法で使用できます。

  • 拒否リスト - 拒否されていないサービスのリソースは許可されます。

  • 許可リスト - 許可されていないサービスのリソースは拒否されます。

[リソース サービスの使用を制限する] 制約は、すべての対象リソースへのランタイム アクセスを制御します。この制約を含む組織のポリシーが更新されると、ポリシーのスコープ内のすべてのリソースへのすべてのアクセスに、結果整合性に基づいて直ちに適用されます。

管理者は、この制約を含む組織のポリシーの更新を慎重に管理することをおすすめします。タグを使用して条件付きで制約を適用すると、このポリシーの変更をより安全にロールアウトできます。詳細については、タグ付きの組織のポリシーの設定をご覧ください。

このポリシーによってサービスが制限されると、制限付きサービスに直接依存している一部の Google Cloud サービスも制限されます。これは、同じ顧客リソースを管理するサービスにのみ適用されます。たとえば、Google Kubernetes Engine(GKE)は Compute Engine に依存しています。Compute Engine を制限すると、GKE も制限されます。

リソース サービスの使用を制限する制約の使用

組織のポリシーの制約は、組織、フォルダ、プロジェクト レベルで設定できます。各ポリシーは、対応するリソース階層内のすべてのリソースに適用されますが、リソース階層の下位レベルでオーバーライドできます。

ポリシー評価の詳細については、階層評価を理解するをご覧ください。

組織ポリシーの設定

組織ポリシーの設定、変更、削除を行うには、組織ポリシー管理者の役割が必要です。

Console

リソース サービスの使用を制限する 制約を含む組織のポリシーを設定するには、次のようにします。

  1. Google Cloud Console の [組織のポリシー] ページに移動します。

[組織のポリシー] に移動

  1. 画面上部のプロジェクト選択ツールで、ポリシーを設定するリソースを選択します。

  2. 組織のポリシーのテーブルで、[リソース サービスの使用を制限する] を選択します。

  3. [編集] をクリックします。

  4. [対象] で、[カスタマイズ] を選択します。

  5. [ポリシーの適用] で、このポリシーに継承を適用する方法を選択します。

    1. 親リソースの組織のポリシーを継承してこれと結合する場合は、[親と結合する] を選択します。

    2. 既存の組織のポリシーをオーバーライドする場合は、[置換] を選択します。

  6. [ポリシーの値] で [カスタム] を選択します。

  7. [ポリシーの種類] で、拒否リストの場合は [拒否]、許可リストの場合は [許可] を選択します。

  8. [カスタム値] で、ブロックまたは許可するサービスをリストに追加します。

    1. たとえば、Cloud Storage をブロックするには、「storage.googleapis.com」と入力します。

    2. さらにサービスを追加するには、[新しいポリシーの値] をクリックします。

    拒否リストへのサービス値の入力

  9. ページの右側で、ポリシーの概要を確認します。

  10. ポリシーを適用するには、[保存] をクリックします。

gcloud

組織のポリシーは Google Cloud CLI を使用して設定できます。リソース サービスの使用を制限する 制約を含む組織のポリシーを適用するには、まず更新するポリシーを含む YAML ファイルを作成します。

$ cat /tmp/policy.yaml
constraint: constraints/gcp.restrictServiceUsage
  list_policy:
  denied_values:
    - file.googleapis.com
    - bigquery.googleapis.com
    - storage.googleapis.com

このポリシーをリソースに設定するには、次のコマンドを実行します。

gcloud beta resource-manager org-policies set-policy \
    --project='PROJECT_ID' /tmp/policy.yaml

ここで

  • PROJECT_ID は、この組織のポリシーを適用するリソースのプロジェクト ID です。

組織ポリシーで制約を使用する方法については、制約の使用をご覧ください。

エラー メッセージ

リソース階層 B 内のサービス A を拒否するように組織のポリシーを設定した場合、クライアントがリソース階層 B 内のサービス A を使用しようとすると、そのオペレーションは失敗します。失敗の理由を説明するエラーが返されます。また、AuditLog エントリが、詳細なモニタリング、アラート、デバッグ用に生成されます。

エラー メッセージの例

Request is disallowed by organization's constraints/gcp.restrictServiceUsage
constraint for projects/PROJECT_ID attempting to use service
storage.googleapis.com.

Cloud Audit Logs の例

Audit Log エントリの例のスクリーンショット