コンテンツに移動
ネットワーキング

新しい Cloud DNS レスポンス ポリシーで Google API へのアクセスが簡単に

2021年2月3日
https://storage.googleapis.com/gweb-cloudblog-publish/images/GCP-networking-01.max-2600x2600.jpg
Google Cloud Japan Team

※この投稿は米国時間 2021 年 1 月 28 日に、Google Cloud blog に投稿されたものの抄訳です。

Google Cloud 上にアプリケーションを構築している組織は Google API を多用し、デベロッパーが Google Cloud インフラストラクチャに機能豊富でスケーラブルなサービスを構築できます。とはいえ、組織が VPC Service Controls を使用してリソースを分離し、データ漏洩のリスクを軽減している場合、Google API にアクセスするのは困難になる可能性があります。そこで本日は Cloud DNS レスポンス ポリシーをご紹介します。この新機能を使用すると、ネットワーク管理者は組織のポリシーに従って DNS リゾルバの動作を変更できるため、VPC Service Controls 境界内から Google API へのプライベート接続の設定が簡単になります。

これまで、こうした接続設定はお客様にとって課題でした。特に、API が restricted.googleapis.com 内で利用できず、VPC SC 境界内でアクセスできないサービスの場合に問題になります。さらに、restricted.googleapis.com へのアクセスの構成は一筋縄ではいきません。既存のプライベート DNS ゾーンに加えて、Google サービスにアクセスするためだけに新しいプライベート DNS ゾーンを作成し、使用中の API に対応するレコードを追加する必要があります。ワイルドカード *.googleapis.com DNS ゾーンを作成して制限付き VIP に指定するという単純な方法では、制限付き VIP で利用できないサービスが中断されてしまいます。

しかし、Cloud DNS レスポンス ポリシーを使用すると、ユーザー エクスペリエンスを簡素化できます。レスポンス ポリシー ゾーン(RPZ)の Internet Draft のサブセットに基づき、一連のルールに従ってリゾルバの動作を変更できます。そのため、ネットワークごとに 1 つのレスポンス ポリシーを作成して次のことが可能になります。

  • 特定のリソース レコードを指定して、選択したクエリ名(ワイルドカードを含む)の結果を変更する

  • passthru 動作をトリガーして名前がレスポンス ポリシーに一致しないようにする。具体的には、名前をワイルドカード一致から除外して、通常のプライベート DNS 一致(またはインターネット解決)でワイルドカードに一致しない場合と同様に続行できます。

これを利用して、VPC Service Controls 境界内から Google API へのプライベート接続を設定できます。これを機能させるために、ネットワークにバインドされた(DNS ゾーンの代わりに)レスポンス ポリシーを作成し、CNAME を含む *.googleapis.com の localdata ルールを追加します。これにより、passthru ルールを作成してサポートされていない名前(www.googleapis.com など)を除外できます。サポートされていない名前の場合を除き、クエリは制限付きの応答を受信します。サポートされていない名前の場合は、通常のインターネット結果を受け取ります。次のスニペットは実現する方法を示しています。

読み込んでいます...

ただし、Cloud DNS レスポンス ポリシーを使用する場合にいくつかの注意点があります。passthru 構成は NXDOMAIN を生成できないため、実際の DNS ゾーンに代わるものではありません。

ここで説明するように、レスポンス ポリシーは他のいくつかの方法でも使用できます。example.com などの名前を指定した DNS ゾーンは、その下の階層全体を管理します。レスポンス ポリシー ルールでは、DNS ゾーンを作成して特定の DNS 名の動作を変更する必要がありません。また、レスポンス ポリシーが一致してから他の処理が行われるため、他のプライベート DNS リソースをオーバーライドできます。たとえば、dev ネットワーク環境で(DNS ピアリングを介して)本番環境の DNS 限定公開ゾーンをインポートする場合、特定の名前に「パッチを適用」して dev エンドポイントを参照でき、残りの DNS ゾーンに影響を与えずに済みます。

次に例を示します。

読み込んでいます...

上述のスニペットでレスポンス ポリシーを設定し、DNS ゾーンに関連付けます。次に、名前の末尾が dev.example.com である開発サーバー IP を提供するルールを作成します。

次の例では、情報の IP にリダイレクトしてインターネット上の危険な名前をブロックでき、大量の「スタブ」限定公開 DNS ゾーンを管理するオーバーヘッドが発生する可能性がありません。

次に例を示します。

読み込んでいます...

上述のスニペットでは、まず既存のネットワーク / ゾーンに関連付けられた「blocklist-response-policy」という名前のレスポンス ポリシーを作成します。次に、bad.actor.com への DNS リクエストを情報ウェブサーバーにすべてリダイレクトする新しいルールを作成します。

セキュリティを犠牲にしないサービス

高機能なアプリケーションの構築のためには、セキュリティを犠牲にすることはできません。複雑なマルチテナント環境の場合はなおさらです。Cloud DNS レスポンス ポリシーは Google API へのアクセスを構成するための柔軟な新しい方法を提供します。新機能の詳細を確認し試すには、ドキュメントをご覧ください。

-プロダクト マネージャー Karthik Balakrishnan

-ソフトウェア エンジニア Robert Mead

投稿先