AWS STSで一時的に認証情報を提供するには?

 

AWS STSとは?

AWS STS」とは、「AWS Security Token Service」の略で一時的な認証情報を発行してくれるサービスです。

一時的な認証情報は、

  • アクセスキー
  • シークレットアクセスキー
  • セッショントークン

の3つから成り立っています。

この3つの一時的な認証情報を使うことで、許可された別のアカウントのリソースにアクセスすることができます。

 

STSで一時認証方式で利用される方式

ウェブID フェデレーション

ウェブID フェデレーションはAWSリソースによって構築されたモバイルアプリケーション上で利用して、AWSリソースにアクセスする際に利用する認証方式です。

アプリのユーザーはFacebook、Google などの外部 ID プロバイダー (IdP) を使用してアプリケーションにサインインすることができます。

認証トークンを受け取ったら、そのトークンを AWSアカウントのリソースを使用するためのアクセス許可を持つ IAM ロールにマッピングして、AWS の一時的セキュリティ認証情報に変換することができます。

 

 

 

ユースケース

S3に画像を保存していて、そのリソースに一時的なアクセスを許可したい場合など。

 

 

参考サイト

 

STSの設定項目

IDフェデレーション

IDフェデレーションは、それぞれ独自のID管理システムを持つ複数のセキュリティドメイン間で、それぞれのユーザーIDをリンクさせる。

2つのドメインでIDフェデレーションを実現すると、一方のドメインで認証を受けたエンドユーザーは、他方のドメインでもログインしないでそのリソースにアクセスできる。

 

ウェブ ID フェデレーション

ウェブ ID フェデレーションを使用することで、カスタムのサインインコードを作成したり、独自のユーザー ID を管理したりする必要がなくなります。

その代わりに、アプリのユーザーはGoogleなどの外部 ID プロバイダーを使用してサインインすることができます

認証トークンを受け取ったら、そのトークンを AWS アカウントのリソースを使用するためのアクセス許可を持つ IAM ロールにマッピングし、AWS の一時的セキュリティ認証情報に変換することができます。

IdP

IdP を使用すると、アプリケーションで長期的なセキュリティ認証情報を埋め込んで配布する必要がないため、AWS アカウントの安全性の維持に役立ちます。

IdP を使用するにはIAMのID プロバイダーエンティティを作成して、AWS アカウントと IdP の間に信頼関係を確立します。

IAM は、OpenID Connect または SAML 2.0 (Security Assertion Markup Language 2.0) と互換性のある IdP をサポートします。

したがって、SAML フェデレーションを使用しても、一時的な AWS セキュリティ認証情報を作成し、AWS リソースへのアクセスを提供することが可能です。

しかしながら、OpenID Connect を利用する場合は、ウェブ ID フェデレーションを利用します。

 

 

ユースケース

STSによる一時認証情報によって、S3へのアクセス許可を設定することはアプリ機能として可能になる。

 

関連オブジェクト

Twitterでフォローしよう