AD FSの設定

Keeper SSO Connect On-PremをMicrosoft AD FSと連携するように設定して、シームレスで安全なSAML 2.0認証を実現する方法。

AD FSとの完全なクラウドベースの統合については、Keeper SSO Connect Cloudをご参照ください

Microsoft AD FS

フェデレーションメタデータXMLを取得

AD FS管理アプリケーション内で、フェデレーションメタデータxmlファイルを見つけます。 これは、AD FS > サービス(Service) > エンドポイント(Endpoints)をクリックし、「メタデータ(Metadata)」セクションでURLのパスを探せば確認できます。 パスは通常、以下に示すように**/FederationMetadata/2007-06/FederationMetadata.xml**です。

メタデータファイルをダウンロードするには、通常、サーバーのブラウザにURLを読み込めば入手できます。 例: https://<ご利用のホスト名(your hostname)>/FederationMetadata/2007-06/FederationMetadata.xml このファイルをダウンロードして、コンピュータに保存します。

フェデレーションメタデータをインポート

FederationMetadata.xmlファイルをドラッグアンドドロップして、Keeper SSO Connectの設定画面にインポートします。

**保存(Save)**を選択して設定を保存します。

ご注意ください: ADFSの署名証明書の有効期限は、通常1年間のみです。 ADFSは、最新の証明書に自動的にローテーションする場合があります。 これにより、Keeper SSO ConnectとADFS間の信頼関係が崩れます。 動作を保証するために、新しいfederationMetadata.xmlファイルを生成して、Keeper SSO Connectにアップロードする必要があります。 この手順を実行して動作を維持できるように、証明書が失効する前にリマインダーを設定することを強くお勧めします。

Keeper SSO Connectメタデータをエクスポート

Keeper SSO Connectの**メタデータをエクスポート(Export Metadata)**リンクを選択し、sso_connect.xmlファイルをご利用のIdPにコピーします。

AD FSの設定を完了

証明書利用者信頼を作成

Keeper SSO Connectを証明書利用者信頼として作成します。

Keeperメタデータをインポート

以下の手順に示すように、証明書利用者信頼ウィザードを完了して、Keeper SSO Connectから前もってエクスポートしたKeeperメタデータをインポートします。

ログアウトエラーを防ぐには、証明書利用者信頼のSAMLログアウトエンドポイントをhttps://<ご利用のADFSサーバーのドメイン名(YourADFSserverDomain)>/adfs/ls/?wa=wsignout1.0に変更します。

要求発行ポリシー規則を作成

AD FSとKeeperの間で属性をマッピングするには、**LDAP属性を要求として送信(Send LDAP Attributes as Claims)**を使用して、要求発行ポリシーを作成し、LDAPの属性をKeeper Connectの属性にマッピングする必要があります。

重要:3つの属性(「名(First)」 「姓(Last)」 「メール(Email)」)が上記のように正確なスペルで設定されていることを確認してください

ログアウトをサポートするために、さらに2つの要求発行ポリシー規則を追加する必要があります。

要求規則に追加する構文をコピーするには、以下のテキストをコピーして、カスタム規則に貼り付けます。

c1:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
 && c2:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationinstant"]
 => add(store = "_OpaqueIdStore", types = ("http://mycompany/internal/sessionid"), query = "{0};{1};{2};{3};{4}", param = "useEntropy", param = c1.Value, param = c1.OriginalIssuer, param = "", param = c2.Value);

入力方向の要求の種類: http://mycompany/internal/sessionid

そこに自分の会社名を入力するのですか。いいえ、実際には文字通り 「http://mycompany/internal/sessionid」 を入力します

送信方向の要求の種類:名前ID(Name ID) 送信方向の名前識別子(Name ID)の形式:一時識別子

SAML署名の設定

a.AD FSサーバーで管理者としてPowershellを開きます。 b. 以下のコマンドを実行して取得できるSSO Connect証明書利用者信頼の「識別子(Identifier)」の文字列を特定します。

Get-ADFSRelyingPartyTrust

このコマンドを実行すると、長い出力リストが生成されます。SSO Connectセクションと「識別子(Identifier)」の文字列を探します。 この文字列は以下のようになります。 https://xyx.company.com:8443/sso-connect

c.以下のコマンドを実行し、<識別子(Identifier)>を手順(b)で見つけた文字列に置き換えます。

Set-ADFSRelyingPartyTrust -TargetIdentifier <識別子(Identifier)> -samlResponseSignature MessageAndAssertion

Get-ADFSRelyingPartyTrustを再度実行すると、SamlResponseSignatureセクションが「MessageAndAssertion」に設定されていることが確認できます。

AD FSサービスを再起動

サービスマネージャから、AD FSサービスを再起動します。

SAMLアサーションの署名は、AD FS環境で適切に設定する必要があります。 署名が設定されていない場合は、署名を設定し、再設定後にAD FSとKeeper SSO Connect間でメタデータを再度交換する必要があります。

トラブルシューティング

Keeper SSO Connectの設定後に、**SSOが設定されていません(未定義)(SSO is not configured (undefined))**と表示される場合の根本原因としては、CRLの設定がないか、または間違っていると考えられます。 簡単な修正/回避策は、証明書失効チェックをすべて無効にすることです。

考えられる根本原因 タイムスキュー Keeper ConnectとIdPのシステム時刻が同じ(1秒以内)であることを確認してください。 ntp同期を設定 PS C:\Windows\system32>w32tm /config /syncfromflags:manual /manualpeerlist:0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org,0x8 /reliable:yes /update 証明書有効性確認の失敗

  • 設定を確認します。管理者としてPowerShellを実行し、ADFSRelyingPartyTrustを確認します。

  • 上記の「SAML署名の設定」の手順に従います。

テスト目的または内部PKI証明書のために、IdPでの証明書の有効性確認を無効にする必要がある場合は、以下のPowershellコマンドをご使用ください。 <識別子(Identifier)>を上記の 「SAML署名の設定」 の手順で見つけた文字列に置き換えます。

Set-ADFSRelyingPartyTrust -TargetIdentifier 
<識別子(Identifier)> -EncryptionCertificateRevocationCheck None
Set-ADFSRelyingPartyTrust -TargetIdentifier 
<識別子(Identifier)> -SigningCertificateRevocationCheck None

注意:署名設定に何らかの変更を加えると、IdPとSSO Connectの間でXMLメタデータの交換が必要になる場合があります。

Last updated