AWS Identity and Access Management(4)STS

AWS Security Token Serviceとは

STSとは、AWSリソースへアクセスできる一時的なセキュリティ情報を持つユーザを作成できるサービスで、一般的なアクセス認証情報と異なり、リクエストに応じて、事前に定めた数分〜数時間の短い使用期限の認証情報が発行される。STSを利用することで作成したアプリケーションに長期の認証情報を埋め込む必要がない。STSはグローバルサービスで、全リージョンで単一のエンドポイントを持つ。

認証フェデレーション

外部システムでユーザーIDを管理し、それらのシステムからサインインするユーザーに一時的な認証情報を付与することができる。外部システムは、Microsoft Active DirectoryをはじめとしたSAML対応のサービスや、 Amazon、Facebook、Google、OpenID ConnectなどのウェブIDに対応している。

EC2におけるSTSの利用

EC2のロールもSTSを利用しており、ロールで許可したサービスを利用するために、一時的な認証情報がインスタンスに対して付与される。

セキュリティ認証情報のリクエスト

認証フェデレーションによって、アクセスキーおよびセッショントークンで構成された一時的セキュリティ認証情報を得ることができる。認証情報のリクエストには以下のAPIが利用できる。認証期間はデフォルトで1時間

API名 対象 呼び出し元 有効期間(デフォルト) 有効期間(最大)
AssumeRole クロスアカウント, カスタムIdB IAMユーザ 1時間 ロールの指定値
AssumeRoleWithWebIdentity Web IdP 任意のユーザ 1時間 ロールの指定値
AssumeRoleWithSAML SAML IdP 任意のユーザ 1時間 ロールの指定値
GetFederationToken カスタムIdB root/IAMユーザ 12時間 36時間
GetSessionToken 信頼されていない環境のユーザ root/IAMユーザ 12時間 36時間

認証情報の取り消し

必要がある場合、特定の時点より前に発行したロールの認証情報の、すべてのアクセス許可をすぐに取り消しできる。すべてのユーザーは、新しい認証情報を再認証して、リクエストする必要が生じる。