メニュー
AWS Identity and Access Management
ユーザーガイド

一時的セキュリティ認証情報

AWS Security Token Service(AWS STS)を使用して、AWS リソースへのアクセスを制御できる一時的セキュリティ認証情報を持つ、信頼されたユーザーを作成および提供することができます。一時的セキュリティ認証情報の機能は、IAM ユーザーが使用できる長期的なアクセスキー認証情報とほとんど同じですが、次の相違点があります。

  • 一時的セキュリティ認証情報は、その名前が示す通り、使用期限が短くなっています。有効期限は数分から数時間に設定できます。認証情報が失効すると、AWS はそれらを認識しなくなります。また、その認証情報によって作成された API リクエストによるあらゆるタイプのアクセスが許可されなくなります。

  • 一時的セキュリティ認証情報はユーザーとともに保存されることはなく、ユーザーのリクエストに応じて動的に生成され、提供されます。一時的セキュリティ認証情報が失効すると(または失効する前でも)、ユーザーは新しい認証情報をリクエストできます。ただし、リクエストするユーザーがまだその権限を持っている場合に限ります。

これらの違いから、一時的認証情報を使用する利点は次のようになります。

  • アプリケーションの長期の AWS セキュリティ認証情報を配布したり埋め込んだりする必要がありません。

  • ユーザーに対して AWS の ID を定義せずに AWS リソースへのアクセスを提供できます。一時的認証情報はロールおよび ID フェデレーションの基本となります。

  • 一時的セキュリティ認証情報の有効期限は限られているので、認証情報が不要になった際にローテーションしたり、明示的に取り消したりする必要がありません。一時的セキュリティ認証情報の有効期限が切れると、再利用することはできません。認証情報が有効な期間を、最大限度まで指定できます。

AWS STS と AWS リージョン

一時的な認証情報は AWS STS によって生成されます。デフォルトでは、AWS STS は https://sts.amazonaws.com に単一エンドポイントを持つグローバルサービスです。ただし、他のサポートされているリージョンにあるエンドポイントへの AWS STS API 呼び出しを実行することもできます。地理的に近い場所にあるリージョンのサーバーに対してリクエストを送信することによって、レイテンシー(サーバーのラグ)を低減できます。認証情報を取得したリージョンに関係なく、認証情報はグローバルに使用できます。詳細については、「AWS リージョンでの AWS STS のアクティブ化と非アクティブ化」を参照してください。

一時的な認証情報の一般的なシナリオ

一時的な認証情報は、ID フェデレーション、委任、クロスアカウントアクセス、および IAM ロールが使用されるシナリオで便利です。

認証フェデレーション

AWS 以外の外部システムでユーザー ID を管理し、それらのシステムのアクセス権限からサインインするユーザーに、AWS タスクの実行や AWS リソースへのアクセスの権限を付与できます。IAM では、2 種類の ID フェデレーションをサポートしています。いずれの場合も、ID は AWS の外部に格納されます。異なる点は、外部システムが存在する場所(データセンターまたはウェブの外部サードパーティ)です。外部 ID プロバイダについては、「ID プロバイダーとフェデレーション」を参照してください。

  • エンタープライズ ID フェデレーション–たとえば、組織のネットワークのユーザーを認証し、ユーザーが AWS にアクセス可能にすることができます。それらのユーザーのために新しい AWS ID を作成したり、他のユーザー名とパスワードでサインインしてもらったりする必要はありません。これは、一時アクセスに対するシングルサインオン(SSO)アプローチとして知られています。AWS STS は Security Assertion Markup Language(SAML)2.0 のようなオープンスタンダードをサポートしており、Microsoft AD FS を使用して Microsoft Active Directory を活用できます。また、SAML 2.0 を使用して、ユーザー ID フェデレーション用の独自のソリューションを管理することもできます。詳細については、「SAML 2.0 ベースのフェデレーションについて」を参照してください。

  • ウェブ ID フェデレーション–よく知られているサードパーティの ID プロバイダー(Login with Amazon、Facebook、Google、OpenID Connect(OIDC)2.0 互換の任意のプロバイダーなど)を使用して、ユーザーにサインインしてもらうことができます。お客様はそのプロバイダーの認証情報を AWS アカウントのリソースを使用するための一時的なアクセス権限に変換することができます。これは、一時アクセスに対するウェブ ID フェデレーションアプローチとして知られています。モバイルまたはウェブアプリケーションにウェブ ID フェデレーションを使用する場合、カスタムサインインコードを作成したり独自のユーザー ID を管理したりする必要はありません。ウェブ ID フェデレーションを使用すると、アプリケーションで IAM ユーザーアクセスキーのような長期的なセキュリティ認証情報を配布する必要がないので、AWS アカウントの安全性の維持に役立ちます。詳細については、「ウェブ ID フェデレーションについて」を参照してください。

    AWS STS ウェブ ID フェデレーションでは、Login with Amazon、Facebook、Google、および任意の OpenID Connect(OICD)互換の ID プロバイダーでのログインがサポートされています。

    注記

    モバイルアプリケーションに対しては、Amazon Cognito の使用をお勧めします。このサービスを iOS 向け AWS モバイル SDKAndroid および Fire OS 向け AWS モバイル SDK と一緒に使用してユーザーの一意の ID を作成し、認証することで、AWS リソースへのセキュアなアクセスを実現できます。Amazon Cognito では、AWS STS と同じ ID プロバイダーがサポートされます。さらに、認証されていない(ゲスト)アクセスもサポートされ、ユーザーがサインインしたときにユーザーデータを移行することができます。加えて、Amazon Cognito には、ユーザーがデバイスを変えてもユーザーデータが保持されるように、ユーザーデータを同期するための API も用意されています。詳細については、以下を参照してください。

    • iOS 向け AWS モバイル SDK 開発者ガイド』の「Amazon Cognito ID

    • Android 向け AWS モバイル SDK 開発者ガイド』の「Amazon Cognito ID

クロスアカウントアクセスのロール

多くの組織は、複数の AWS アカウントを保持しています。ロールとクロスアカウントアクセスを使用すると、1 つのアカウントでユーザー ID を定義し、その ID を使用して、組織に属している他のアカウントの AWS リソースにもアクセスできるようにすることができます。これは、一時アクセスに対する委任アプローチとして知られています。詳細については、「IAM ユーザーにアクセス権限を委任するロールの作成」を参照してください。

Amazon EC2 のロール

Amazon EC2 インスタンスでアプリケーションを実行し、これらのアプリケーションが AWS リソースにアクセスする必要がある場合は、アプリケーションの起動時に一時的なセキュリティ認証情報をインスタンスに提供できます。これらの一時的なセキュリティ認証情報は、インスタンスで実行されるすべてのアプリケーションが使用できるので、インスタンスに長期的な認証情報を保存する必要がありません。詳細については、「Amazon EC2 インスタンスで実行されるアプリケーションに IAM ロールを使用してアクセス権限を付与する」を参照してください。

その他の AWS サービス

一時的セキュリティ認証情報を使用して、ほとんどの AWS サービスにアクセスできます。一時的セキュリティ認証情報を受け入れるサービスのリストは、「IAM と連携する AWS サービス」を参照してください。