Cloud SQL の組織のポリシー

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

概要

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

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

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

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

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

接続に関する組織のポリシーは、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 Cloud SQL Auth Proxy コンポーネントをインストールするよう求めるプロンプトが表示されます。そのためには、クライアント マシンの gcloud SDK インストール ディレクトリへの書き込み権限が必要です。

GCP でホストされているサービスへのアクセス

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

MySQL のフェイル オーバー レプリカのパブリック IP の競合

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

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 インスタンスにプロキシ接続を使用する。

接続に関する組織のポリシーの既知の問題

承認済みネットワークを制限する制約

承認済みネットワーク エントリがすでに存在する Cloud SQL インスタンスの場合、承認済みネットワークを制限する(sql.restrictAuthorizedNetworks)制約を使用していても、追加の承認済みネットワーク エントリが許可されます。これは、読み取り専用レプリカまたはフェイル オーバー レプリカを有効にしているインスタンスにも影響します。これは、インスタンスにユーザーには表示されないレプリカの承認済みネットワーク エントリがあるためです。

この既知の問題は、制約によって許可されるのが承認済みネットワーク エントリの追加ではなく、削除のみの場合には解消されます。

顧客管理の暗号鍵(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 MySQL インスタンスで CMEK による保護に使用する Cloud KMS 暗号鍵を制限します。この制約により、Cloud SQL が CMEK を使用して新しいインスタンスを作成する場合、CryptoKey は許可されたプロジェクト、フォルダ、または組織から取得する必要があります。

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

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

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

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

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

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

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

次のステップ