メモ
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)、Facebook、Google、もしくは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より引用