Active Directory は、Microsoft が Windows ドメインネットワーク向けに開発したディレクトリサービスです。ほとんどの Windows Server オペレーティングシステムに、一連のプロセスとサービスとして含まれています。Active Directory は、Security Assertion Markup Language(SAML)を使って Cloudflare Access と連携します。
次のものが必要です。
- すべてのユーザーに email 属性がある Active Directory Domain Controller
- Access の ID プロバイダー(IdP)で Generic SAML が有効であること
- Active Directory Federation Services(AD FS)をインストールした Microsoft サーバー。この手順のスクリーンショットは Server 2012R2 です。新しいバージョンでも同様の手順で進められます。
- Active Directory Federation Services(AD FS)用の、ブラウザーが信頼する証明書
上記の要件を満たしたら、設定を始められます。Active Directory Federation Services(AD FS)のインストールと基本設定は、このガイドの範囲外です。詳細は Microsoft KB ↗ を参照してください。
次に、Cloudflare Access と AD FS を接続するため、AD FS で Relying Party Trust を作成します。
Add Relying Party Trust ウィザードを実行し、SAML による AD と Cloudflare Access の連携を開始します。
Relying Party Trust を作成するには、次の手順を実行します。
-
Windows Server で ADFS Management ツールを起動します。
-
Relying Party Trusts フォルダーを選択します。
-
Actions サイドバーで Add Relying Party Trust を選択します。Add Relying Party Trust Wizard が起動します。
-
左メニューで Select Data Source を選びます。
-
Enter data about the relying party manually を選択します。
-
Next を選択します。
-
Display name を入力します。わかりやすい名前を使うことを推奨します。この接続に関する情報は Notes 欄に記入します。
-
Next を選択します。Choose Profile の手順が表示されます。
-
AD FS profile を選択します。
-
Next を選択します。Configure Certificate の手順が表示されます。
-
Certificate のオプションはデフォルトのままにします。
-
Next を選択します。Configure URL の手順が表示されます。
-
Enable support for the SAML 2.0 WebSSO protocol を選択します。
-
Relying party SAML 2.0 SSO service URL 欄に、次の URL を入力します。
https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callbackチーム名は、Cloudflare ダッシュボード ↗ の Settings > Team name and domain > Team name で確認できます。
-
Next を選択します。Configure Identifiers の手順が表示されます。
-
Relying party trust identifier 欄にコールバック URL を貼り付けます。
-
Next を選択します。Configure Multi-factor Authentication Now? の手順で、多要素認証を設定できます。
-
Next を選択します。Choose Issuance Authorization Rules の手順が表示されます。
-
Permit all users to access this relying party を選択します。
-
Next を選択します。Ready to Add Trust の手順が表示されます。
-
設定内容を確認します。
-
Next を選択します。これで Cloudflare はユーザー ID の認可を AD FS に委ねます。
Edit Claim Rules for CF Login 画面が自動で表示されます。
次に、AD FS が Cloudflare から情報を受け取り、Access ポリシー を作成できるよう、クレームルールを 2 つ作成します。
Add Relying Party Trust ウィザードを閉じた場合は、エクスプローラーで Relying Party Trusts フォルダーを開き、作成した RPT ファイルを選択し、Action サイドバーで Edit Claim Rules を選択します。
クレームルールを作成するには、次の手順を実行します。
-
Edit Claim Rules for CF Login ウィンドウで Add Rule を選択します。Choose Rule Type の手順が表示されます。
-
Claim rule template で、ドロップダウンから Send LDAP Attributes as Claims を選択します。
-
Next を選択します。Edit Rule — Send Email の手順が表示されます。
-
わかりやすい Claim rule name を入力します。
-
Attribute store のドロップダウンから Active Directory を選択します。
-
LDAP Attribute と Outgoing Claim Type のドロップダウンから E-mail-Addresses を選択します。
-
OK を選択します。Choose Rule Type の手順に戻ります。
-
2 つ目のルールを作成するため、Claim rule template のドロップダウンから Transform an Incoming Claim を選択します。
-
Next を選択します。Edit - Create Transient Name Identifier ウィンドウが表示されます。
-
わかりやすい Claim rule name を入力します。
-
Incoming claim type のドロップダウンから E-Mail Address を選択します。
-
Outgoing claim type のドロップダウンから Name ID を選択します。
-
Outgoing name ID format のドロップダウンから Transient Identifier を選択します。
-
Pass through all claim values が選択されていることを確認します。
-
OK を選択します。
両方のクレームルールを、Cloudflare Access アカウントへエクスポートできるようになりました。
AD FS から token-signing certificate を取り出し、Cloudflare が AD FS を認識できるように設定します。
証明書をエクスポートするには、次の手順を実行します。
-
AD FS 管理コンソールで、AD FS の Service を選択し、エクスポートする証明書がある Certificates フォルダーを開きます。
-
Certificates カードで Token-signing の項目を右クリックし、View certificate を選択します。Certificates ウィンドウが表示されます。
-
Details タブを選択し、Copy to File を選択します。
-
Certificate Export Wizard が表示されます。
-
Next を選択します。Export File Format ウィンドウが表示されます。
-
Base-64 encoded X.509 (.CER) を選択します。
-
Next を選択します。
-
ファイル名を入力します。
-
Next を選択します。
-
Finish を選択します。
あとで使うため、ファイルパスを控えておきます。
Cloudflare との通信時に AD FS がレスポンス全体に署名するよう、ローカルの PowerShell を開き、次のコマンドを入力します。
Set-ADFSRelyingPartyTrust -TargetName "Name of RPT Display Name" -SamlResponseSignature "MessageAndAssertion"AD FS から送られるクレームとアサーションを Cloudflare One が受け入れるようにするには、次の手順を実行します。
-
Cloudflare ダッシュボード ↗ で Zero Trust > Integrations > Identity providers を開きます。
-
Your identity providers で Add new identity provider を選択します。
-
SAML を選択します。
-
IdP の Name を入力します。
-
Single Sign On URL に次を入力します。
https://hostnameOfADFS/adfs/ls/これはデフォルトの場所です。federation service identifier は AD FS で確認できます。
-
IdP Entity ID or Issuer URL 欄に、Cloudflare Zero Trust のチームドメインを入力し、パスの末尾に
/cdn-cgi/access/callbackを付けます。例:https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callback -
Signing certificate に、エクスポートした証明書を貼り付けます。
テキスト欄にスペースや改行を入れないでください。
-
Save を選択します。
接続を確認するには、Integrations > Identity providers を開き、テストする ID プロバイダーの横の Test を選択します。
一部の IdP では、管理者は SP(サービスプロバイダー)のメタデータファイルをアップロードできます。
Cloudflare のメタデータファイルを取得するには、次の手順を実行します。
-
次の URL から、固有の SAML メタデータファイルをダウンロードします。
https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/saml-metadataCloudflare Access では、Edit a SAML identity provider ダイアログにこの URL へのリンクがあります。リンク先は、SAML SP データを XML 形式で返す Web ページです。
-
ファイルを XML 形式で保存します。
-
XML ドキュメントを Active Directory アカウントにアップロードします。
{
"config": {
"issuer_url": "https://<your-team-name>.cloudflareaccess.com/",
"sso_target_url": "https://adfs.example.com/adfs/ls/",
"attributes": ["email"],
"email_attribute_name": "",
"sign_request": false,
"idp_public_cert": "MIIDpDCCAoygAwIBAgIGAV2ka+55MA0GCSqGSIb3DQEBCwUAMIGSMQswCQYDVQQGEwJVUzETMBEG\nA1UEC.....GF/Q2/MHadws97cZg\nuTnQyuOqPuHbnN83d/2l1NSYKCbHt24o"
},
"type": "saml",
"name": "adfs saml example"
}