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

AWS リージョンでの AWS STS のアクティブ化と非アクティブ化

デフォルトでは、AWS Security Token Service (AWS STS) はグローバルサービスとして利用でき、すべての AWS STS リクエストは https://sts.amazonaws.com にある単一のエンドポイントに送信されます。次の表に示す AWS リージョンのいずれかにあるエンドポイントに AWS STS リクエストを送信することもできます。すべてのリージョンではデフォルトで有効化されていますが、不要なことが分かっているリージョンは無効にできます。

リージョンのエンドポイントに AWS STS リクエストを送信する場合、以下のような理由があります。

  • レイテンシーの低減 – お客様のサービスやアプリケーションに地理的に近いエンドポイントに対して AWS STS の呼び出しを実行することにより、より低いレイテンシーとより高速な応答時間で AWS STS サービスにアクセスできます。

  • 冗長性の構築 – AWS STS API 呼び出しを他のリージョンに切り替えるコードをアプリケーションに追加することで、最初のリージョンが応答を停止した場合でも、アプリケーションは動作し続けることができます。この冗長性は自動的に得られるものではなく、その機能をコードに組み込む必要があります。

あるリージョンをアカウントについてアクティブ化すると、そのリージョン内の STS エンドポイントは、そのリージョンのエンドポイントへのリクエストが実行されたときに、そのアカウントのユーザーおよびロールに関する一時的な認証情報を発行できます。認証情報は、依然としてグローバルに認識されて使用可能です。リージョンをアクティブ化する必要があるのは、呼び出し元のアカウントではなく、一時的な認証情報のリクエスト元であるアカウントです。

たとえば、アカウント A 内のあるユーザーが STS リージョンのエンドポイント https://sts.us-west-2.amazonaws.comsts:AssumeRole API リクエストを送信するとします。このリクエストは、アカウント B にある Developer という名前のロール用の一時的な認証情報を求めるものです。これはアカウント B 内のエンティティの認証情報を作成するリクエストであるため、アカウント B が us-west-2 リージョンをアクティブ化する必要があります。アカウント A (または他のアカウント) のユーザーは、us-west-2 エンドポイントを呼び出して、自分のアカウントでこのリージョンがアクティブ化されているかどうかに関わらず、アカウント B の認証情報をリクエストできます。

リージョンで AWS STS をアクティブ化または非アクティブ化するには

注記

すべてのリージョンはデフォルトでアクティブ化されています。リージョンをアクティブ化する必要があるのは、それ以前に非アクティブ化した場合だけです。

  1. 新しいリージョンで AWS STS をアクティブ化する対象のアカウントに対して、IAM 管理タスク("iam:*")を実行するアクセス権限を持つ IAM ユーザーとしてサインインします。

  2. IAM コンソールを開き、ナビゲーションペインで [アカウント設定] を選択します。

  3. [Security Token Service リージョン] リストを展開し、使用するリージョンを見つけて、[有効化] または [無効化] をクリックします。

AWS STS リージョンを使用するコードの記述

AWS アカウント用にリージョンをアクティブ化した後は、そのリージョンに向けて AWS STS API 呼び出しを実行できます。次の Java コードスニペットは、setEndpoint を使用して 欧州 (アイルランド) (eu-west-1) リージョンにリクエストを送信するように AWSSecurityTokenServiceClient オブジェクトを設定する方法を示しています。

Copy
AWSSecurityTokenServiceClient stsClient = new AWSSecurityTokenServiceClient(); stsClient.setEndpoint("sts.eu-west-1.amazonaws.com");

重要

setRegion メソッドを使用して、AWS STS のリージョンエンドポイントを設定しないでください。このメソッドは、下位互換性のために、引き続き元の単一のグローバルエンドポイントである sts に解決されます。amazonaws.com の CNAME エイリアスとして設定する必要があります。

この例では、最初の行で、AWSSecurityTokenServiceClient という名前で使用する stsClient オブジェクトをインスタンス化します。2 行目では、setEndpoint メソッドを呼び出し、唯一のパラメーターとしてエンドポイントの URL を渡すことによって、stsClient オブジェクトを設定します。この stsClient オブジェクトを使用するすべての API 呼び出しは、指定されたエンドポイントに割り振られます。

他のすべての言語とプログラミング環境の組み合わせについては、関連する SDK のドキュメントを参照してください。

リージョンでの AWS STS の使用に関して、他の変更はありません。リージョンの AWS STS エンドポイントから取得した認証情報は、そのリージョンに制限されず、グローバルに使用できます。

次の表は、リージョンとそのエンドポイントを一覧したものです。ここには、デフォルトでアクティブ化されるものや、ユーザーがアクティブ化または非アクティブ化できるものが示されています。

リージョン名 エンドポイント アクティブ化/非アクティブ化できる
--グローバル-- sts.amazonaws.com いいえ
米国東部(バージニア北部) sts.us-east-1.amazonaws.com いいえ
米国東部 (オハイオ) sts.us-east-2.amazonaws.com はい
米国西部 (北カリフォルニア) sts.us-west-1.amazonaws.com はい
米国西部 (オレゴン) sts.us-west-2.amazonaws.com はい
カナダ (中部) sts.ca-central-1.amazonaws.com はい
アジアパシフィック (東京) sts.ap-northeast-1.amazonaws.com はい
アジアパシフィック (ソウル) sts.ap-northeast-2.amazonaws.com はい
アジアパシフィック (ムンバイ) sts.ap-south-1.amazonaws.com はい
アジアパシフィック (シンガポール) sts.ap-southeast-1.amazonaws.com はい
アジアパシフィック (シドニー) sts.ap-southeast-2.amazonaws.com はい
欧州 (フランクフルト) sts.eu-central-1.amazonaws.com はい
欧州 (アイルランド) sts.eu-west-1.amazonaws.com はい
欧州 (ロンドン) sts.eu-west-2.amazonaws.com はい
南米 (サンパウロ) sts.sa-east-1.amazonaws.com はい

注記

リージョンのエンドポイント(sts.us-east-2.amazonaws.com など)に対する呼び出しは、リージョンのサービスへの呼び出しと同様に AWS CloudTrail のログに記録されます。グローバルエンドポイント sts.amazonaws.com への呼び出しは、グローバルサービスへの呼び出しとして記録されます。詳細については、「AWS CloudTrail による IAM イベントのログ記録」を参照してください。