PoCガイド:Azureが管理するSaaSアプリケーションへの安全なアクセスとCitrix Secure Private Access
概要
ユーザーが SaaS アプリケーション内の機密コンテンツにアクセスする場合、組織は認証標準を適用しながら、ユーザーのログイン操作を簡素化できる必要があります。組織では、SaaS アプリケーションがデータセンターの範囲外に存在する場合でも、セキュリティで保護できる必要があります。Citrix Workspaceでは、SaaSアプリケーションのセキュリティ制御が強化されています。
このシナリオでは、ユーザーはActive Directoryをプライマリユーザーディレクトリとして使用してCitrix Workspaceに認証し、Azureで管理されたSaaSアプリを起動します。
Citrix Secure Private AccessサービスがCitrixサブスクリプションに割り当てられている場合、画面ベースのウォーターマークの適用、印刷/ダウンロード操作の制限、画面取得の制限、キーボードの難読化、信頼できないリンクからのユーザーの保護など、強化されたセキュリティポリシーが適用されます。SaaSアプリケーションのトップ。
次のアニメーションは、Azure提供のSSOを使用してSaaSアプリにアクセスし、Citrix Secure Private Access で保護されているユーザーを示しています。
このデモでは、ユーザーがCitrix Workspace内からアプリケーションを起動するIDP起動SSOフローを示します。このPoCガイドは、ユーザーが好みのブラウザから直接SaaSアプリにアクセスしようとする、SPが開始するSSOフローもサポートしています。
前提:
- Azure は SaaS アプリに SSO を提供するように既に構成されています
- ユーザーは Azure アプリポータルに正常にサインインして SaaS アプリを起動できます
この概念実証ガイドでは、次の方法について説明します。
- Citrix Workspace のセットアップ
- プライマリ・ユーザー・ディレクトリの統合
- SaaS アプリケーションにシングルサインオンを組み込む
- ウェブサイトフィルタリングポリシーを定義する
- 構成を検証する
Citrix Workspace のセットアップ
環境を設定するための最初の手順は、Citrix Workspaceを組織用に準備することです。これには、
- ワークスペースURLの設定
- 適切なサービスの有効化
ワークスペースの URL を設定
- Citrix Cloudに接続し、管理者アカウントでログインします
- Citrix Workspaceで、左上のメニューから[ワークスペース構成]にアクセスします
- [アクセス] タブで、組織の一意の URL を入力し、[有効] を選択します。
サービスを有効にする
サービスインテグレーションタブから、SaaS アプリケーションへの安全なアクセスをサポートする以下のサービスを有効にします。
- Secure Private Access
- Secure Browser
確認
Citrix Workspaceでは、サービスとURL設定の更新にしばらく時間がかかります。ブラウザから、カスタムワークスペース URL がアクティブであることを確認します。ただし、プライマリユーザーディレクトリを定義して構成すると、ログオンが可能になります。
プライマリ・ユーザー・ディレクトリの統合
ユーザーが Workspace で認証される前に、プライマリユーザーディレクトリを設定する必要があります。Workspace内のアプリに対するすべてのリクエストは、セカンダリIDへのシングルサインオンを使用するため、プライマリユーザーディレクトリはユーザーが必要とする唯一のIDです。
組織は、次のプライマリユーザーディレクトリのいずれかを使用できます。
- Active Directory: Active Directory 認証を有効にするには、Cloud Connectorのインストールガイドに従って,AcActive目录ドメインコントローラーと同じデータセンター内にクラウドコネクタをデプロイする必要があります。
- 時間ベースのワンタイムパスワードを使用する Active Directory: Active Directory ベースの認証には、時間ベースのワンタイムパスワード (TOTP) を使用した多要素認証を含めることもできます。このガイドでは、この認証オプションを有効にするために必要な手順を詳しく説明します。
- Azure Active Directory:ユーザーは、Azure Active Directory の ID を使用してCitrix Workspace に対して認証できます。このガイドでは、この認証オプションを有効にするために必要な手順を詳しく説明します。
注
AAD をプライマリ認証ディレクトリとして使用する場合、ループが発生するため、プライマリドメイン (ユーザーのログインドメイン) をフェデレートできません。このような場合は、新しいドメインをフェデレーションする必要があります。
AADユーザーアカウントには属性
immutableID
が設定されている必要があります。そうしないと、「AADSTS51004 Azure AD
Connect 同期アカウントにはこの属性が自動的に設定される」というエラーメッセージが表示されて認証が失敗します。 - Citrix Gateway:組織は、オンプレミスのCitrix Gateway を利用して、Citrix WorkspaceのIDプロバイダーとして機能できます。このガイドでは、統合の詳細について説明します。
- Okta:組織はOktaをCitrix Workspaceのプライマリユーザーディレクトリとして使用できます。このガイドでは、このオプションを設定する手順について説明します。
SaaS アプリの作成
Citrix Workspaceを使用してSaaSを正常に作成するには、管理者は次の操作を行う必要があります。
- SaaS アプリの設定
- SaaS アプリを認証する
SaaS アプリの設定
Azure 内でSaaSアプリを構成すると、SaaSアプリはCitrix Workspace内で構成できます。
- Azure 内で、Azure Active Directoryを選択します
- エンタープライズアプリケーションの選択
- 一覧内で SaaS アプリを選択すると、アプリケーションの概要が表示されます。
- プロパティを選択
- ユーザーアクセス URLをコピーし、後で使用するために覚えておいてください
- Citrix Cloud 内で、[安全なプライベートアクセス]タイルから[管理]を選択します。
- Secure Private Accessメニューで、「アプリケーション」を選択します
- 「アプリケーション」セクションで、「アプリを追加」を選択します。
アプリケーション-テンプレート
- [テンプレートの選択] ウィザードで、正しいテンプレートを見つけます。この例では、[ヒューマニティー]を選択します
- 次を選択
アプリケーション-アプリの詳細
- [アプリ詳細] 画面で、URLを Azureからコピーしたユーザーアクセス URLに置き換えます。
- URLの最後に、以下を追加します:&whr=federated_domainfederated_domainをユーザーの ID に関連付けられたドメインに置き換えます (ユーザーの電子メールの @ 記号の後の情報)。フェデレーションドメインエントリは、正しいフェデレーションドメイン構成にリダイレクトするように Azure に通知します。フェデレーションドメイン情報は、今後のセクションで Azure 内で構成されます。
*注:データセンターにデプロイされたConnector Appliance スを介してトラフィックをルーティングすることもできます。そのため、「社内ネットワーク外」から「社内ネットワーク内」に切り替える必要があります。*
- 次を選択
アプリケーション-シングル・サインオン
- シングルサインオンウィンドウで、アサーション URLを
https://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)
- SAML メタデータファイル内で、entityIdを探します。URL 全体をコピーして、後で使用できるように保存してください。キャプチャすると、SAML メタデータファイルを閉じることができます。
- 次を選択
アプリケーション-アプリケーション接続
- App Connectivityウィンドウで、トラフィックのルーティング方法(この場合は、クライアントから SaaS アプリケーションへの直接)を確認します。
- 次を選択
- [完了] を選択して Humanity SaaS アプリの設定を完了します。
SaaS アプリの認証と強化されたセキュリティの設定
- セキュア・プライベート・アクセス・メニューで「アクセス・ポリシー」を選択します
- 「アクセスポリシー」セクションで、「ポリシーの作成」を選択します。
- 「アプリケーション」ドロップダウンリストで「Humanity」を検索して選択します。
- アプリを起動する権限のある適切なユーザー/グループを追加します。
- セキュリティ強化の有無にかかわらず、アプリにアクセスできるかどうかを指定します。
上のスクリーンショットには、強化されたセキュリティが設定されていません。
セキュリティを強化する必要がある場合は、「アクセスを許可」を「制限付きで許可」に変更し、適用されるものをすべて有効にしてください。
*注:初期の SSO テストでは、必ず「リモートブラウザで開く」オプションを設定してセキュリティ強化を設定することをおすすめします。*
Azure 認証を Citrix Workspace にフェデレートする
SaaSアプリをCitrix Workspaceと正常に連携させるには、管理者は次の操作を行う必要があります。
- 認証ドメインの確認
- ドメインフェデレーションの構成
認証ドメインの確認
認証をCitrix Workspaceにフェデレーションするには、Azureが完全修飾ドメイン名を確認する必要があります。Azure ポータルで、次の操作を行います。
- Azure Active Directory にアクセスする
- ナビゲーションウィンドウで [カスタムドメイン名] を選択します。
- [カスタムドメインの追加] を選択します。
- 完全修飾ドメイン名を入力してください
- [ドメインの追加] を選択します
- Azure は、ドメイン名レジストラに組み込むためのレコードを提供します。完了したら、[確認] を選択します。
- 完了すると、ドメインには検証済みマークが含まれます。
ドメインフェデレーションの構成
最終的な構成では、検証済みドメインのフェデレーション権限として Citrix Workspace を Azure で使用します。フェデレーションの構成は、PowerShell で実行する必要があります。
- PowerShell の起動
- 次のコマンドを使用して、適切なモジュールを追加します。
Install-ModuleAzureAD-ForceImport-ModuleAzureAD-ForceInstall-ModuleMSOnline-ForceImport-moduleMSOnline-Force<!--NeedCopy-->
- PowerShell 経由でMicrosoft オンラインに接続し、Microsoftクラウドアカウント (例:
admin.user@onmicrosoft.com
) を使用して認証します。
Connect-MSOLService<!--NeedCopy-->
- 次の PowerShell コマンドを実行して、ドメインが現在 Azure内で管理に設定されていることを確認します
Get-MsolDomain<!--NeedCopy-->
- 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-ObjectSystem.Security.Cryptography.X509Certificates.X509Certificate2("" )# Path to the downloaded certificate file from Humanity app configuration (e.g., C:\temp\filename.crt)$certData=[system.convert]::tobase64string($cert.rawdata)$IssuerUri="//m.giftsix.com/[entityID]"# The entityID taken from the Office365 app configuration SAML Metadata fileSet-MsolDomainAuthentication`-DomainName$dom`–federationBrandName$fedBrandName`-AuthenticationFederated`-PassiveLogOnUri$uri`-LogOffUri$logoffuri`-SigningCertificate$certData`-IssuerUri$IssuerUri`-PreferredAuthenticationProtocolSAMLPTosuppressanMFAauthenticationrequestwhentheuserhasalreadyenteredtheMFAduringuserauthenticationtoCitrixWorkspace,usethefollowingcommand:Set-MsolDomainAuthentication`-DomainName$dom`–federationBrandName$fedBrandName`-AuthenticationFederated`-PassiveLogOnUri$uri`-LogOffUri$logoffuri`-SigningCertificate$certData`-IssuerUri$IssuerUri`-PreferredAuthenticationProtocolSAMLP`-SupportsMfa$true<!--NeedCopy-->
- 次の PowerShell コマンドを実行して、ドメインが現在 Azure内でフェデレーションに設定されていることを確認します
Get-MsolDomain<!--NeedCopy-->
- 次の PowerShell コマンドを実行して、Azure のフェデレーション設定を確認します
Get-MsolDomainFederationSettings-DomainName$dom<!--NeedCopy-->
注
フェデレーション設定を削除する必要がある場合は、次の PowerShell コマンドを実行します。
Set-MsolDomainAuthentication -DomainName $dom -Authentication Managed
検証
IDP が開始する検証
- ユーザーとしてCitrix Workspace にログインします
- SaaS アプリケーションを選択します
- URLを観察して、Azure 経由で簡単にリダイレクトしてください
- SaaS ポータルが正常に起動する
SPが開始する検証
- ブラウザを起動する
- SaaS アプリケーションの会社定義の URL に移動します
- ブラウザは認証のためにAzure AActive Directory にリダイレクトし、次にCitrix Workspaceにリダイレクトします
- ユーザーがプライマリユーザーディレクトリで認証されると、SaaSアプリが起動し、Citrixによってシングルサインオンが提供されます
ウェブサイトフィルタリングポリシーを定義する
Citrix Secure Private Accessは、ユーザーをフィッシング攻撃から保護するために、SaaSおよびWebアプリ内でWebサイトをフィルタリングします。以下に、Web サイトフィルターポリシーを設定する方法を示します。
- Citrix Cloud から、[Secure Private Access]タイル内で管理する
- このガイドに従えば、「エンドユーザー認証の設定」ステップと「SaaS、Web、仮想アプリケーションへのエンドユーザーアクセスの設定」ステップは完了です。[設定] を選択します。
- [Web フィルタリング] タブに切り替え
- [編集] を選択します。
- **ウェブサイトカテゴリを絞り込むオプションを有効にします**
- [ブロックされたカテゴリ] ボックスで、[追加]を選択します
- ユーザーのアクセスをブロックするカテゴリを選択してください
- 適用可能なカテゴリをすべて選択したら、[追加]
- 許可されたカテゴリについても同じ操作を行います
- リダイレクトされたカテゴリについても同じ操作を行います。これらのカテゴリは、セキュアブラウザインスタンスにリダイレクトされます。
- 必要に応じて、管理者は、カテゴリの定義と同じプロセスに従って、特定の URL の拒否、許可、リダイレクトされたアクションをフィルタリングできます。ウェブサイトの URL はカテゴリよりも優先されます。
構成を検証する
IDP が開始する検証
- ユーザーとしてCitrix Workspace にログインします
- SaaS アプリを選択します。
セキュリティ強化が無効になっている場合、アプリケーションはローカルブラウザ内で起動します。それ以外の場合は、エンタープライズブラウザが使用されます。 - ユーザーがアプリに自動的にサインオン
- 適切な拡張セキュリティポリシーが適用される
- 構成されている場合は、ブロック、許可、およびリダイレクトされたカテゴリにある SaaS アプリケーション内の URL を選択します
- 構成されている場合は、ブロック、許可、およびリダイレクトされた URL にある SaaS アプリ内の URL を選択します。
- SaaS アプリが正常に起動する
SPが開始する検証
- ブラウザを起動する
- SaaS アプリの Webサイトにアクセスしてサインインします。SSO を実行するためのオプションがある場合は、オプションを選択します。
- ブラウザは認証のためにブラウザをCitrix Workspaceにリダイレクトします
- ユーザー名を入力します。
- ユーザーがプライマリユーザーディレクトリで認証すると、セキュリティ強化が無効になっている場合、Office365はローカルブラウザで起動します。
強化されたセキュリティが有効な場合、セキュアブラウザインスタンスは SaaS アプリを起動します。
サインインの滞在
既定の構成では、Azure Active Directory はログオンプロセス中にダイアログボックスを表示し、ユーザーはサインインしたままにします。
これは Azure の設定で、次の操作を行うことで簡単に変更できます。
- Azure 内で、Azure Active Directoryを選択します
- 会社のブランディングを選択
- 有効なロケールの選択
- [会社のブランディングの編集] ウィンドウで、[表示] オプションで [ **いいえ] を選択し、サインインしたままにする**
- [保存] を選択します
トラブルシューティング
ユーザーアカウントがディレクトリに存在しません
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.
この問題の解決方法に関する提案を次に示します。
- ユーザーが Azure Active Directory 内の SaaS アプリを使用する権限を持っていることを確認する
- エラー内で特定されたメールアドレスが、プライマリユーザーディレクトリ、Azure Active Directory、および SaaS アプリと一致していることを確認します。
属性
immutableId
がユーザーオブジェクトに設定されていることを確認します。(これは純粋な AAD 環境には当てはまりません!)immutableId
は、次の PowerShell コマンドを使用して簡単に計算および設定できます。美元userUPN = " john.doh@company.com " #改变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
フェデレーションレルムオブジェクト
検証中に、ユーザーに次のエラーが表示されることがあります。AADSTS50107: The requested federation realm object 'https://
これは,多くの場合,ドメインが検証されていないか,適切にフェデレーションされていないことが原因です。PoC ガイドの次のセクションを確認します。
強化されたセキュリティポリシーが失敗する
ユーザーには、拡張セキュリティポリシー (ウォーターマーク、印刷、またはクリップボードアクセス) の障害が発生する可能性があります。通常、これは SaaS アプリケーションが複数のドメイン名を使用しているために発生します。SaaS アプリケーションのアプリケーション構成設定に、関連ドメインのエントリがありました。
強化されたセキュリティポリシーは、これらの関連ドメインに適用されます。不足しているドメイン名を識別するために、管理者はローカルブラウザーで SaaS アプリにアクセスし、次の操作を実行できます。
- ポリシーが失敗するアプリのセクションに移動します
- Google ChromeとMicrosoft Edge(Chromium版)では、ブラウザの右上にある 3 つのドットを選択してメニュー画面を表示します。
- [その他のツール] を選択します。
- 開発者ツールの選択
- 開発者ツールで、[ソース] を選択します。これにより、そのアプリケーションセクションのアクセスドメイン名のリストが表示されます。アプリのこの部分で強化されたセキュリティポリシーを有効にするには、それらのドメイン名をアプリ構成の [関連ドメイン] フィールドに入力する必要があります。関連ドメインは以下のように追加されます。
*.domain.com