PoCガイド:Azureが管理するSaaSアプリケーションへの安全なアクセスとCitrix Secure Private Access

概要

ユーザーが SaaS アプリケーション内の機密コンテンツにアクセスする場合、組織は認証標準を適用しながら、ユーザーのログイン操作を簡素化できる必要があります。組織では、SaaS アプリケーションがデータセンターの範囲外に存在する場合でも、セキュリティで保護できる必要があります。Citrix Workspaceでは、SaaSアプリケーションのセキュリティ制御が強化されています。

このシナリオでは、ユーザーはActive Directoryをプライマリユーザーディレクトリとして使用してCitrix Workspaceに認証し、Azureで管理されたSaaSアプリを起動します。

Active Directory と Azure SSO

Citrix Secure Private AccessサービスがCitrixサブスクリプションに割り当てられている場合、画面ベースのウォーターマークの適用、印刷/ダウンロード操作の制限、画面取得の制限、キーボードの難読化、信頼できないリンクからのユーザーの保護など、強化されたセキュリティポリシーが適用されます。SaaSアプリケーションのトップ。

次のアニメーションは、Azure提供のSSOを使用してSaaSアプリにアクセスし、Citrix Secure Private Access で保護されているユーザーを示しています。

Azure SSO デモ

このデモでは、ユーザーがCitrix Workspace内からアプリケーションを起動するIDP起動SSOフローを示します。このPoCガイドは、ユーザーが好みのブラウザから直接SaaSアプリにアクセスしようとする、SPが開始するSSOフローもサポートしています。

前提:

  • Azure は SaaS アプリに SSO を提供するように既に構成されています
  • ユーザーは Azure アプリポータルに正常にサインインして SaaS アプリを起動できます

この概念実証ガイドでは、次の方法について説明します。

  1. Citrix Workspace のセットアップ
  2. プライマリ・ユーザー・ディレクトリの統合
  3. SaaS アプリケーションにシングルサインオンを組み込む
  4. ウェブサイトフィルタリングポリシーを定義する
  5. 構成を検証する

Citrix Workspace のセットアップ

環境を設定するための最初の手順は、Citrix Workspaceを組織用に準備することです。これには、

  1. ワークスペース URL の設定
  2. 適切なサービスの有効化

ワークスペースの URL を設定

  1. Citrix Cloud に接続し、管理者アカウントでログインします
  2. Citrix Workspaceで、左上のメニューから[ ワークスペース構成 ]にアクセスします
  3. [ アクセス ] タブで、組織の一意の URL を入力し、[有効] を選択します。

ワークスペースURL

サービスを有効にする

サービスインテグレーションタブから 、SaaS アプリケーションへの安全なアクセスをサポートする以下のサービスを有効にします。

  1. Secure Private Access
  2. リモートブラウザ分離

ワークスペースサービス

確認

Citrix Workspaceでは、サービスとURL設定の更新にしばらく時間がかかります。ブラウザから、カスタムワークスペース URL がアクティブであることを確認します。ただし、プライマリユーザーディレクトリを定義して構成すると、ログオンが可能になります。

プライマリ・ユーザー・ディレクトリの統合

ユーザーが Workspace で認証される前に、 プライマリユーザーディレクトリを設定する必要があります 。Workspace内のアプリのリクエストはすべてセカンダリIDへのシングルサインオンを使用するため、ユーザーが必要とするIDはプライマリユーザーディレクトリだけです。

組織は、次のプライマリユーザーディレクトリのいずれかを使用できます:

SaaS アプリを作成する

Citrix Workspaceを使用してSaaSを正常に作成するには、管理者は次の操作を行う必要があります:

  • SaaS アプリを設定する
  • SaaS アプリを認証する

SaaS アプリを設定する

Azure 内でSaaSアプリを構成すると、SaaSアプリはCitrix Workspace内で構成できます。

  • Azure 内で、 Azure Active Directoryを選択します
  • エンタープライズアプリケーションの選択

SaaS アプリのセットアップ 01

  • 一覧内で SaaS アプリを選択すると、アプリケーションの概要が表示されます。
  • プロパティを選択

SaaS アプリのセットアップ 02

  • ユーザーアクセス URL をコピーし、後で使用するために覚えておいてください
  • Citrix Cloud 内で、[Secure Private Access]タイルから[ 管理 ]を選択します。

SaaS アプリのセットアップ 03

  • 「Secure Private Access」メニューで、「 アプリケーション」を選択します
  • 「アプリケーション」セクションで、「 アプリを追加」を選択します

アプリケーション-テンプレート

  • [テンプレートの選択] ウィザードで、正しいテンプレートを見つけます。この例では、[ ヒューマニティー]を選択します

SaaS アプリのセットアップ 04

  • 次を選択

アプリケーション-アプリの詳細

  • [ アプリ詳細 ] 画面で、 URL を Azure からコピーしたユーザーアクセス URL に置き換えます。
  • URLの末尾に、 &whr=federated_domain を追加します。federated_domain、 ユーザーのアイデンティティに関連するドメイン (ユーザーのメールの @記号の後の情報) に置き換えます。フェデレーションドメインエントリは、正しいフェデレーションドメイン構成にリダイレクトするように Azure に通知します。フェデレーションドメイン情報は、今後のセクションで Azure 内で構成されます。

SaaS アプリのセットアップ 05

*注:データセンターにデプロイされたConnector Appliance スを介してトラフィックをルーティングすることもできます。そのため、「社内ネットワーク外」から「社内ネットワーク内」に切り替える必要があります。*

  • 次を選択

アプリケーション-シングル・サインオン

  • シングルサインオンウィンドウでアサーション URLhttps://login.microsoftonline.com/login.srf (1) に設定します。
  • 対象オーディエンスを次に設定:urn:federation:MicrosoftOnline (2)
  • 名前 ID の形式が [固定] 、[ 名前 ID] が [Active Directory GUID] であることを確認します (3)
  • [ 指定した URL を使用してアプリを起動する (SP 起動)] というラベルの付いたボックスを選択します。(4)
    認証されると、ユーザーは Azure App Portal ではなく SaaS アプリに自動的にリダイレクトされます。
  • [詳細属性] で、[ 属性名] = [IDPEmail]、[属性形式] = [未指定]、[属性値] = [電子メール] を確認します (5)

Citrix Workspaceへのユーザー認証中にユーザーがすでにMFAを入力している場合、MFA認証要求を抑制するために、2つ目の詳細属性オプションが自動的に追加されます。

属性名: http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod
属性フォーマット: Unspecified
属性値: Custom value
カスタム値: http://schemas.microsoft.com/claims/multipleauthn

Azure AD がこの要求を受け入れるには、ドメインフェデレーションの設定時にパラメータ-SupportsMfa $trueを追加する必要があります。

*注: (6)、(7)、(8) の手順は、最初のアプリでのみ実行する必要があります。*

  • CRT ベースの証明書を取得するには 、[ ダウンロード ] を選択します。(6)
  • [ ログイン URL] の横にある [ コピー ] ボタンを選択して、ログイン URL をキャプチャします。この URL は後で使用します。(7)
  • SAML メタデータリンクを選択 (8)

SaaS アプリのセットアップ 06

  • SAML メタデータファイル内で、 entityIdを探します。URL 全体をコピーして、後で使用できるように保存してください。キャプチャすると、SAML メタデータファイルを閉じることができます。

SaaS アプリのセットアップ 07

  • 次を選択

アプリケーション-アプリケーション接続

  • App Connectivity ウィンドウで、トラフィックのルーティング方法(この場合は、クライアントから SaaS アプリケーションへの直接)を確認します。

SaaS アプリのセットアップ 08

  • 次を選択
  • [ 完了 ] を選択して Humanity SaaS アプリの設定を完了します。

SaaS アプリの認証と強化されたセキュリティの設定

  • 「Secure Private Access」メニューで、「 アクセス・ポリシー」を選択します
  • 「アクセスポリシー」セクションで、「 ポリシーの作成」を選択します

SaaS アプリのオーソライズ 01

  • **ポリシー名と簡単なポリシーの説明を入力します**。
  • アプリケーション 」ドロップダウンリストで「Humanity」を検索して選択します。

1 つのポリシー内で、複数のアクセスルールを作成し、さまざまなユーザーまたはユーザーグループにさまざまなアクセス条件を設定できます。これらのルールは、HTTP/HTTPS アプリケーションと TCP/UDP アプリケーションの両方に、すべて 1 つのポリシー内で個別に適用できます。 複数のアクセス規則の詳細については、「 複数の規則を含むアクセスポリシーの設定」を参照してください。

  • Create Rule 」をクリックして、ポリシーのルールを作成します。

SaaS アプリのオーソライズ 02

  • ルール名とルールの簡単な説明を入力し、[ 次へ] をクリックします。

SaaS アプリのオーソライズ 03

  • アプリを起動する権限を持つ適切なユーザー/グループを追加し、「次へ」をクリックします。

コンテキストに基づいて複数の条件を追加するには、「+」をクリックします。

SaaS アプリのオーソライズ 04

  • HTTP/HTTPS アプリに制限付きまたは制限なしでアクセスできるかどうかを指定します。
    前のスクリーンショットでは、ウォーターマークと印刷制限が設定されています。
    セキュリティを強化する必要がない場合は、「制限付きアクセスを許可」を「アクセスを許可」に変更してください。
  • TCP/UDP アプリケーションアクションを指定します。
    前のスクリーンショットでは、TCP/UDP アプリへのアクセスが拒否されています。
  • [次へ] をクリックします。

SaaS アプリのオーソライズ 05

  • 概要ページには、ポリシールールの詳細が表示されます。
    詳細を確認し、[ 完了] をクリックします。

SaaS アプリのオーソライズ 06

  • ポリシーの作成 」ダイアログで、「 保存時にポリシーを有効にする」がオンになっていることを確認し 、「 保存」をクリックします。

*注:初期の SSO テストでは、必ず「リモートブラウザで開く」オプションを設定してセキュリティ強化を設定することをおすすめします。*

Azure 認証を Citrix Workspace にフェデレートする

SaaSアプリをCitrix Workspaceと正常に連携させるには、管理者は次の操作を行う必要があります。

  • 認証ドメインの確認
  • ドメインフェデレーションの構成

認証ドメインの確認

認証をCitrix Workspaceにフェデレーションするには、Azureが完全修飾ドメイン名を確認する必要があります。Azure ポータルで、次の操作を行います。

  • Azure Active Directory にアクセスする
  • ナビゲーションウィンドウで [ カスタムドメイン名 ] を選択します。
  • [ カスタムドメインの追加] を選択します。
  • 完全修飾ドメイン名を入力してください

ドメイン検証 01

  • [ ドメインの追加] を選択します
  • Azure は、ドメイン名レジストラに組み込むためのレコードを提供します。完了したら、[ 確認] を選択します。

ドメイン検証 02

  • 完了すると、ドメインには検証済みマークが含まれます。

ドメイン検証 03

ドメインフェデレーションの構成

最終的な構成では、検証済みドメインのフェデレーション権限として Citrix Workspace を Azure で使用します。フェデレーションの構成は、PowerShell で実行する必要があります。

  • PowerShell の起動
  • 次のコマンドを使用して、適切なモジュールを追加します
Install-Module AzureAD -Force
Import-Module AzureAD -Force
Install-Module MSOnline -Force
Import-module MSOnline -Force
<!--NeedCopy-->
  • PowerShell 経由でMicrosoft オンラインに接続し、Microsoft クラウドアカウント (たとえば、admin.user@onmicrosoft.com) を使用して認証します
Connect-MSOLService
<!--NeedCopy-->
  • 次の PowerShell コマンドを実行して、ドメインが現在 Azure 内で管理対象に設定さていることを確認します
Get-MsolDomain
<!--NeedCopy-->

ドメインフェデレーション 01

  • PowerShell スクリプトで次のコードを使用して、環境に合わせて変数を変更して、 このドメインをフェデレートします
 $dom = "workspaces.wwco.net" # The fully qualified domain name verified within Azure
 $fedBrandName = "CitrixWorkspaceSAMLIdP" # A name to help remember the configuration purpose
 $uri = "https://app.netscalergateway.net/ngs/[entityID]/saml/login?APPID=[APPID]" # The Login URL from the Humanity app configuration
 $logoffuri = "https://app.netscalergateway.net/cgi/logout" # Standard entry for all. Do not change
 $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("<location of certificate downloaded from Citrix Secure Private Access service/filename.crt>") # Path to the downloaded certificate file from Humanity app configuration (e.g., C:\temp\filename.crt)
 $certData = [system.convert]::tobase64string($cert.rawdata)
 $IssuerUri = "https://citrix.com/[entityID]" # The entityID taken from the Office365 app configuration SAML Metadata file

 Set-MsolDomainAuthentication `
     -DomainName $dom `
     federationBrandName $fedBrandName `
     -Authentication Federated `
     -PassiveLogOnUri $uri `
     -LogOffUri $logoffuri `
     -SigningCertificate $certData `
     -IssuerUri $IssuerUri `
     -PreferredAuthenticationProtocol SAMLP

To suppress an MFA authentication request when the user has already entered the MFA during user authentication to Citrix Workspace, use the following command:

 Set-MsolDomainAuthentication `
     -DomainName $dom `
     federationBrandName $fedBrandName `
     -Authentication Federated `
     -PassiveLogOnUri $uri `
     -LogOffUri $logoffuri `
     -SigningCertificate $certData `
     -IssuerUri $IssuerUri `
     -PreferredAuthenticationProtocol SAMLP `
     -SupportsMfa $true
<!--NeedCopy-->
  • 次の PowerShell コマンドを実行して、ドメインが現在 Azure 内でフェデレーションに設定されていることを確認します
Get-MsolDomain
<!--NeedCopy-->

ドメインフェデレーション 02

  • 次の PowerShell コマンドを実行して、Azure のフェデレーション設定を確認します
Get-MsolDomainFederationSettings -DomainName $dom
<!--NeedCopy-->

ドメインフェデレーション 03

フェデレーション設定を削除する必要がある場合は、次の PowerShell コマンドを実行します。
Set-MsolDomainAuthentication -DomainName $dom -Authentication Managed

検証

IDP が開始する検証

  • ユーザーとしてCitrix Workspace にログインします
  • SaaS アプリケーションを選択します
  • URLを観察して、Azure 経由で簡単にリダイレクトしてください
  • SaaS ポータルが正常に起動する

SPが開始する検証

  • ブラウザを起動する
  • SaaS アプリケーションの会社定義の URL に移動します
  • ブラウザは認証のためにAzure AActive Directory にリダイレクトし、次にCitrix Workspaceにリダイレクトします
  • ユーザーがプライマリユーザーディレクトリで認証されると、SaaSアプリが起動し、Citrixによってシングルサインオンが提供されます

認可されていない Web サイトの定義

認証されていないWebサイトとは、Secure Private Access構成では構成されていないが、Citrix Enterprise Browserからアクセスできるアプリです。これらの認可されていない Web サイトのルールを設定できます。たとえば、SaaS アプリ内のリンクが悪意のあるWebサイトを指している可能性があります。これらのルールにより、管理者は特定の Web サイト URL または Web サイトカテゴリを使用して、アクセスを許可したり、アクセスをブロックしたり、ホストされた安全なブラウザインスタンスにリクエストをリダイレクトしたりできるため、ブラウザベースの攻撃を防ぐのに役立ちます。

  • Citrix Cloud から、[Secure Private Access] タイル内で管理する

Citrix Secure Private Access 1

  • このガイドに従えば、「 エンドユーザー認証の設定」ステップと「SaaS、Web、仮想アプリケーションへのエンドユーザーアクセスの設定 」ステップは完了です。
  • 「Secure Private Access」メニューで、「 設定」を選択します
  • 未認可ウェブサイト」タブに切り替える
  • [編集] を選択します。
  • Web サイトリストを絞り込むオプションを有効にする

Citrix Secure Private Access 2

  • Webサイトをブロックしたり、Webサイトを許可したり、ユーザーを安全なブラウザにリダイレクトしたりするには、各セクションの「 追加 」をクリックします(リモートブラウザアイソレーション)
  • たとえば、「ブロックするカテゴリ」セクションの Web サイトをブロックするには、「 追加」をクリックします
  • ユーザーがアクセスできない Web サイトを入力し、[ 追加] をクリックします
  • [ 保存 ] をクリックして変更を有効にします

構成を検証する

IDP が開始する検証

  • ユーザーとしてCitrix Workspace にログインします
  • SaaS アプリを選択します。
    セキュリティ強化が無効になっている場合、アプリケーションはローカルブラウザ内で起動します。それ以外の場合は、エンタープライズブラウザが使用されます。
  • ユーザーがアプリに自動的にサインオン
  • 適切な拡張セキュリティポリシーが適用される
  • 構成されている場合は、ブロック、許可、およびリダイレクトされた URL にある SaaS アプリ内の URL を選択します。
  • SaaS アプリが正常に起動する

SPが開始する検証

  • ブラウザを起動する
  • SaaS アプリの Web サイトにアクセスしてサインインします。SSO を実行するためのオプションがある場合は、オプションを選択します。
  • ブラウザは認証のためにブラウザをCitrix Workspaceにリダイレクトします
  • ユーザー名を入力します。
  • ユーザーがプライマリユーザーディレクトリで認証されると、強化されたセキュリティが無効になっている場合、Office 365はローカルブラウザーで起動します。
    強化されたセキュリティが有効な場合、セキュアブラウザインスタンスは SaaS アプリを起動します。

サインインの滞在

既定の構成では、Azure Active Directory はログオンプロセス中にダイアログボックスを表示し、ユーザーはサインインしたままにします。

永続的なサインイン 01

これは Azure の設定で、次の操作を行うことで簡単に変更できます。

  • Azure 内で、 Azure Active Directoryを選択します
  • 会社のブランディングを選択
  • 有効なロケールの選択
  • [会社のブランディングの編集] ウィンドウで、[ 表示] オプションで [ **いいえ ] を選択し、サインインしたままにする**

永続的なサインイン 01

  • [ 保存] を選択します

トラブルシューティング

ユーザーアカウントがディレクトリに存在しません

Microsoft 365 を起動しようとすると、ユーザーに次のエラーが表示されることがあります。
AADSTS51004: The user account "account name" does not exist in the "GUID" directory. To sign into this application, the account must be added to the directory.

ユーザーアカウントのトラブルシューティング 01

この問題の解決方法に関する提案を次に示します。

  • ユーザーが Azure Active Directory 内の SaaS アプリを使用する権限を持っていることを確認する
  • エラー内で特定されたメールアドレスが、プライマリユーザーディレクトリ、Azure Active Directory、および SaaS アプリと一致していることを確認します。
  • 属性immutableIdがユーザーオブジェクトに設定されていることを確認します。 (これは純粋な AAD 環境には当てはまりません!)
    immutableIdは、次の PowerShell コマンドを使用して簡単に計算および設定できます。

     $userUPN="john.doh@company.com"  #change the userPricipalName before executing
     Install-Module AzureAD -Force
     Import-Module AzureAD -Force
     Install-Module MSOnline -Force
     Import-module MSOnline -Force
     Connect-MsolService
     $userObjectID=(Get-MsolUser -UserPrincipalName $userUPN).objectId
     $userImmutableId=[System.Convert]::ToBase64String([System.Guid]::New($userObjectID).ToByteArray())
     Set-MsolUser -UserPrincipalName $userUPN -ImmutableId $userImmutableId
     <!--NeedCopy-->
    

フェデレーションレルムオブジェクト

検証中に、ユーザーに次のエラーが表示されることがあります。
AADSTS50107: The requested federation realm object 'https://<ADFShostname>/adfs/services/trust' does not exist.

フェデレーションレルムのトラブルシューティング

これは、多くの場合、ドメインが検証されていないか、適切にフェデレーションされていないことが原因です。PoC ガイドの次のセクションを確認します。

強化されたセキュリティポリシーが失敗する

ユーザーには、拡張セキュリティポリシー (ウォーターマーク、印刷、またはクリップボードアクセス) の障害が発生する可能性があります。通常、これは SaaS アプリケーションが複数のドメイン名を使用しているために発生します。SaaS アプリケーションのアプリケーション構成設定に、 関連ドメインのエントリがありました

SaaS アプリのセットアップ 02

強化されたセキュリティポリシーは、これらの関連ドメインに適用されます。不足しているドメイン名を識別するために、管理者はローカルブラウザーで SaaS アプリにアクセスし、次の操作を実行できます。

  • ポリシーが失敗するアプリのセクションに移動します
  • Google ChromeとMicrosoft Edge(Chromium版)では、ブラウザの右上にある 3 つのドットを選択してメニュー画面を表示します。
  • [ その他のツール] を選択します。
  • 開発者ツールの選択
  • 開発者ツールで、[ ソース] を選択します。これにより、そのアプリケーションセクションのアクセスドメイン名のリストが表示されます。アプリのこの部分で強化されたセキュリティポリシーを有効にするには、それらのドメイン名をアプリ構成の [ 関連ドメイン ] フィールドに入力する必要があります。関連ドメインは以下のように追加されます。*.domain.com

セキュリティ強化トラブルシューティング 01