- AWSで外部IDプロバイダーを作成します。
- Auth0アプリケーションにSAML2 Webアプリのアドオンを構成します。
- AWSのIDプロバイダーの構成を完了させます。
- AWS IAMロールを作成します。
- AWSロールをユーザーにマッピングします。
AWSで外部のIDプロバイダーを作成します。
-
AWS提供の「外部 ID プロバイダーを管理する」ガイドに従って、AWSで外部IDプロバイダーを設定しますが、以下の1つだけ変更します。
- AWSのメタデータファイルをダウンロードする代わりに、 [個々のメタデータ値を表示] をクリックします。
- AWS SSO発行者URL と AWS SSO ACS URL の値をコピーします。これらは次のセクションで使用します。
- このページはブラウザーで開いたままにしておいてください。後のセクションで構成を完了させる必要があります。
Auth0にSAML SSOを構成する
を使用して、アプリケーションにSAML2 Webアプリのアドオンを構成します。詳細については、「Amazon Web ServicesにAuth0をIDプロバイダーとして設定する」をお読みください。AWSのIDプロバイダーの構成を完了させる
- ブラウザーで開いたままにしてあったAWS SSOのIDプロバイダーページに戻ります。
- 前のセクションでダウンロードして保存したメタデータファイルをアップロードします。
- IDソースの変更内容を見直して、 確認 します。
AWS IAMロールを作成する
プロバイダーを使用するには、ロールの信頼ポリシーにあるプロバイダーを使ってIAMロールを作成する必要があります。- サイドバーで、 [アクセス管理] の** [ロール]** に移動します。 [ロールの作成] をクリックします。
- 次のページで、信頼されたエンティティーのタイプを選択するよう求められます。 [SAML 2.0フェデレーション] を選択します。
- プロンプトが表示されたら、上記で作成したプロバイダーを SAMLプロバイダー として設定します。 [プログラムによるアクセスと AWS Management Console によるアクセスを許可する] を選択します。 [次へ] をクリックして続行します。
- [アクセス許可ポリシーをアタッチする] ページで、ロールにアタッチする適切なポリシーを選択します。これにより、このロールを持つユーザーがAWSで付与されるアクセス権が決定されます。たとえば、ユーザーにIAMへの読み取り専用アクセスを付与するには、
IAMReadOnlyAccess
ポリシーをフィルターで絞り込んで選択します。完了したら、 [次のステップ] をクリックします。 - 3番目の [ロールの作成] 画面は、 [タグの追加] です。多数のロールを作成する予定の場合には、作成するロールを整理するためにタグを使うことができます。
- [確認] ページで、 [ロール名] を設定し、設定を確認します。以下のパラメーターの値を入力します。
フィールド | 説明 |
---|---|
Role name(ロール名) | ロールの説明的な名前。 |
Role description(ロールの説明) | ロールを使用する目的の説明。 |
- [信頼されたエンティティー] と [ポリシー] の情報を確認してから、 [ロールの作成] をクリックします。
AWSロールをユーザーにマッピングする
高度なユースケースでロールを割り当てるサーバー側ルールについては、Amazon API Gatewayのチュートリアルを参照してください。
-
AWSロールをユーザーにマッピングするには、ルールを作成します。
上の例にあるコードのスニペットでは、
user.awsRole
がAWSロールとIdPを識別します。AWSロールの識別子はカンマの前に、IdPの識別子はカンマの後にあります。- ルールを使うと、これらの2つの値を複数の方法で取得できます。前の手順でAWSに作成した項目を左のサイドバーから選択すると、これらの値を取得することができます。IDプロバイダーと作成したロールの両方にARNがあり、これらをコンソールで選択すると、コピーできます。
-
上の例では、これらの値は両方ともルールに埋め込まれています。これらの値は、ユーザープロファイルに保管するか、他の属性を使って指定することもできます。たとえば、Active Directoryを使用している場合、ユーザーに関連付けられた
group
などのプロパティを、適切なAWSロールにマッピングすることができます。
複数のロールをマッピングする
ロールのマッピングに配列を割り当てることもできます(その場合はawsRoles: role1
ではなく、awsRoles = [ role1, role2 ]
になります)。
たとえば、以下の構造を持つActive Directoryグループがあるとします。
セッションの有効期限を構成する
AWSセッションが期限切れになるまでの猶予時間(3600秒)を延長するには、カスタムルールを使用します。ルールでSessionDuration 属性を設定して、セッションの持続時間を変更します。構成をテストする
- [Dashboard]>[Applications(アプリケーション)]>[Applications(アプリケーション)]に移動し、アプリケーションの名前をクリックします。
- [Addons(アドオン)] タブで [SAML2 Web App(SAML2 Webアプリ)] アドオンを選択します。
- [Usage(使用状況)] タブで、 [Identity Provider Login URL(IDプロバイダーのログインURL)] を見つけます。Auth0アカウントのログインページにリダイレクトされます。ログインに成功すると、AWSにリダイレクトされます。