コンテンツに移動
セキュリティ & アイデンティティ

Cloud SQL for PostgreSQL と Cloud SQL for MySQL のローカル ユーザー向けパスワード ポリシーの紹介

2022年8月9日
Google Cloud Japan Team

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

データベース環境の構築と管理において、データ侵害の阻止は重要な優先事項です。リスクを軽減するとともに、ベスト プラクティスと規制基準を遵守するには、ユーザーおよびアプリケーションのパスワードで高レベルのセキュリティ基準を満たす必要があります。

こういった課題に対処するために、Cloud SQL for PostgreSQL および Cloud SQL for MySQL のローカル ユーザー向けパスワード認証機能の一般提供を開始したことをお知らせします。この機能を利用すると、ローカル データベース ユーザー向けにパスワード ルールを設定することで、データベースのセキュリティを強化できます。この機能は、既存の Identity and Access Management(IAM)統合を補完するものです。

PostgreSQL 向けパスワード認証

Cloud SQL for PostgreSQL では、インスタンス レベルでパスワード認証を設定できるようになりました。すべてのローカル ユーザー(デフォルトの postgres 管理者を含む)に適用されるルールをインスタンス レベルで設定できます。次のようなルールを構成できます。

  • パスワードの複雑さ

  • パスワードの最小文字数

  • パスワードが再利用可能になるまでの変更回数

  • パスワードでのユーザー名の使用禁止

  • パスワードが次に変更可能になるまでの最小日数の設定

次に示したものは、PostgreSQL のインスタンス レベルのポリシーを設定するための新しいコンソール ユーザー インターフェースです。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_password_policies.max-1200x1200.jpg

MySQL 向けパスワード認証

MySQL 向けパスワード認証では、既存のパスワード認証プラグインがサポートされるうえ、簡単に使用できるようにするためにさまざまな改善が加えられています。Cloud SQL for MySQL には、インスタンス レベルのパスワード ポリシーユーザーレベルのパスワード ポリシーの 2 つのレベルのパスワード設定が導入されました。

インスタンス レベルでは、すべてのローカル ユーザー(デフォルトの root ユーザーを含む)に適用されるルールを設定できます。次のようなルールを設定できます。

  • パスワードの複雑さ

  • パスワードの最小文字数

  • パスワードが再利用可能になるまでの変更回数

  • パスワードでのユーザー名の使用禁止

次に示したものは、MySQL のインスタンス レベルのポリシーを設定するための新しいコンソール ユーザー インターフェースです。

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_password_policies.max-1100x1100.jpg

ユーザーレベルでは、特定のユーザーに適用されるルールを設定できます。次のようなルールを設定できます。

  • パスワードの有効期限

  • ログイン試行の失敗が許可される最大回数

  • パスワードを変更する際の現在のパスワードの入力

  • デュアル パスワードの使用

  • ランダムなパスワードの生成

次に示したものは、MySQL のユーザーレベルのポリシーを設定するための新しいコンソール ユーザー インターフェースです。

https://storage.googleapis.com/gweb-cloudblog-publish/images/3_password_policies.max-1200x1200.jpg

IAM と連動したローカル ユーザー向けパスワード認証の使用

ローカル ユーザー向けパスワード認証と Cloud Identity and Access Management(IAM)が連動する仕組みを理解するために、まずは次の各認証方法の説明をご覧ください。

Cloud SQL と IAM の統合により、Cloud SQL for PostgreSQL と Cloud SQL for MySQL のエンドユーザーとサービス アカウントは、IAM 認証情報を使用して Cloud SQL インスタンスに接続できるようになります。設定が完了すると、ユーザーは IAM にログインすることによってデータベースに対する認証を受けます。バックグラウンドで、Cloud SQL サービスは IAM サービスから認証トークンをリクエストして、そのトークンをインスタンスに提示します。

ローカル データベース ユーザーは、データベース内でローカルに作成および管理されます。このため、ユーザーやアプリケーションは、データの読み取り、書き込み、更新の目的でデータベースにアクセスできます。データベース ユーザーは、データベースで作成したオブジェクト(テーブル、プロシージャ、ストレージの場所など)を所有します。ユーザーのタイプおよび各ユーザーに付与できる権限レベルは複数あります。

ローカル データベース ユーザーおよび IAM ユーザーは相互補完的であるため、認証戦略に合わせて、これらの認証方法を組み合わせて使用することも、別々に使用することもできます。

ユーザーやサービス アカウントからデータベースへのログイン アクセスを Cloud SQL で効果的に管理できるように、IAM との一元化されたアプローチを使用することをおすすめします。一方で、以前のシステムをサポートする場合など、ローカル データベース ユーザーの管理が引き続き必要なユースケースもあります。ここで紹介しているローカル データベース ユーザー向けパスワード認証ルールは、IAM ユーザーには適用されないことに留意してください。IAM サービスには独自のパスワード ポリシー設定があります。

Cloud SQL for PostgreSQL および Cloud SQL for MySQL のインスタンスのセキュリティをさらに強化し、コンプライアンス要件を満たすために、ローカル ユーザー向けパスワード認証をぜひご利用ください。詳しくは、Cloud SQL の組み込みデータベース認証をご覧ください。まずはインスタンスを新規作成して、パスワード ポリシーを設定することから開始してください。

- Google Cloud Platform、プロダクト マネージャー 、Maayan Rossmann

投稿先