SAML 認証について
SAML(Security Assertion Markup Language)は、IDおよび認証製品で使用されるオープン標準です。SAMLを使用すると、StoreFrontを構成して、認証のためにユーザーを外部IDプロバイダーにリダイレクトできます。
注
内部アクセス用にStoreFrontをSAML認証で構成します。外部アクセスの場合、Citrix GatewayをSAML認証で構成 してから、StoreFrontをGatewayパススルー認証で構成します。
StoreFrontには、次のようなSAML 2.0準拠のIDプロバイダー(IdP)が必要です。
- SAMLバインディング(WS-Federationバインディングではない)を使用するMicrosoft AD Federation Services。詳細については、CTX220638 を参照してください。
- シトリックス ゲートウェイ(アイディーピーとして構成)。
- Microsoft Entra ID。詳細については、CTX237490 を参照してください。
SAMLアサーションには、ユーザーのUPNを含むsaml:Subject 属性が含まれている必要があります。StoreFrontは、Active DirectoryでこのUPNを検索します。StoreFrontは、他のディレクトリのユーザーをサポートしていません。Entra IDを使用する場合、ユーザーはハイブリッドIDを持っている必要があります。
ストアのSAML認証を有効または無効にするには、(/ja-jp/storefront/2203-ltsr/configure-authentication-and-delegation/authentication-methods.html) ウィンドウで SAML Authentication を選択します。ストアのSAML認証を有効にすると、デフォルトでそのストアのすべてのWebサイトで有効になります。各WebサイトのSAML認証は、(/ja-jp/storefront/2203-ltsr/manage-citrix-receiver-for-web-site/authentication-methods.html) タブで個別に無効または有効にできます。
StoreFront™ サムル エンドポイント
SAMLを構成するには、IDプロバイダーが次のエンドポイントを必要とする場合があります。
- エンティティIDのURL。これはストアの認証サービスへのパスであり、通常は
https://[storefront host]/Citrix/[StoreName]Authです。 - アサーションコンシューマーサービスのURL。通常は
https://[storefront host]/Citrix/[StoreName]Auth/SamlForms/AssertionConsumerServiceです。 - メタデータサービス。通常は
https://[storefront host]/Citrix/[StoreName]Auth/SamlForms/ServiceProvider/Metadataです。
さらに、通常はhttps://[storefront host]/Citrix/[StoreName]Auth/SamlTestであるテストエンドポイントがあります。
指定されたストアのエンドポイントを一覧表示するには、以下のPowerShellスクリプトを使用できます。
# Change this value for your Store
$storeVirtualPath = "/Citrix/Store"
$auth = Get-STFAuthenticationService -Store (Get-STFStoreService -VirtualPath $storeVirtualPath)
$spId = $auth.AuthenticationSettings["samlForms"].SamlSettings.ServiceProvider.Uri.AbsoluteUri
$acs = New-Object System.Uri $auth.Routing.HostbaseUrl, ($auth.VirtualPath + "/SamlForms/AssertionConsumerService")
$md = New-Object System.Uri $auth.Routing.HostbaseUrl, ($auth.VirtualPath + "/SamlForms/ServiceProvider/Metadata")
$samlTest = New-Object System.Uri $auth.Routing.HostbaseUrl, ($auth.VirtualPath + "/SamlTest")
Write-Host "SAML Service Provider information:
Entity ID: $spId
Assertion Consumer Service: $acs
Metadata: $md
Test Page: $samlTest"
<!--NeedCopy-->
出力結果の例:
SAML Service Provider information:
Entity ID: https://storefront.example.com/Citrix/StoreAuth
Assertion Consumer Service: https://storefront.example.com/Citrix/StoreAuth/SamlForms/AssertionConsumerService
Metadata: https://storefront.example.com/Citrix/StoreAuth/SamlForms/ServiceProvider/Metadata
Test Page: https://storefront.example.com/Citrix/StoreAuth/SamlTest
<!--NeedCopy-->
メタデータ交換を使用した構成
構成を簡素化するために、IDプロバイダーとサービスプロバイダー(この場合はStoreFront)の間でメタデータ(識別子、証明書、エンドポイント、その他の構成)を交換できます。
IDプロバイダーがメタデータインポートをサポートしている場合、StoreFrontメタデータエンドポイントを指すことができます。注:これはHTTPS経由で行う必要があります。
IDプロバイダーからのメタデータを使用してStoreFrontを構成するには、Update-STFSamlIdPFromMetadataコマンドレットを使用します。例:
Get-Module "Citrix.StoreFront*" -ListAvailable | Import-Module
# Remember to change this with the virtual path of your Store.
$StoreVirtualPath = "/Citrix/Store"
$store = Get-STFStoreService -VirtualPath $StoreVirtualPath
$auth = Get-STFAuthenticationService -StoreService $store
# To read the metadata directly from the Identity Provider, use the following:
# Note again this is only allowed for https endpoints
Update-STFSamlIdPFromMetadata -AuthenticationService $auth -Url https://example.com/FederationMetadata/2007-06/FederationMetadata.xml
# If the metadata has already been download, use the following:
# Note: Ensure that the file is encoded as UTF-8
Update-STFSamlIdPFromMetadata -AuthenticationService $auth -FilePath "C:\Users\exampleusername\Downloads\FederationMetadata.xml"
<!--NeedCopy-->
IDプロバイダーの構成
-
SAML認証行の設定ドロップダウンをクリックし、IDプロバイダーをクリックします。


-
SAMLバインディングでPostまたはRedirectを選択します。
-
IDプロバイダーのアドレスを入力します。
-
SAMLトークンの署名に使用される証明書をインポートします。
-
OKを押して変更を保存します。
サービスプロバイダーの構成
-
SAML認証行の設定ドロップダウンをクリックし、サービスプロバイダーをクリックします。
IDプロバイダーウィンドウのスクリーンショット(/ja-jp/storefront/2203-ltsr/media/configure-authentication/saml-service-provider.png)
-
オプションで、IDプロバイダーへのメッセージの署名に使用される署名証明書のエクスポートを選択します。
-
オプションで、IDプロバイダーから受信したメッセージの復号化に使用される暗号化証明書のエクスポートを選択します。
-
サービスプロバイダー識別子には、ストアの認証サービスが事前入力されています。
-
変更を保存するには、OKを押します。
パワーシェル SDK
パワーシェル SDK を使用する手順:
-
署名証明書をインポートするには、コマンドレットImport-STFSamlSigningCertificateを呼び出します。
-
暗号化証明書をインポートするには、コマンドレットImport-STFSamlEncryptionCertificateを呼び出します。
テスト
SAML統合をテストするには:
- SAMLテストページに移動し、StoreFront SAMLエンドポイントを参照してください。
- これにより、IDプロバイダーにリダイレクトされます。資格情報を入力してください。
- IDクレームとアサーションを表示するテストページにリダイレクトされます。
デリバリーコントローラー™ が ストアフロント を信頼するように構成する
SAML認証を使用する場合、StoreFrontはユーザーの資格情報にアクセスできないため、Citrix Virtual Apps and Desktopsへの認証ができません。したがって、Delivery ControllerがStoreFrontからの要求を信頼するように構成する必要があります。詳細については、Citrix Virtual Apps and Desktopsのセキュリティに関する考慮事項とベストプラクティスを参照してください。
フェデレーテッド認証サービスを使用したVDAへのシングルサインオン
SAML認証を使用する場合、StoreFrontはユーザーの資格情報にアクセスできないため、VDAへのシングルサインオンはデフォルトでは利用できません。Federated Authentication Serviceを使用してシングルサインオンを提供できます。