Cloud SQL の組織のポリシー

このページでは、Cloud SQL プロジェクトで組織のポリシーを使用する方法について説明します。組織のポリシーの作成を開始するには、組織のポリシーの追加をご覧ください。

概要

組織のポリシーを使用すると、組織管理者はユーザーがその組織の下でインスタンスを構成する方法を制限できます。組織のポリシーは、組織管理者がプロジェクト、フォルダ、または組織に適用する、制約と呼ばれるルールを使用します。制約により、すべてのインスタンスに対してポリシーが適用されます。たとえば、組織のポリシーを持つエンティティにインスタンスを作成しようとすると、制約によってインスタンスの構成が制約の要件に従っているかどうかチェックされます。チェックが失敗した場合、Cloud SQL はインスタンスを作成しません。

組織のポリシーを使用する組織またはフォルダにプロジェクトを追加すると、プロジェクトにそのポリシーの制約が継承されます。

組織のポリシーの詳細については、組織のポリシー サービス制約階層評価をご覧ください。

Cloud SQL に固有の組織のポリシーには次の種類があります。

事前定義された組織のポリシー

事前定義された制約を使用して、Cloud SQL インスタンスのパブリック IP の設定と顧客管理の暗号鍵(CMEK)の設定を制御できます。サポートされているその他の設定をきめ細かくカスタマイズして管理するには、カスタム制約を使用します。詳細については、カスタムの組織のポリシーをご覧ください。

接続に関する組織のポリシー

接続に関する組織のポリシーによって、Cloud SQL のパブリック IP 設定の一元管理が可能になり、インターネットからの Cloud SQL インスタンスに対するセキュリティ攻撃対象領域を減らすことができます。組織ポリシー管理者は、接続ポリシーを使用して、プロジェクト、フォルダ、または組織レベルで Cloud SQL のパブリック IP 構成を制限できます。

接続に関する組織のポリシーの制約

接続に関する組織のポリシーには、Cloud SQL インスタンスへのアクセスを制限する 2 種類の制約があります。

制約 説明 デフォルト
Cloud SQL インスタンスに対するパブリック IP のアクセスを制限する このブール型制約が True に設定されている Cloud SQL インスタンスに対するパブリック IP の構成が制限されます。この制約は遡及的ではありません。パブリック IP アクセスがすでにある Cloud SQL インスタンスは、この制約の適用後も機能します。

デフォルトでは、Cloud SQL インスタンスへのパブリック IP アクセスは許可されます。

constraints/sql.restrictPublicIp
許可
Cloud SQL インスタンスに対する承認済みネットワークを制限する True に設定すると、このブール型制約は、Cloud SQL インスタンスへのプロキシを経由しないデータベース アクセスに関して、承認済みネットワークの追加を制限します。この制約は遡及的ではありません。承認済みネットワークがすでにある Cloud SQL インスタンスは、この制約の適用後も引き続き機能します。
デフォルトでは、Cloud SQL インスタンスに承認済みネットワークを追加できます。

constraints/sql.restrictAuthorizedNetworks
許可

接続に関する組織のポリシーの制限事項

プロジェクトごとに組織のポリシーを設定する場合は、次のいずれかがプロジェクトに当てはまるか判断する必要があります。

リードレプリカのパブリック IP アドレスの競合

Cloud SQL リードレプリカは、プロキシを使用しないデータベース接続を介してプライマリ インスタンスに接続します。プライマリ インスタンスの承認済みネットワーク設定を使用して、リードレプリカのパブリック IP アドレスを明示的または暗黙的に構成します。

プライマリ インスタンスとレプリカ インスタンスの両方が同じリージョン内にあり、プライベート IP を有効にしている場合、接続に関する組織のポリシーの制約とは競合しません。

gcloud sql connect 使用時の非互換性

gcloud sql connect コマンドは、パブリック IP アドレスを使用して Cloud SQL インスタンスに直接接続します。そのため、sql.restrictPublicIp 制約との互換性はありません。これは通常、プライベート IP を使用するインスタンスの問題です。

さらに、gcloud sql connect コマンドはプロキシを使用しないため、sql.restrictAuthorizedNetworks 制約との互換性がありません。

代わりに、コマンドのベータ版を使用します。

gcloud beta auth login
gcloud beta sql connect [INSTANCE_ID]

このバージョンでは Cloud SQL Auth Proxy が使用されます。参照情報については、gcloud beta sql connect をご覧ください。

このコマンドを初めて実行すると、gcloud CLI Cloud SQL Auth Proxy コンポーネントをインストールするよう求められます。そのためには、クライアント マシンの gcloud CLI SDK インストール ディレクトリへの書き込み権限が必要です。

Google Cloud ホスト型サービスのアクセス

App Engine など Google Cloud でホストされている他のサービスから Cloud SQL インスタンスにアクセスする必要がある場合、アプリケーションはパブリック IP アドレスを使用する必要があります。プロジェクトに sql.restrictPublicIp 制約を適用しないでください。ただし、App Engine からの接続は安全な(プロキシされた)接続を経由するため、sql.restrictAuthorizedNetworks を適用できます。

RFC 1918 以外のプライベート IP アドレス

プライベート IP アドレスを使用して Cloud SQL インスタンスへ接続すると、RFC 1918 アドレス範囲が自動的に承認されます。これにより、すべてのプライベート クライアントは、プロキシを経由せずにデータベースにアクセスできます。RFC 1918 以外のアドレス範囲を承認済みネットワークとして構成する必要があります。

承認済みネットワークで構成されていない RFC 1918 以外のプライベート IP 範囲を使用するには、次のいずれかまたは両方を行います。

  1. sql.restrictAuthorizedNetworks を適用しない。また、承認済みネットワークが sql.restrictPublicIp を適用している場合、コンソールでは構成できません。代わりに、Cloud SQL API または gcloud CLI を使用してください。
  2. プライベート IP インスタンスにプロキシ接続を使用する。

顧客管理の暗号鍵(CMEK)の組織のポリシー

Cloud SQL は、組織全体の CMEK の保護に役立つ constraints/gcp.restrictNonCmekServicesconstraints/gcp.restrictCmekCryptoKeyProjects の 2 つの組織のポリシー制約をサポートしています。

constraints/gcp.restrictNonCmekServices 制約では、sqladmin.googleapis.com に対する CMEK 保護を要求します。この制約と、sqladmin.googleapis.com をサービスの Deny ポリシーリストに追加すると、CMEK で有効になっている場合を除き、Cloud SQL は新しいインスタンスの作成を拒否します。

constraints/gcp.restrictCmekCryptoKeyProjects 制約は、Cloud SQL for PostgreSQL インスタンスで CMEK による保護に使用する Cloud KMS 暗号鍵を制限します。この制約により、Cloud SQL が CMEK を使用して新しいインスタンスを作成する場合、CryptoKey は許可されたプロジェクト、フォルダ、または組織から取得する必要があります。

これらの制約は、新しく作成された Cloud SQL for PostgreSQL インスタンスにのみ適用されます。

概要について詳しくは、CMEK の組織のポリシーをご覧ください。CMEK の組織のポリシーの制約については、組織のポリシーの制約をご覧ください。

カスタムの組織のポリシー

設定をきめ細かくカスタマイズ可能な方法で制御するには、カスタム制約を作成して、カスタムの組織のポリシーでそれらのカスタム制約を使用します。カスタムの組織のポリシーを使用して、セキュリティ、コンプライアンス、ガバナンスを改善できます。

カスタムの組織のポリシーの作成方法については、カスタムの組織のポリシーを追加するをご覧ください。カスタム制約でサポートされているフィールドのリストも確認できます。

組織のポリシーの適用ルール

Cloud SQL は、次のオペレーション中に組織のポリシーを適用します。

  • インスタンスの作成
  • レプリカの作成
  • インスタンスの再起動
  • インスタンスの移行
  • インスタンスのクローン作成

すべての組織のポリシーの制約と同様に、ポリシーの変更は既存のインスタンスに遡及的には適用されません。

  • 新しいポリシーは、既存のインスタンスには影響しません。
  • ユーザーがコンソール、gcloud CLI、または RPC を使用してインスタンス構成をコンプライアンス状態から非コンプライアンス状態に変更しない限り、既存のインスタンス構成は有効なままです。
  • メンテナンスはインスタンスの構成を変更しないので、定期メンテナンス更新によってポリシーが適用されることはありません。

次のステップ