アプリをADFSに接続する

アプリケーションをMicrosoft ADFS(Active Directory Federation Services)に接続するには、ADFS管理者に以下の情報を提供する必要があります。

  • レルム識別子:urn:auth0:{yourTenant}

  • エンドポイント:https://{yourDomain}/login/callback、またはhttps://<YOUR CUSTOM DOMAIN>/login/callbackカスタムドメインを使用している場合)

フェデレーションメタデータ

フェデレーションメタデータファイルには、ADFSサーバーの証明書に関する情報が含まれています。フェデレーションメタデータエンドポイント(/FederationMetadata/2007-06/FederationMetadata.xml)がADFSで有効になっていると、Auth0は定期的(1日1回)に構成の変更(ロールオーバーに備えて新しい署名証明書が追加されたなど)を探します。そのため、スタンドアロンのメタデータファイルを提供するよりも、フェデレーションメタデータエンドポイントを有効にする方が効率的になります。スタンドアロンのメタデータファイルを提供した場合は、証明書の有効期限が近づくと、メールで通知されます。

接続のセットアップはスクリプトを使用するか、手動で行います。

スクリプトを使用したセットアップ

Windows PowerShellを使って、以下の2つのコマンドを実行します。

(new-object Net.WebClient -property @{Encoding = [Text.Encoding]::UTF8}).DownloadString("https://raw.github.com/auth0/adfs-auth0/master/adfs.ps1") | iex

Was this helpful?

/

AddRelyingParty "urn:auth0:{yourTenant}" "https://{yourDomain}/login/callback"

Was this helpful?

/

統合を自動化するために、スクリプトはADFS PowerShell SnapInを使ってRelying Partyを作成し、構成します。Relyin Partyは認証されたユーザーについて、emailupngiven namesurnameのクレームを発行します。

スクリプトは以下のように、ADFSにRelying Party Trustを作成します。

$realm = "urn:auth0:{yourTenant}";
$webAppEndpoint = "https://{yourDomain}/login/callback";
Add-PSSnapin Microsoft.Adfs.Powershell
Add-ADFSRelyingPartyTrust -Name $realm -Identifier $realm -WSFedEndpoint $webAppEndpoint
$rp = Get-ADFSRelyingPartyTrust -Name $realm

Was this helpful?

/

また、スクリプトは、email、UPN、given name、surnameなど、最も汎用される属性を出力するルールを作成します。

$rules = @'
@RuleName = "Store: ActiveDirectory -> Mail (ldap attribute: mail), Name (ldap attribute: displayName), Name ID (ldap attribute: userPrincipalName), GivenName (ldap attribute: givenName), Surname (ldap attribute: sn)"
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
=> issue(store = "Active Directory",
    types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",
             "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
             "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
             "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname",
             "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"), query = ";mail,displayName,userPrincipalName,givenName,sn;{0}", param = c.Value);
'@
Set-ADFSRelyingPartyTrust –TargetName $realm -IssuanceTransformRules $rules
$rSet = New-ADFSClaimRuleSet –ClaimRule '=> issue(Type = "http://schemas.microsoft.com/authorization/claims/permit", Value = "true");'
Set-ADFSRelyingPartyTrust –TargetName $realm –IssuanceAuthorizationRules $rSet.ClaimRulesString

Was this helpful?

/

手動でのセットアップ手順1:Relying Party Trustを追加する

  1. ADFS管理コンソールを開きます。

  2. コンソールの右にある[Add Relying Party Trust(証明書利用者の信頼を追加)]をクリックします。*

  3. [Start(開始)]をクリックします。

  4. [Enter data about the relying party manually(証明書利用者についてのデータを手動で入力する)]を選択して[Next(次へ)]をクリックします。

  5. 名前({yourAppName}など)を入力して[Next(次へ)]をクリックします。

  6. デフォルト(ADFS 2.0 profile)を使用して[Next(次へ)]をクリックします。

  7. デフォルト(no encryption certificate)を使用して[Next(次へ)]をクリックします。

  8. [Enable support for the WS-Federation...(WS-Federationのサポートを有効にする...)]を選択して、テキストボックスに次の値を入力します: https://{yourDomain}/login/callbackカスタムドメインを使用している場合にはhttps://<YOUR CUSTOM DOMAIN>/login/callback

  9. [Next(次へ)]をクリックします。

  10. Relying Party Trust identifier(証明書利用者信頼の識別子)に次の値を追加します: urn:auth0:{yourTenant}

  11. [Add(追加)]をクリックしてから、[Next(次へ)]をクリックします。

  12. Permit all users...(すべてのユーザーを許可する...)]をデフォルトのままにして、[Next(次へ)]をクリックします。

  13. [Next(次へ)]をクリックしてから、[Close(閉じる)]をクリックします。

手動でのセットアップ手順2:クレーム発行ポリシールールを追加する

  1. Windows Server 2019を使用している場合、Add Relying Party Trust(証明書利用者信頼の追加)ウィザードが完了すると、自動的に[Edit Claim Issuance Policy(クレーム発行ポリシーの編集)]ダイアログボックスが開きます。Windows Server 2012またはWindows Server 2016を使用している場合には、以下を行います。

    Windows Server 2012の場合 Windows Server 2016の場合
    コンソールの右側の[操作]パネルで、作成した証明書利用者信頼を見つけます。その下の**[クレーム発行ポリシーの編集]**をクリックします。 コンソールツリーのADFSの下にある**[証明書利用者信頼]をクリックします。コンソールの右側で、作成した証明書利用者信頼を見つけます。右クリックして、[クレーム発行ポリシーの編集]**をクリックします。

  2. [Edit Claim Issuance Policy(クレーム発行ポリシーの編集)]ウィンドウで[Issuance Transform Rules(発行変換ルール)]の下にある[Add Rule...(ルールの追加...)]をクリックします。

  3. デフォルトの[Send LDAP Attributes as Claims(LDAP属性をクレームとして送信)]はそのままにします。

  4. ルールに分かりやすい名前を入力します。

  5. [Attribute Store(属性ストア)]に[Active Directory(Entra ID)]を選択します。

  6. Mapping of LDAP attributes to outgoing claim types(LDAP属性を送信クレームタイプにマッピング)]に以下のマッピングを選択して、[Finish(終了)]をクリックします。

    LDAP属性 送信クレームタイプ
    E-Mail-Addresses メールアドレス
    Display-Name 名前
    User-Principal-Name 名前ID
    Given-Name
    Surname

他のLDAP属性を追加する

前の手順にあるマッピングは最もよく使われるものですが、ユーザー情報に関する他のLDAP属性が必要な場合には、クレームのマッピングを追加することができます。

  1. 前の手順でウィンドウを閉じてしまった場合には、作成したRelying Party Trustのコンテキストメニューから[Edit Claim Rules(クレームルールの編集)]を選択して、ルールを編集します。

  2. LDAP属性のそれぞれに追加の行を作成します。左の列で属性を選択して、右の列でクレームタイプを選択します。

  3. 使いたいクレームタイプが見つからない場合には、以下のいずれかを行います。

    1. 新しいクレームの名前空間修飾名(例:http://schemas.xmlsoap.org/ws/2005/05/identity/claims/department)を入力する

    2. 新しいクレームタイプを登録(ADFS管理コンソールで[ADFS]>[Services(サービス)]>[Claim Descriptions(クレームの説明)]を選択)して、マッピングにあるクレーム名を使用する。Auth0はユーザープロファイルの属性名として、クレームタイプの名前部分(例:http://schemas.xmlsoap.org/ws/2005/05/identity/claims/departmentdepartment)を使用します。

次の手順

これで、実際に動作する接続が仕上がりました。次に、それを使用するアプリケーションを構成します。以下の段階的なクイックスタートを実行するか、提供されいているライブラリーやAPIを使用することができます。