AWS APIリクエストにPostmanで署名を作成する
新年明けましておめでとうございます!
目次
署名バージョン4
「AWSはマネジメントコンソールからもCLIからもSDKからの操作も、APIにリクエストが実行されています。
そしてそのリクエストには署名バージョン4の署名が必要です。
でも、CLIやSDKはそのあたりをやってくれるので便利でしょ?」
って話を聞いたことあると思うのですが、じゃあCLIやSDK使わずにAPIリクエストってどうやってやるんでしょ?
というと、こちら公式の
署名バージョン 4 を使用してAWS リクエストに署名するに手順があります。
* タスク 1: 署名バージョン4の正規リクエストを作成する
* タスク 2: 署名バージョン4の署名文字列を作成する
* タスク 3: AWS署名バージョン4の署名を計算する
* タスク 4: HTTPリクエストに署名を追加する
こうすることで、認証セキュリティを高めているのですね。
ふむふむ。面倒ですね。
ということで、Postmanで試しました。
AWS APIリクエストをPostmanで試しました
S3のバケット一覧を表示します。
CLIでは「aws s3 ls」に該当する操作です。
リファレンスを見ると、APIエンドポイントは「s3.amazonaws.com」のようです。
GETリクエストで、ホストをs3.amazonaws.comに設定しました。
S3のバケット一覧が見えるs3:ListALlMyBucketsアクションを許可したユーザーのアクセスキーIDとシークレットアクセスキーを、PostmanのAWS Signatureに設定しました。
あと、ADVANCEDのService NameにS3を設定しました。
これをしないと、X-Amz-Content-Sha256ヘッダーができなくてエラーになりました。
設定をすると、Postmanが自動的にヘッダーにAuthorization、X-Amz-Content-Sha256、X-Amz-Dateを作ってくれました。
Authorizationヘッダの内容はこちらでした。
AWS4-HMAC-SHA256
Credential=AKIAYEXAMPLESSS/20201228/us-east-1/s3/aws4_request,
SignedHeaders=host;x-amz-content-sha256;x-amz-date,
Signature=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
公式ユーザーガイドの以下の説明に合致してました。
署名に使用したアルゴリズム (AWS4-HMAC-SHA256)
認証情報スコープ (アクセスキーIDを含む)
署名付きヘッダーの一覧
計算された署名。この署名はリクエスト情報に基づいており、AWSシークレットアクセスキーを使用して署名を生成します。署名により、AWSのIDが確認されます。
レスポンスはこちらでした。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?xml version="1.0" encoding="UTF-8"?> <ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>xxxxxxxxxxxxxxxxxxxxxxx/ID> <DisplayName>acountname</DisplayName> </Owner> <Buckets> <Bucket> <Name>bucketname1</Name> <CreationDate>2020-07-14T04:04:25.000Z</CreationDate> </Bucket> <Bucket> <Name>bucketname2</Name> <CreationDate>2020-11-16T04:28:44.000Z</CreationDate> </Bucket> <Bucket> <Name>bucketname3</Name> <CreationDate>2020-11-16T04:29:29.000Z</CreationDate> </Bucket> </Buckets> </ListAllMyBucketsResult> |
ではでは、2021年もよろしくお願いいたします!
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
Backlogの実績工数をAmazon QuickSightでの可視化 – 仕組み編
Backlogの実績工数をAmazon QuickSightで可視化してわかった …
-
-
EC2 Amazon LinuxのNginx+RDS MySQLにレンタルWebサーバーからWordPressを移設する(手順整理版)
ブログサイト(WordPress)をレンタルWebサーバーからAWSに移設する事 …
-
-
Lambda関数で自分自身の環境変数を更新する
Twitterでツイート検索するAPIを試してみるでツイートの取得を重複させない …
-
-
iPad ProのWorking CopyでAWS CodeCommitのリポジトリを使う
iPad Proを導入しましたので、原稿執筆や校正でフル活用しようと思いまして。 …
-
-
Active Directory認証でAWSマネジメントコンソールにSSO
こちらの2つのサイトを参考にすすめました。 Active Directory資産 …
-
-
東京リージョンでAWS Control Towerランディングゾーンをセットアップする
AWS Control Towerの最初の画面で[ランディングゾーンの設定]を押 …
-
-
VyOSでssm-userからvyosユーザーに切り替える
EC2 VyOSで/etc/resolv.confを設定しました VyOSにSS …
-
-
AWS Cost Anomaly Detectionでコストモニターを作成しました
[ご利用開始にあたって]を押下しました。 このあと画面を説明してくれるツアーがあ …
-
-
AWS CLIからIAM Identity CenterへサインインしてCodeCommitのリポジトリを使用する
Macで操作しました。 AWS CLIバージョンアップ [crayon-6a17 …
-
-
「JAWS-UG in AWS Cloud Roadshow 2017 大阪」で運営をしました
AWS Cloud Roadshow 2017 大阪のナイトイベントで、「JAW …


