0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

Aurora PostgreSQL のパスワードを Secrets Mangaer でローテーションさせる際にはまったこと

Posted at

Aurora PostgreSQL のパスワードを Secrets Mangaer でローテーションさせる際にはまったことをご紹介します。

想定の構成

今回は以下のような構成を想定しています。

スクリーンショット 2024-06-29 15.25.46.png

ECS から Aurora PostgreSQL にアクセスするためのユーザ名やパスワードなどの認証情報を Secrets Manager に格納しています。また、認証情報は Lambda でローテーションさせます。

はまったこと

PostgreSQL の接続 URL は"postgresql://【ユーザ名】:【パスワード】@【ホスト名】:【ポート番号】/【データベース名】"という形式です。PostgreSQL のパスワードにパーセントコーディングの必要な文字が含まれている場合、そのまま接続 URL に埋め込むとエラーになります。そのため、パスワードをパーセントコーディングする処理をどこかで実装する必要があります。

解決法

Secrets Mangaer で認証情報をローテーションさせている場合は、生成するパスワードにパーセントコーディングが必要な文字を含めないようにします。
具体的には Lambda で実装されているローテーション関数の環境変数「EXCLUDE_CHARACTERS」の値を以下のように設定します。

EXCLUDE_CHARACTERS=":/?#[]@!$&'()*+,;=%"

余談

最初はパーセントコーディングする処理を実装する方法を検討していましたが、本記事で紹介した方法だと簡単に実装できました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?