続・パラメータストアに複数行の文字列を保存する方法とその適用例【SecureStringでも複数行】
背景
この記事は、昨年 4月に公開しました記事のフォローアップとなります。
こちらの記事を公開したところ、下記のようなコメントをいただきました。
typeにSecureStringを指定し、複数行の文字列を保存した後に パラメータを取得したところ、改行コードが半角スペースに変換されました。
SecureStringは複数行の文字列に対応していないのでしょうか。
当時検証してみたところ、確かにご指摘いただいた挙動が確認できました。ところが先日別件でパラメータストアの動作を検証していたところ、たまたまこの挙動が解消されていたことに気付いたのでご報告します。
SecureString でも複数行可能
'19/02 時点で、 SecureString に複数行登録し、複数行のまま取り出すことが可能です。
こちらは登録後、登録内容を「表示」した状態です。
ちなみに同じ記事で「 マネジメントコンソールであとから確認しようとすると、1行で表示されてしまう 」と書いていたのですが、こちらも改善されてますね!
AWS CLI で取得しても下記のとおり。ちゃんと格納時には暗号化されていますが、
--with-decryption
オプションを指定しつつ値を取り出すと、ちゃんと改行も含まれてます。
aws ssm get-parameter \ --name "/sample/multi_line/securestring" \ --with-decryption \ --query 'Parameter.Value' \ --output text
まとめ
これで安心して、暗号化が必要な設定ファイルや鍵ファイルもパラメータストアに保存できますね!
何かのときに参考になれば幸いです。