メインコンテンツへスキップ
Auth0をAWSと統合すると、サポートされているIDプロバイダーを使って、ユーザーがAWSにログインできるようになります。 にAWSを構成するには、以下の手順を完了させる必要があります。
  1. AWSで外部IDプロバイダーを作成します。
  2. Auth0アプリケーションにSAML2 Webアプリのアドオンを構成します。
  3. AWSのIDプロバイダーの構成を完了させます。
  4. AWS IAMロールを作成します。
  5. AWSロールをユーザーにマッピングします。

AWSで外部のIDプロバイダーを作成します。

  1. AWS提供の「外部 ID プロバイダーを管理する」ガイドに従って、AWSで外部IDプロバイダーを設定しますが、以下の1つだけ変更します。
    1. AWSのメタデータファイルをダウンロードする代わりに、 [個々のメタデータ値を表示] をクリックします。
    2. AWS SSO発行者URLAWS SSO ACS URL の値をコピーします。これらは次のセクションで使用します。
  2. このページはブラウザーで開いたままにしておいてください。後のセクションで構成を完了させる必要があります。

Auth0にSAML SSOを構成する

を使用して、アプリケーションにSAML2 Webアプリのアドオンを構成します。詳細については、「Amazon Web ServicesにAuth0をIDプロバイダーとして設定する」をお読みください。

AWSのIDプロバイダーの構成を完了させる

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

AWS IAMロールを作成する

プロバイダーを使用するには、ロールの信頼ポリシーにあるプロバイダーを使ってIAMロールを作成する必要があります。
  1. サイドバーで、 [アクセス管理]** [ロール]** に移動します。 [ロールの作成] をクリックします。
  2. 次のページで、信頼されたエンティティーのタイプを選択するよう求められます。 [SAML 2.0フェデレーション] を選択します。
  3. プロンプトが表示されたら、上記で作成したプロバイダーを SAMLプロバイダー として設定します。 [プログラムによるアクセスと AWS Management Console によるアクセスを許可する] を選択します。 [次へ] をクリックして続行します。
  4. [アクセス許可ポリシーをアタッチする] ページで、ロールにアタッチする適切なポリシーを選択します。これにより、このロールを持つユーザーがAWSで付与されるアクセス権が決定されます。たとえば、ユーザーにIAMへの読み取り専用アクセスを付与するには、IAMReadOnlyAccessポリシーをフィルターで絞り込んで選択します。完了したら、 [次のステップ] をクリックします。
  5. 3番目の [ロールの作成] 画面は、 [タグの追加] です。多数のロールを作成する予定の場合には、作成するロールを整理するためにタグを使うことができます。
  6. [確認] ページで、 [ロール名] を設定し、設定を確認します。以下のパラメーターの値を入力します。
フィールド説明
Role name(ロール名)ロールの説明的な名前。
Role description(ロールの説明)ロールを使用する目的の説明。
  1. [信頼されたエンティティー][ポリシー] の情報を確認してから、 [ロールの作成] をクリックします。

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

高度なユースケースでロールを割り当てるサーバー側ルールについては、Amazon API Gatewayのチュートリアルを参照してください。
指定された AWSロール は、AWSコンソールを含むリソースへのアクセスタイプを統括する IAMポリシー に関連付けられます。ロールとポリシーの詳細については、「IAMロールを作成する」をお読みください。
  1. AWSロールをユーザーにマッピングするには、ルールを作成します。
    上の例にあるコードのスニペットでは、user.awsRoleがAWSロールとIdPを識別します。AWSロールの識別子はカンマの前に、IdPの識別子はカンマの後にあります。
    1. ルールを使うと、これらの2つの値を複数の方法で取得できます。前の手順でAWSに作成した項目を左のサイドバーから選択すると、これらの値を取得することができます。IDプロバイダーと作成したロールの両方にARNがあり、これらをコンソールで選択すると、コピーできます。
    2. 上の例では、これらの値は両方ともルールに埋め込まれています。これらの値は、ユーザープロファイルに保管するか、他の属性を使って指定することもできます。たとえば、Active Directoryを使用している場合、ユーザーに関連付けられたgroupなどのプロパティを、適切なAWSロールにマッピングすることができます。

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

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

セッションの有効期限を構成する

AWSセッションが期限切れになるまでの猶予時間(3600秒)を延長するには、カスタムルールを使用します。ルールでSessionDuration 属性を設定して、セッションの持続時間を変更します。

構成をテストする

  1. [Dashboard]>[Applications(アプリケーション)]>[Applications(アプリケーション)]に移動し、アプリケーションの名前をクリックします。
  2. [Addons(アドオン)] タブで [SAML2 Web App(SAML2 Webアプリ)] アドオンを選択します。
  3. [Usage(使用状況)] タブで、 [Identity Provider Login URL(IDプロバイダーのログインURL)] を見つけます。Auth0アカウントのログインページにリダイレクトされます。ログインに成功すると、AWSにリダイレクトされます。

もっと詳しく