pikesaku’s blog

個人的な勉強メモです。記載内容について一切の責任は持ちません。

AWS STSメモ

メモ

AWS Security Token Serviceの略

IAM同様にリソースへの認可を制御

※信頼されたユーザーにAWSリソースへの一時的な資格情報(credentials)を提供

IAMとの違いは以下

1) アクセスキーの有効期間
 IAM→Long Term
 STS→Short Term(数分〜数時間。定義可能)
2) 資格情報(credentials)の管理方法
 IAM→ユーザーに紐付き保管
 STS→ユーザーに紐付き保管されず、リクエスト毎にダイナミックに生成

STSによる一時的な資格情報が適用される主なシーン

1) 外部IdP連携(Identity federation)
 2種類実装パターンあり
 Enterprise identity federation→オンプレ認証基盤との連携(SAML、カスタム認証基盤)
 Web identity federation→Amazon(Cognito)、FacebookGoogle、もしくはOIDC互換IdP
2) ロール(クロスアカウントアクセス)
 アカウントAのユーザーAがアカウントBのリソースにアクセス可能にできる。※delegation(委任) 
 Creating a role to delegate permissions to an IAM user - AWS Identity and Access Management
3) ロール(EC2)
 EC2起動時にロール割り当てAWSリソースにアクセス可能にできる。

STSでアクセス可能なAWSリソース一覧は以下で確認できる。

AWS services that work with IAM - AWS Identity and Access Management

リージョンエンドポイントの利用が推奨

STSはデフォルトでグローバルサービスだが、対応済みリージョンにはエンドポイントがある。
グローバルエンドポイント→https://sts.amazonaws.com
東京リージョンエンドポイント→https://sts.ap-northeast-1.amazonaws.com

以下メリットあり
・低レイテンシ
・リージョン障害時の冗長化実装ができる
 自動冗長化されない。アプリ内で複数リージョンのエンドポイントをみるようコードする必要あり。
・セッショントークンの信頼性の増大
 グローバルエンドポイントのセッショントークンはデフォルトだと一部リージョン(honkong等)で利用できない。
 リージョンエンドポイントのセッショントークンは全リージョンで有効

対応リージョンは以下参照
Managing AWS STS in an AWS Region - AWS Identity and Access Management
 
上記URLより引用