Open1

AWS 一時クレデンシャルを取得する方法まとめ

どんぎどんぎ

ユースケース別まとめ

1️⃣ Amazon/Google/Facebook/OpenID Connectを使いたい

パターン1: STSを直接コール

  • OIDCプロバイダー、OIDCプロバイダーを信頼ポリシーに設定したIAM Roleを作成
    • Google/Facebook/CognitoはAWSが事前にOIDCプロバイダーを登録しているため、登録不要
  • AssumeRoleWithWebIdentity APIを利用
  • (直接AssumeRoleWithWebIdentityを呼ぶよりも、Cognito SDKでラップすることが推奨されている)

パターン2: Cognitoを利用

https://dev.classmethod.jp/articles/re-introduction-2020-amazon-cognito/

2️⃣ SAML2.0に対応した既存の認証を使いたい

パターン1: STSを直接コール

  • SAMLプロバイダー、SAMLプロバイダーを信頼ポリシーに設定したIAM Roleを作成
  • AssumeRoleWithSAML APIを利用

パターン2: AWS SSOを利用

パターン3: Cognitoを利用

https://dev.classmethod.jp/articles/re-introduction-2020-amazon-cognito/

3️⃣ SAML2.0以外の既存の認証を使いたい(オンプレミスのLDAPサーバーによる認証 etc)

  • カスタムIDブローカーを構築
  • AssumeRole or GetFederationToken APIを利用

参考資料

API別の参考資料だと、この記事がわかりやすい
https://blog.serverworks.co.jp/summary-of-getting-security-credentials-from-sts