AWS Parameters and Secrets Lambda Extension で特定の階層のパラメータをすべて取得することはできますか?

2023.12.27

困っていた内容

AWS Parameters and Secrets Lambda Extension を使用して Systems Manager Parameter Store の値を取得するロジックを検討しています。
アプリケーション側では Parameter Store の特定の階層のパラメータをすべて取得したいのですが、AWS Parameters and Secrets Lambda Extension での実装は可能ですか?

どう対応すればいいの?

AWS Parameters and Secrets Lambda Extension では特定の階層のパラメータをすべて取得することはできません。

AWS Parameters and Secrets Lambda Extension で使用される API は Systems Manager の GetParameter API であり、当該 API では特定の階層のパラメータをすべて取得することができません。

関数の実行に使用する AWS Identity and Access Management (IAM) ロールには、Parameter Store と対話するための次の権限が必要です。

・ssm:GetParameter — Parameter Store からパラメータの取得に必要
・kms:Decrypt — Parameter Store から SecureString パラメータを取得するために必要

AWS 公式ドキュメントより

特定の階層のパラメータをすべて取得する必要がある場合には AWS Parameters and Secrets Lambda Extension ではなく、Systems Manager の GetParametersByPath API を使用し、Recursiveオプションを付与してください。

参考資料