リソース使用量の制限

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このページでは、企業の管理者が Google Cloud リソースの階層内で使用できる Google Cloud リソース サービスを制御できるガバナンス ポリシーである Resource Usage Restriction(RUR)の概要について説明します。RUR は現在、Compute Engine や Cloud Storage など、お客様のリソースを直接管理するサービスにのみ適用されます。

RUR は Identity and Access Management(IAM)、Cloud Logging、Cloud Monitoring などの Google Cloud 共有インフラストラクチャ サービスは対象外で、そこでは機能しません。この制約によって除外されるサービスのリストについては、リソースの使用がサポートされていないサービスを制限するをご覧ください。

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

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

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

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

[リソース サービスの使用を制限する] 制約は、すべてのスコープ内リソースへのランタイム アクセスを制御します。RUR ポリシーが更新されると、すぐにポリシーのスコープ内のすべてのリソースへのすべてのアクセスに適用され、結果整合性が適用されます。

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

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

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

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

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

組織ポリシーの設定

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

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 エントリの例のスクリーンショット