このページでは、Secret Manager で Cloud SQL データベース 認証情報の自動ローテーションを構成する方法について説明します。
始める前に
- Cloud SQL インスタンスで、 PostgreSQL や SQL Server などのサポートされているデータベース エンジンのフレーバーを使用していることを確認します。
- リージョン シークレットを使用していることを確認します。Cloud SQL 認証情報の自動ローテーションは、 Secret Manager のリージョン シークレットでのみ使用できます。グローバル シークレットではこの機能はサポートされていません。
- 既存の Cloud SQL インスタンスとデータベース ユーザーがあることを確認します。詳細については、インスタンスを作成するおよびユーザーを作成して管理するをご覧ください。
- Cloud SQL インスタンスの IAM ポリシーを管理する権限があることを確認します。詳細については、ロールと権限をご覧ください。
必要なロール
自動ローテーションを有効にするために必要な権限を取得するには、次の権限を含むロールを付与するよう管理者に依頼してください。
cloudsql.users.listcloudsql.users.update
これらの権限は、事前定義ロールまたはカスタムロールで取得できます。 どのロールがどの権限に関連付けられているかを確認するには、 Cloud SQL の IAM ロールをご覧ください。
ロールの付与については、 プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
Cloud SQL データベース認証情報シークレットを作成する
自動ローテーションを有効にするには、タイプ Cloud SQL DB credentials のシークレットを作成する必要があります。
コンソール
-
コンソールで、[Secret Manager] ページに移動します。 Cloud de Confiance
-
[Secret Manager] ページで、[リージョン シークレット] タブをクリックし、 [リージョン シークレットを作成] をクリックします。
-
[リージョン シークレットを作成] ページの [名前] フィールドに、シークレットの名前を入力します。
-
[シークレット タイプを設定] チェックボックスをオンにして、シークレット タイプとして
Cloud SQL DB credentialsを選択します。 -
[リージョン] リストから、リージョン シークレットを保存するロケーションを選択します。
-
(省略可)[ローテーション] セクションで、シークレットのローテーション スケジュールを構成します。 ローテーション スケジュールを構成しない場合は、シークレットを手動でローテーションする必要があります。
[ローテーション期間を設定] チェックボックスをオンにします。
[ローテーション期間] リストで、デフォルト オプションから選択するか、[カスタム] を選択して独自のローテーション スケジュールを構成します。
[開始日] フィールドに、ローテーション期間の開始日時を入力します。
-
[シークレットの作成] をクリックします。
組み込みシークレット ID に権限を付与する
各シークレットには、 プロジェクト内の他のすべてのリソースと区別するための一意の識別子があります。 Cloud de Confiance by S3NS Cloud SQL インスタンスの認証情報を更新するために必要な権限を、組み込み ID に付与する必要があります。 詳細については、組み込み ID を持つリソースにロールを付与するをご覧ください。
コンソール
-
シークレットの詳細ページで、[概要] タブに移動します。
-
シークレットのIAM プリンシパル ID を見つけてコピーします。
識別子の形式は
principal://secretmanager.googleapis.com/projects/PROJECT_NUMBER/uid/secrets/SECRET_UIDです。 -
コンソールで、[IAM] ページに移動します。 Cloud de Confiance
-
[アクセス権を付与] をクリックします。
[アクセス権の付与] パネルが表示されます。
-
[新しいプリンシパル] フィールドに、前にコピーした識別子を貼り付けます。
-
[ロールを選択] リストから、必要な権限を付与するロールを選択します。
詳細については、必要なロールをご覧ください。
-
[保存] をクリックします。
シークレットをローテーションする
新しく作成された Cloud SQL シークレットのローテーション ステータスは、最初のローテーションが成功するまで Disabled
です。権限を確認して自動ローテーション スケジュールを開始するには、シークレットを手動でローテーションする必要があります。
コンソール
-
コンソールで、[Secret Manager] ページに移動します。 Cloud de Confiance
-
[Secret Manager] ページで、[リージョン シークレット] タブをクリックします。
-
シークレット名をクリックして、シークレットの詳細ページに移動します。
-
[**ローテーション**] をクリックします。
[シークレットをローテーション] パネルが表示されます。
-
更新する Cloud SQL インスタンスのインスタンス ID とユーザー名を指定します。
-
(省略可)[その他の設定] セクションを開いて、特定のパスワードを入力します。 空白のままにすると、Secret Manager は強力なランダム パスワードを自動的に生成します。
-
[ローテーション] をクリックします。
Secret Manager は、Cloud SQL インスタンスの認証情報の更新を試みます。成功すると、
[ローテーション ステータス] が Enabled に変わり、スケジュールされた自動ローテーション タイマーが開始されます。
次のステップ
- シークレットのローテーション スケジュールを設定する方法を学ぶ。