RDS(Aurora) が管理する Secrets Manager のシークレットの値を変更することができるか教えてください
困っている内容
DB インスタンスを他の AWS アカウントで再構築する際の作業を減らしたいと考えています。
その一環で、作成または復元した DB インスタンスで、マスターパスワードを任意の値で Secrets Manager に管理させたいです。
そのため、Aurora のマスターパスワード設定に「AWS Secrets Manager で管理」を選択し、そのシークレットの値を変更すれば良い認識ですが、認識齟齬はないでしょうか?
回答
「AWS Secrets Manager で管理」により自動生成された RDS(Aurora) 管理のシークレットは、値を変更することができません。
そのため、任意のマスターパスワードを設定されたい場合には、RDS(Aurora) のマスターパスワード設定を「セルフマネージド」にする必要があります。
試してみた
実際に、RDS(Aurora) 管理のシークレットの値が変更できないか確認してみます。
今回は DB インスタンスを新規作成して確認していきます。
※今回作成した DB インスタンスや自動生成されたシークレットは、既に削除済みです。
①DB インスタンス作成画面で「AWS Secrets Manager」を選択し、DB インスタンスを作成します。
DB インスタンスの作成が完了すると、[設定] タブに「Secrets Manager で管理する」というリンクが表示されます。
②RDS(Aurora) 管理のシークレットの値を表示します。
前述の「Secrets Manager で管理する」というリンクを押下すると、RDS(Aurora) 管理のシークレットの詳細画面に遷移します。
ページ上部には下記文章が記載されており、この段階でも RDS(Aurora) 管理のシークレットの値が変更できないことを把握できます。
このシークレットは Amazon RDS (rds) によって作成されました。このシークレットは Amazon RDS (rds) によって管理されるため、シークレット値を変更することはできません。ただし、シークレットは他の方法で変更できる場合があります。 詳細はこちら
今回は実際に変更できないかまで確認します。
右側にある「シークレットの値を取得する」ボタンを押下するとシークレットの値が表示され、「編集」ボタンが表示されます。
③RDS(Aurora) 管理のシークレットの値を変更し保存してみます。
「編集」ボタンを押下するとシークレットの編集画面が表示されます。
今回はパスワードの値を変更し、その後「保存」ボタンを押下します。
しかし、ページ上部にエラーメッセージが表示され、変更したパスワードの値は反映されておりません。
エラーメッセージは以下の通りです。
This secret is managed by Amazon RDS (service ID: rds), and you must use that service to update it. For more information, see https://docs.aws.amazon.com/secretsmanager/userguide/service-linked-secrets.html.
これで、RDS(Aurora) 管理のシークレットの値は変更できないことを確認できました。