- AWS で外部アイデンティティプロバイダーを作成します。
- Auth0 アプリケーションの SAML2 Web App アドオンを設定します。
- AWS のアイデンティティプロバイダー設定を完了します。
- AWS IAM ロールを作成します。
- AWS ロールをユーザーに対応付けます。
AWS で外部アイデンティティプロバイダーを作成する
-
1 つ変更を加えたうえで、AWS のガイド Connect to your External Identity Provider に従って、AWS で外部アイデンティティプロバイダーを設定します。
- AWS のメタデータファイルをダウンロードする代わりに、Show Individual Metadata Values をクリックします。
- AWS SSO 発行者 URL と AWS SSO ACS URL の値をコピーします。これらは次のセクションで使用します。
- 後のセクションで設定を完了する必要があるため、このページはブラウザーで開いたままにしておいてください。
Auth0 の SAML SSO を設定する
AWSアイデンティティプロバイダーの設定を完了する
- ブラウザーで開いている AWS SSO のアイデンティティプロバイダーページに戻ります。
- 前のセクションでダウンロードして保存したメタデータファイルをアップロードします。
- 内容を確認し、アイデンティティソースの変更を確認します。
AWS IAMロールを作成
- サイドバーの Access Management から Roles に移動し、Create Role をクリックします。
- 次のページで、信頼するエンティティの種類を選択するよう求められます。SAML 2.0 Federation を選択します。
- 画面の指示が表示されたら、先ほど作成したプロバイダーを SAML provider として設定します。Allow programmatic and AWS Management Console access を選択し、Next をクリックして続行します。
-
Attach Permission Policies ページで、ロールにアタッチする適切なポリシーを選択します。これらのポリシーによって、このロールを付与されたユーザーが AWS で持つ権限が決まります。たとえば、ユーザーに IAM への読み取り専用アクセスを付与するには、
IAMReadOnlyAccessポリシーを絞り込んで選択します。完了したら、Next Step をクリックします。 - 3 つ目の Create Role 画面は Add Tags です。多数のロールを作成する予定がある場合は、タグを使って作成したロールを整理できます。
-
Review ページで Role Name を設定し、設定内容を確認します。次のパラメーターに値を入力します。
- Trusted entities と Policies の情報を確認し、Create Role をクリックします。
AWS ロールをユーザーにマッピングする
高度なユースケースでロールを割り当てるサーバー側のルールを定義する例については、Amazon API Gateway チュートリアルを参照してください。
-
AWS ロールをユーザーにマッピングするには、ルールを作成します。
上のコードスニペットでは、
user.awsRoleは AWS ロールと IdP を識別します。AWS ロールの識別子はカンマの前にあり、IdP の識別子はカンマの後にあります。- ルールでは、これら 2 つの値を複数の方法で取得できます。たとえば、IAM Console の左側のサイドバーで、前の手順で AWS に作成した項目を選択すると取得できます。作成した IDプロバイダーとロールは、どちらも Console で選択するとコピー可能な ARN を利用できます。
-
上の例では、これら 2 つの値はいずれもルール内にハードコードされています。あるいは、これらの値をユーザープロファイルに保存したり、他の属性を使って導き出したりすることもできます。たとえば、Active Directory を使用している場合は、
groupなどのユーザーに関連付けられたプロパティを適切な AWS ロールにマッピングできます。
複数のロールをマッピングする
awsRoles: role1 ではなく awsRoles = [ role1, role2 ] になります)
たとえば、次のような構造の Active Directory グループがあるとします。
セッションの有効期限を設定する
設定をテストする
- Auth0 Dashboard > アプリケーション > アプリケーション に移動し、対象のアプリケーション名をクリックします。
- Addons タブで、SAML2 Web App アドオン を選択します。
- Usage タブで、IDプロバイダーのログイン URL を探します。Auth0 アカウントのログインページにリダイレクトされます。正常にログインできると、AWS にリダイレクトされます。