■ はじめに
https://dk521123.hatenablog.com/entry/2020/03/12/220717
https://dk521123.hatenablog.com/entry/2021/10/05/105550
の続き。 AWS Secrets Manager でのシークレットの作成を AWS CLIで行う必要ができたので、メモ。 ついでに過去の記事も整理。
目次
【1】コマンド 1)list-secrets 2)get-secret-value 3)create-secret 4)put-secret-value 【2】サンプル 例1:list-secrets(シークレット一覧) 例2:get-secret-value(シークレットの取得) 例3:create-secret (シークレットの作成)
【1】コマンド
* 紹介していないコマンドについては、 以下の公式ドキュメントを参照。
https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/index.html
https://docs.aws.amazon.com/ja_jp/secretsmanager/latest/userguide/tutorials_basic.html#tutorial-basic-step2
https://docs.aws.amazon.com/ja_jp/secretsmanager/latest/userguide/tutorials_db-rotate.html
1)list-secrets
* シークレット一覧表示
2)get-secret-value
* シークレットの取得。
公式ドキュメント
https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html
3)create-secret
* シークレットの作成
公式ドキュメント
https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/create-secret.html
4)put-secret-value
【2】サンプル
例1:list-secrets(シークレット一覧)
# 一覧がJSON形式で返ってくる aws secretsmanager list-secrets # Jq を利用してシークレット名を一覧で取得 aws secretsmanager list-secrets | jq ".SecretList[] .Name"
例2:get-secret-value(シークレットの取得)
# 権限があれば、JSONで結果が返ってくる aws secretsmanager get-secret-value \ --region us-east-1 --secret-id sample-rds-key # jqコマンドを使用してJSONをパースする (sudo apt install jq などでインストール) # jq の -r オプション : 囲み文字であるダブルクォートが除去 aws secretsmanager get-secret-value \ --region us-east-1 --secret-id sample-rds-key | jq -r .SecretString | jq -r .username # 変数に格納する secret=$(aws secretsmanager get-secret-value --region us-east-1 --secret-id sample-rds-key | jq .SecretString | jq fromjson) user=$(echo $secret | jq -r .username) password=$(echo $secret | jq -r .password) # 確認 echo $user
例3:create-secret (シークレットの作成)
# JSONファイルをシークレットとして作成(登録?) aws secretsmanager create-secret \ --region us-east-1 \ --name demo-secret --description "This is a sample" \ --secret-string file://input_demo.json # 「file://」は重要。詳細は、以下の関連記事を参照のこと。
https://dk521123.hatenablog.com/entry/2022/06/01/154618
<出力結果 (作成したらARNなどが返ってくる)>
{ "ARN": "arn:aws:secretsmanager:us-east-1:000000000:secret:demo-secret-xxxxx", "Name": "demo-secret", "VersionId": "xxxx-xxxx-xxxx-xxxx" }
input_demo.json
{ "Key1": "Hello", "Key2": "World", "Key3": "!!!" }
参考文献
https://qiita.com/inductor/items/ac8f4a1a947f0d3bbaa6
関連記事
機密データの管理 ~ Secrets Manager 編 ~
https://dk521123.hatenablog.com/entry/2020/03/12/220717
機密データの管理 ~ Secrets Manager / boto3 編 ~
https://dk521123.hatenablog.com/entry/2021/10/05/105550
エラー「Invalid length for parameter SAMLMetadataDocument」が発生
https://dk521123.hatenablog.com/entry/2022/06/01/154618
AWS CLI ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/12/01/000000