##プログラムでAWSのサービスにアクセスする方法
①CLI
②SDK(内部的にAPIを実行)
③API ※SDKがない言語はこれを使うしかない。
##認証方法について
①IAMロール
プログラムを配置しているサービス(EC2等)にロールをアタッチする。
⇒ロールが一時的な認証情報を作成してくれる。
②IAMユーザー ※SDK,CLI用
IAMユーザから振り出したアクセスキー・シークレットアクセスキーを設定する。
※変数として設定 or クレデンシャルファイルとして配置
⇒SDK,CLIが自動で署名を計算してくれる。
③署名V4(API直叩き)
”②”の署名の計算を自分でおこなう。(アクセスキー・シークレットアクセスキー必要)
※SDKがない場合はこれを使うしかない
https://docs.aws.amazon.com/ja_jp/general/latest/gr/signing_aws_api_requests.html
https://docs.aws.amazon.com/ja_jp/general/latest/gr/sigv4_signing.html
##考察
私は、API/署名V4でAWSのサービスにアクセスするプログラムを自作しましたが、
署名v4が、修正してもエラーメッセージが変わらない(認証できませんみたいなw)ため、
修正したところがあっているのか確証が持てないという、しんどさがありました(笑)
そこで、私はAWSにあるpythonのサンプルを自分が使用している言語にコンバート
していって、無事動くプログラムができました。
困ったときは、こういうやり方もありやなーと思いました('ω')
https://docs.aws.amazon.com/ja_jp/general/latest/gr/sigv4-signed-request-examples.html
まず、pythonのサンプルをコンバートしやすいようにきれいにして、
https://qiita.com/t20190127/items/75f5002823132ec8fb1b
それをコンバートしていった感じです!