StoreFront

SAML 認証

SAML (Security Assertion Markup Language) は、ID および認証製品で使用されるオープン標準です。SAML を使用すると、StoreFront を構成して、認証のためにユーザーを外部 ID プロバイダーにリダイレクトできます。

内部アクセスには、SAML 認証で StoreFront を構成します。外部アクセスの場合、Citrix Gateway を SAML 認証で構成してから、Gateway パススルー認証で StoreFront を構成します。

StoreFront には、次のような SAML 2.0 準拠の ID プロバイダー (IdP) が必要です。

  • SAML バインディングを使用する Microsoft AD Federation Services (WS-Federation バインディングではない)。詳細については、CTX220638 を参照してください。
  • Citrix Gateway (IdP として構成)。
  • Microsoft Entra ID。詳細については、CTX237490 を参照してください。

SAML アサーションには、ユーザーの UPN を含む saml:Subject 属性を含める必要があります。StoreFront は Active Directory でこの UPN を検索します。

Citrix Workspace アプリを使用して接続する場合にストアの SAML 認証を有効または無効にするには、認証方法 ウィンドウで SAML 認証を選択します。ストアの SAML 認証を有効にすると、デフォルトでそのストアのすべての Web サイトでも有効になります。特定の Web サイトの SAML は、認証方法 タブで個別に構成できます。

StoreFront™ SAML エンドポイント

SAML を構成するには、ID プロバイダーが次のエンドポイントを必要とする場合があります。

  • エンティティ ID の URL。これはストアの認証サービスへのパスであり、通常は https://[storefront host]/Citrix/[StoreName]Auth です。
  • Assertion Consumer Service の 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 プロバイダーの構成

  1. SAML 認証行の設定ドロップダウンをクリックし、ID プロバイダーをクリックします。

    SAML 設定メニューのスクリーンショット

    ID プロバイダーウィンドウのスクリーンショット

  2. SAML バインディングPost または Redirect を選択します。

  3. ID プロバイダーのアドレスを入力します。

  4. SAML トークンの署名に使用する証明書をインポートします。

  5. 変更を保存するには、OK を押します。

サービスプロバイダーの構成

  1. SAML 認証行の設定ドロップダウンをクリックし、サービスプロバイダーをクリックします。

    ID プロバイダーウィンドウのスクリーンショット

  2. オプションで、ID プロバイダーへのメッセージの署名に使用するエクスポート署名証明書を選択します。

  3. オプションで、ID プロバイダーから受信したメッセージの復号化に使用するエクスポート暗号化証明書を選択します。

  4. サービスプロバイダー識別子には、ストアの認証サービスが事前に入力されています。

  5. 変更を保存するには、OK を押します。

PowerShell SDK

PowerShell SDK の使用:

テスト

SAML 統合をテストするには:

  1. SAML テストページに移動します。StoreFront SAML エンドポイント を参照してください。
  2. これにより、ID プロバイダーにリダイレクトされます。資格情報を入力します。
  3. テストページにリダイレクトされ、ID クレームとアサーションが表示されます。

StoreFront を信頼するように Delivery Controller™ を構成

SAML 認証を使用する場合、StoreFront はユーザーの資格情報にアクセスできないため、Citrix Virtual Apps and Desktops に対して認証できません。したがって、Delivery Controller を構成して StoreFront からのリクエストを信頼する必要があります。Citrix Virtual Apps and Desktops のセキュリティに関する考慮事項とベストプラクティス を参照してください。

フェデレーション認証サービスを使用した VDA へのシングルサインオン

SAML 認証を使用する場合、StoreFront はユーザーの資格情報にアクセスできないため、VDA へのシングルサインオンはデフォルトでは利用できません。シングルサインオンを提供するには、フェデレーション認証サービス を使用できます。

SAML 認証