Cloud SQL シークレットの自動ローテーションを構成する

このページでは、Secret Manager で Cloud SQL データベース 認証情報の自動ローテーションを構成する方法について説明します。

始める前に

  • Cloud SQL インスタンスで、 PostgreSQLSQL Server などのサポートされているデータベース エンジンのフレーバーを使用していることを確認します。
  • リージョン シークレットを使用していることを確認します。Cloud SQL 認証情報の自動ローテーションは、 Secret Manager のリージョン シークレットでのみ使用できます。グローバル シークレットではこの機能はサポートされていません。
  • 既存の Cloud SQL インスタンスとデータベース ユーザーがあることを確認します。詳細については、インスタンスを作成するおよびユーザーを作成して管理するをご覧ください。
  • Cloud SQL インスタンスの IAM ポリシーを管理する権限があることを確認します。詳細については、ロールと権限をご覧ください。

必要なロール

自動ローテーションを有効にするために必要な権限を取得するには、次の権限を含むロールを付与するよう管理者に依頼してください。

  • cloudsql.users.list
  • cloudsql.users.update

これらの権限は、事前定義ロールまたはカスタムロールで取得できます。 どのロールがどの権限に関連付けられているかを確認するには、 Cloud SQL の IAM ロールをご覧ください。

ロールの付与については、 プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

Cloud SQL データベース認証情報シークレットを作成する

自動ローテーションを有効にするには、タイプ Cloud SQL DB credentials のシークレットを作成する必要があります。

コンソール

  1. コンソールで、[Secret Manager] ページに移動します。 Cloud de Confiance

    Secret Manager に移動

  2. [Secret Manager] ページで、[リージョン シークレット] タブをクリックし、 [リージョン シークレットを作成] をクリックします。

  3. [リージョン シークレットを作成] ページの [名前] フィールドに、シークレットの名前を入力します。

  4. [シークレット タイプを設定] チェックボックスをオンにして、シークレット タイプとして Cloud SQL DB credentials を選択します。

  5. [リージョン] リストから、リージョン シークレットを保存するロケーションを選択します。

  6. (省略可)[ローテーション] セクションで、シークレットのローテーション スケジュールを構成します。 ローテーション スケジュールを構成しない場合は、シークレットを手動でローテーションする必要があります。

    1. [ローテーション期間を設定] チェックボックスをオンにします。

    2. [ローテーション期間] リストで、デフォルト オプションから選択するか、[カスタム] を選択して独自のローテーション スケジュールを構成します。

    3. [開始日] フィールドに、ローテーション期間の開始日時を入力します。

  7. [シークレットの作成] をクリックします。

組み込みシークレット ID に権限を付与する

各シークレットには、 プロジェクト内の他のすべてのリソースと区別するための一意の識別子があります。 Cloud de Confiance by S3NS Cloud SQL インスタンスの認証情報を更新するために必要な権限を、組み込み ID に付与する必要があります。 詳細については、組み込み ID を持つリソースにロールを付与するをご覧ください。

コンソール

  1. シークレットの詳細ページで、[概要] タブに移動します。

  2. シークレットのIAM プリンシパル ID を見つけてコピーします。

    識別子の形式は principal://secretmanager.googleapis.com/projects/PROJECT_NUMBER/uid/secrets/SECRET_UID です。

  3. コンソールで、[IAM] ページに移動します。 Cloud de Confiance

    [IAM] に移動

  4. [アクセス権を付与] をクリックします。

    [アクセス権の付与] パネルが表示されます。

  5. [新しいプリンシパル] フィールドに、前にコピーした識別子を貼り付けます。

  6. [ロールを選択] リストから、必要な権限を付与するロールを選択します。

    詳細については、必要なロールをご覧ください。

  7. [保存] をクリックします。

シークレットをローテーションする

新しく作成された Cloud SQL シークレットのローテーション ステータスは、最初のローテーションが成功するまで Disabled です。権限を確認して自動ローテーション スケジュールを開始するには、シークレットを手動でローテーションする必要があります。

コンソール

  1. コンソールで、[Secret Manager] ページに移動します。 Cloud de Confiance

    Secret Manager に移動

  2. [Secret Manager] ページで、[リージョン シークレット] タブをクリックします。

  3. シークレット名をクリックして、シークレットの詳細ページに移動します。

  4. [**ローテーション**] をクリックします。

    [シークレットをローテーション] パネルが表示されます。

  5. 更新する Cloud SQL インスタンスのインスタンス ID とユーザー名を指定します。

  6. (省略可)[その他の設定] セクションを開いて、特定のパスワードを入力します。 空白のままにすると、Secret Manager は強力なランダム パスワードを自動的に生成します。

  7. [ローテーション] をクリックします。

Secret Manager は、Cloud SQL インスタンスの認証情報の更新を試みます。成功すると、 [ローテーション ステータス] が Enabled に変わり、スケジュールされた自動ローテーション タイマーが開始されます。

次のステップ