アプリを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は認証されたユーザーについて、email、upn、given name、surnameのクレームを発行します。
スクリプトは以下のように、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を追加する
ADFS管理コンソールを開きます。
コンソールの右にある[Add Relying Party Trust(証明書利用者の信頼を追加)]をクリックします。*
[Start(開始)]をクリックします。
[Enter data about the relying party manually(証明書利用者についてのデータを手動で入力する)]を選択して[Next(次へ)]をクリックします。
名前(
{yourAppName}
など)を入力して[Next(次へ)]をクリックします。デフォルト(
ADFS 2.0 profile
)を使用して[Next(次へ)]をクリックします。デフォルト(
no encryption certificate
)を使用して[Next(次へ)]をクリックします。[Enable support for the WS-Federation...(WS-Federationのサポートを有効にする...)]を選択して、テキストボックスに次の値を入力します:
https://{yourDomain}/login/callback
(カスタムドメインを使用している場合にはhttps://<YOUR CUSTOM DOMAIN>/login/callback
)[Next(次へ)]をクリックします。
Relying Party Trust identifier(証明書利用者信頼の識別子)に次の値を追加します:
urn:auth0:{yourTenant}
[Add(追加)]をクリックしてから、[Next(次へ)]をクリックします。
[
Permit all users...
(すべてのユーザーを許可する...)]をデフォルトのままにして、[Next(次へ)]をクリックします。[Next(次へ)]をクリックしてから、[Close(閉じる)]をクリックします。
手動でのセットアップ手順2:クレーム発行ポリシールールを追加する
Windows Server 2019を使用している場合、Add Relying Party Trust(証明書利用者信頼の追加)ウィザードが完了すると、自動的に[Edit Claim Issuance Policy(クレーム発行ポリシーの編集)]ダイアログボックスが開きます。Windows Server 2012またはWindows Server 2016を使用している場合には、以下を行います。
Windows Server 2012の場合 Windows Server 2016の場合 コンソールの右側の[操作]パネルで、作成した証明書利用者信頼を見つけます。その下の**[クレーム発行ポリシーの編集]**をクリックします。 コンソールツリーのADFSの下にある**[証明書利用者信頼]をクリックします。コンソールの右側で、作成した証明書利用者信頼を見つけます。右クリックして、[クレーム発行ポリシーの編集]**をクリックします。 [Edit Claim Issuance Policy(クレーム発行ポリシーの編集)]ウィンドウで[Issuance Transform Rules(発行変換ルール)]の下にある[Add Rule...(ルールの追加...)]をクリックします。
デフォルトの[
Send LDAP Attributes as Claims
(LDAP属性をクレームとして送信)]はそのままにします。ルールに分かりやすい名前を入力します。
[Attribute Store(属性ストア)]に[Active Directory(Entra ID)]を選択します。
[
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属性が必要な場合には、クレームのマッピングを追加することができます。
前の手順でウィンドウを閉じてしまった場合には、作成したRelying Party Trustのコンテキストメニューから[Edit Claim Rules(クレームルールの編集)]を選択して、ルールを編集します。
LDAP属性のそれぞれに追加の行を作成します。左の列で属性を選択して、右の列でクレームタイプを選択します。
使いたいクレームタイプが見つからない場合には、以下のいずれかを行います。
新しいクレームの名前空間修飾名(例:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/department
)を入力する新しいクレームタイプを登録(ADFS管理コンソールで[ADFS]>[Services(サービス)]>[Claim Descriptions(クレームの説明)]を選択)して、マッピングにあるクレーム名を使用する。Auth0はユーザープロファイルの属性名として、クレームタイプの名前部分(例:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/department
のdepartment
)を使用します。
次の手順
これで、実際に動作する接続が仕上がりました。次に、それを使用するアプリケーションを構成します。以下の段階的なクイックスタートを実行するか、提供されいているライブラリーやAPIを使用することができます。