Skip to main content
Auth0 を AWS と連携すると、サポート対象の任意の を使用して、ユーザーが AWS にログインできるようになります。 AWS で を設定するには、次の手順を完了する必要があります。
  1. AWS で外部アイデンティティプロバイダーを作成します。
  2. Auth0 アプリケーションの SAML2 Web App アドオンを設定します。
  3. AWS のアイデンティティプロバイダー設定を完了します。
  4. AWS IAM ロールを作成します。
  5. AWS ロールをユーザーに対応付けます。

AWS で外部アイデンティティプロバイダーを作成する

  1. 1 つ変更を加えたうえで、AWS のガイド Connect to your External Identity Provider に従って、AWS で外部アイデンティティプロバイダーを設定します。
    1. AWS のメタデータファイルをダウンロードする代わりに、Show Individual Metadata Values をクリックします。
    2. AWS SSO 発行者 URLAWS SSO ACS URL の値をコピーします。これらは次のセクションで使用します。
  2. 後のセクションで設定を完了する必要があるため、このページはブラウザーで開いたままにしておいてください。

Auth0 の SAML SSO を設定する

を使用して、アプリケーションの SAML2 Web App アドオンを設定します。設定方法については、Amazon Web Services 向けに Auth0 を IDプロバイダーとして設定する を参照してください。

AWSアイデンティティプロバイダーの設定を完了する

  1. ブラウザーで開いている AWS SSO のアイデンティティプロバイダーページに戻ります。
  2. 前のセクションでダウンロードして保存したメタデータファイルをアップロードします。
  3. 内容を確認し、アイデンティティソースの変更を確認します。

AWS IAMロールを作成

プロバイダーを使用するには、そのプロバイダーをロールの信頼ポリシーに含めた IAM ロールを作成する必要があります。
  1. サイドバーの Access Management から Roles に移動し、Create Role をクリックします。
  2. 次のページで、信頼するエンティティの種類を選択するよう求められます。SAML 2.0 Federation を選択します。
  3. 画面の指示が表示されたら、先ほど作成したプロバイダーを SAML provider として設定します。Allow programmatic and AWS Management Console access を選択し、Next をクリックして続行します。
  4. Attach Permission Policies ページで、ロールにアタッチする適切なポリシーを選択します。これらのポリシーによって、このロールを付与されたユーザーが AWS で持つ権限が決まります。たとえば、ユーザーに IAM への読み取り専用アクセスを付与するには、IAMReadOnlyAccess ポリシーを絞り込んで選択します。完了したら、Next Step をクリックします。
  5. 3 つ目の Create Role 画面は Add Tags です。多数のロールを作成する予定がある場合は、タグを使って作成したロールを整理できます。
  6. Review ページで Role Name を設定し、設定内容を確認します。次のパラメーターに値を入力します。
  7. Trusted entitiesPolicies の情報を確認し、Create Role をクリックします。

AWS ロールをユーザーにマッピングする

高度なユースケースでロールを割り当てるサーバー側のルールを定義する例については、Amazon API Gateway チュートリアルを参照してください。
指定したAWS ロールは、AWS マネジメントコンソールを含むリソースに対して許可されるアクセスの種類を適用するIAM ポリシーに関連付けられます。ロールとポリシーの詳細については、Creating IAM Rolesを参照してください。
  1. AWS ロールをユーザーにマッピングするには、ルールを作成します。
    上のコードスニペットでは、user.awsRole は AWS ロールと IdP を識別します。AWS ロールの識別子はカンマの前にあり、IdP の識別子はカンマの後にあります。
    1. ルールでは、これら 2 つの値を複数の方法で取得できます。たとえば、IAM Console の左側のサイドバーで、前の手順で AWS に作成した項目を選択すると取得できます。作成した IDプロバイダーとロールは、どちらも Console で選択するとコピー可能な ARN を利用できます。
    2. 上の例では、これら 2 つの値はいずれもルール内にハードコードされています。あるいは、これらの値をユーザープロファイルに保存したり、他の属性を使って導き出したりすることもできます。たとえば、Active Directory を使用している場合は、group などのユーザーに関連付けられたプロパティを適切な AWS ロールにマッピングできます。

複数のロールをマッピングする

ロールのマッピングには配列を指定することもできます (つまり、awsRoles: role1 ではなく awsRoles = [ role1, role2 ] になります) たとえば、次のような構造の Active Directory グループがあるとします。
この場合、ルールは次のようになります。

セッションの有効期限を設定する

AWS セッションの有効期限 (3600 秒) を延長するには、カスタムのルールを使用します。このルールでは、セッション時間を変更する SessionDuration 属性 を設定します。

設定をテストする

  1. Auth0 Dashboard > アプリケーション > アプリケーション に移動し、対象のアプリケーション名をクリックします。
  2. Addons タブで、SAML2 Web App アドオン を選択します。
  3. Usage タブで、IDプロバイダーのログイン URL を探します。Auth0 アカウントのログインページにリダイレクトされます。正常にログインできると、AWS にリダイレクトされます。

詳細はこちら