概念証明:Microsoft Azure SSOとCitrix Secure Workspace Access によるSaaSアプリへの安全なアクセス
概要
ユーザーが SaaS アプリケーション内の機密コンテンツにアクセスする場合、組織は認証標準を適用しながら、ユーザーのログイン操作を簡素化できる必要があります。組織では、SaaS アプリケーションがデータセンターの範囲外に存在する場合でも、セキュリティで保護できる必要があります。Citrix Workspaceでは、SaaSアプリケーションのセキュリティ制御が強化されています。
このシナリオでは、ユーザーはActive Directoryをプライマリユーザーディレクトリとして使用してCitrix Workspaceに認証し、Azureで管理されたSaaSアプリを起動します。
Citrix Secure Workspace Access サービスがCitrixサブスクリプションに割り当てられている場合、画面ベースのウォーターマークの適用、印刷/ダウンロードアクションの制限、画面の取得制限、キーボードの難読化、信頼できないリンクからのユーザーの保護など、強化されたセキュリティポリシーが適用されます。SaaS アプリケーションの上に表示されます。
次のアニメーションは、Azureが提供するSSOを使用してSaaSアプリにアクセスし、Citrix Secure Workspace Access で保護されたユーザーを示しています。
このデモでは、ユーザーがCitrix Workspace内からアプリケーションを起動するIDP起動SSOフローを示します。この PoC ガイドでは、SPが開始する SSO フローもサポートしています。このフローでは、ユーザーは好みのブラウザから SaaS アプリに直接アクセスしようとします。
前提:
- Azure は SaaS アプリに SSO を提供するように既に構成されています
- ユーザーは Azure アプリポータルに正常にサインインして SaaS アプリを起動できます
この概念実証ガイドでは、次の方法について説明します。
- Citrix Workspace のセットアップ
- プライマリ・ユーザー・ディレクトリの統合
- SaaS アプリケーションにシングルサインオンを組み込む
- ウェブサイトフィルタリングポリシーを定義する
- 構成を検証する
Citrix Workspace のセットアップ
環境を設定するための最初の手順は、Citrix Workspaceを組織用に準備することです。これには、
- ワークスペース URL の設定
- 適切なサービスの有効化
ワークスペースの URL を設定
- Citrix Cloudに接続して管理者アカウントでログインする
- Citrix Workspaceで、左上のメニューから[ワークスペース構成]にアクセスします
- [アクセス] タブで、組織の一意の URL を入力し、[有効] を選択します。
サービスを有効にする
[サービスインテグレーション] タブで、次のサービスを有効にして SaaS アプリへの安全なアクセスをサポートします。
- ゲートウェイ
- Secure Browser
確認
Citrix Workspaceでは、サービスとURL設定の更新にしばらく時間がかかります。ブラウザから、カスタムワークスペース URL がアクティブであることを確認します。ただし、プライマリユーザーディレクトリが定義されて構成されるまで、ログオンは使用できません。
プライマリ・ユーザー・ディレクトリの統合
ユーザーが Workspace に対して認証できるようにするには、プライマリ・ユーザー・ディレクトリを構成する必要があります。Workspace 内のアプリに対するすべての要求はセカンダリ ID へのシングルサインオンを使用するため、プライマリユーザーディレクトリはユーザーが必要とする唯一のアイデンティティです。
組織は次のプライマリ・ユーザー・ディレクトリのいずれかを使用できます
- Active Directory: Active Directory 認証を有効にするには、Cloud Connectorのインストールガイドに従って、クラウドコネクタを Active Directory ドメインコントローラーと同じデータセンター内に展開する必要があります。
- 時間ベースのワンタイムパスワードを使用する Active Directory: Active Directory ベースの認証には、時間ベースのワンタイムパスワード (TOTP) を使用した多要素認証を含めることもできます。このガイドはこの認証オプションを有効にするために必要な手順について説明します。
- Azure Active Directory: ユーザーは、Azure Active Directory の ID を使用して Citrix Workspace に認証できます。このオプションの設定の詳細については、このガイドを参照してください。
- Citrix Gateway: 組織はオンプレミスの Citrix Gateway を使用して、Citrix Workspace の ID プロバイダーとして機能できます。このガイドにより、統合の詳細が提供されます。
- Okta: 組織では、Citrix Workspace のプライマリユーザーディレクトリとして Okta を使用できます。このガイドによりオプションの構成手順が提供されます。
SaaS アプリの作成
Citrix WorkspaceでSaaSを正常に作成するには、管理者が次の操作を行う必要があります
- SaaS アプリの設定
- SaaS アプリを認証する
SaaS アプリの設定
Azure 内でSaaSアプリを構成すると、SaaSアプリはCitrix Workspace内で構成できます。
- Azure 内で、Azure Active Directoryを選択します
- エンタープライズアプリケーションの選択
- 一覧内で SaaS アプリを選択すると、アプリケーションの概要が表示されます。
- プロパティを選択
- ユーザーアクセス URLをコピーし、後で使用するために覚えておいてください
- Citrix Cloudで、[ゲートウェイ]タイルから[管理]を選択します。
- [Web/SaaS アプリを追加] を選択します
- [テンプレートの選択] ウィザードで、正しいテンプレートを見つけます。この例では、[ヒューマニティー]
- 次を選択
- [アプリ詳細] 画面で、URLを Azureからコピーしたユーザーアクセス URLに置き換えます。
- URLの最後に、以下を追加します:&whr=federated_domainfederated_domainをユーザーの ID に関連付けられたドメインに置き換えます (ユーザーの電子メールの @ 記号の後の情報)。フェデレーションドメインエントリは、正しいフェデレーションドメイン構成にリダイレクトするように Azure に通知します。フェデレーションドメイン情報は、今後のセクションで Azure 内で構成されます。
- 強化されたセキュリティポリシーでは、関連ドメインフィールドを使用して、セキュリティで保護する URL を決定します。デフォルトの URL に基づいて、関連するドメインが 1 つ自動的に追加されます。自動的に作成されるドメインに加えて、SaaS アプリの実際の URL 用のドメインを追加します。
- 次を選択
- [セキュリティの強化] ウィンドウで、環境に適切なセキュリティポリシーを選択します。
- Single Sign-OnウィンドウでAssertion URLに
https://login.microsoftonline.com/login.srf
を設定 - Audienceにurn:federation:MicrosoftOnlineを設定
- 名前 ID の形式を [永続的]、[名前 ID = Active Directory GUID] に設定します。
- [指定した URL を使用してアプリを起動する (SP 開始)] チェックボックスをオンにします。認証されると、ユーザーは自動的に Azure アプリポータルの代わりに SaaS アプリにリダイレクトされます。
- [高度な属性] で、属性名 = idpeMail、 **属性形式 = 未指定、属性値 = 電子メール**
- *注:最初のアプリでのみ実行する必要があります。*CRTベースの証明書を取得するには、[ダウンロード] を選択します。
- *注:最初のアプリでのみ実行する必要がありました。*ログイン URLの横にある [コピー] ボタンを選択して、ログイン URL をキャプチャします。この URL は後で使われます。
- *注:最初のアプリでのみ実行する必要があります。*SAML メタデータのリンクを選択します
- SAML メタデータファイル内で、entityIdを探します。URL 全体をコピーし、後で使用できるようにストアします。キャプチャすると、SAML メタデータファイルを閉じることができます。
- [保存] を選択します
- [完了] を選択して SaaS アプリの設定を完了します。
SaaS アプリを認証する
- Citrix Cloudで、メニューから[ライブラリ]を選択します
- SaaS アプリを見つけて、[登録者を管理]
- アプリを起動する権限のある適切なユーザー/グループを追加します。
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 オンラインに接続し、認証する
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$IssuerUri="//m.giftsix.com/fdafdjk4"# The entityID taken from the Citrix Worksapce SAML Metadata file$logoffuri="https://app.netscalergateway.net/cgi/logout"# Standard entry for all. Do not change$uri="https://app.netscalergateway.net/ngs/dhhn4j3mf1kc/saml/login?APPID=8dd87428-460b-4358-a3c2-609451e8f5be"# The Login URL from the Citrix Workspace SaaS app configuration$cert=New-ObjectSystem.Security.Cryptography.X509Certificates.X509Certificate2("e:\CitrixCloud.crt")# Path to the downloaded certificate file from Citrix Workspace$certData=[system.convert]::tobase64string($cert.rawdata)Set-MsolDomainAuthentication`-DomainName$dom`–federationBrandName$fedBrandName`-AuthenticationFederated`-PassiveLogOnUri$uri`-LogOffUri$logoffuri`-SigningCertificate$certData`-IssuerUri$IssuerUri`-PreferredAuthenticationProtocolSAMLP<!--NeedCopy-->
- 次の PowerShell コマンドを実行して、ドメインが現在 Azure内でフェデレーションに設定されていることを確認します
Get-MsolDomain<!--NeedCopy-->
- 次の PowerShell コマンドを実行して、Azure のフェデレーション設定を確認します
Get-MsolDomainFederationSettings-DomainName$dom<!--NeedCopy-->
***注:フェデレーション設定を削除する必要がある場合は、次の PowerShell コマンドを実行します*
Set-MsolDomainAuthentication-DomainName$dom-AuthenticationManaged<!--NeedCopy-->
検証
IDP が開始する検証
- Citrix Workspaceにユーザーとしてログインする
- SaaS アプリケーションを選択します
- URLを観察して、Azure 経由で簡単にリダイレクトしてください
- SaaS ポータルが正常に起動する
SPが開始する検証
- ブラウザを起動する
- SaaS アプリケーションの会社定義の URL に移動します
- ブラウザは認証のためにOkta にリダイレクトされ、次にCitrix Workspaceにリダイレクトされます
- ユーザーがプライマリユーザーディレクトリで認証されると、SaaS アプリが起動し、Okta はシングルサインオンを提供します
ウェブサイトフィルタリングポリシーを定義する
Citrix Secure Workspace Access サービスは、SaaSおよびWebアプリ内でWebサイトフィルタリングを提供し、フィッシング攻撃からユーザーを保護するのに役立ちます。以下に、Web サイトフィルターポリシーを設定する方法を示します。
- Citrix Cloudから、Secure Workspace Accessタイル内で管理する
- このガイドに従っていれば、「エンドユーザー認証の設定」ステップと「SaaS、Web および仮想アプリケーションへのエンドユーザアクセスの構成」の手順は完了です。[コンテンツアクセスの設定]を選択します。
- [編集] を選択します。
- **ウェブサイトカテゴリを絞り込むオプションを有効にします**
- [ブロックされたカテゴリ] ボックスで、[追加]
- ユーザーのアクセスをブロックするカテゴリを選択してください
- 適用可能なカテゴリをすべて選択したら、[追加]
- 許可されたカテゴリについても同じ操作を行います
- リダイレクトされたカテゴリについても同じ操作を行います。これらのカテゴリは、セキュアブラウザインスタンスにリダイレクトされます。
- 必要に応じて、管理者は、カテゴリの定義に使用したのと同じプロセスに従って、特定の URL について、拒否、許可、およびリダイレクトされたアクションをフィルタリングできます。ウェブサイトの URL はカテゴリよりも優先されます。
構成を検証する
IDP が開始する検証
- Citrix Workspaceにユーザーとしてログインする
- SaaS アプリを選択します。セキュリティ強化が無効になっている場合、アプリはローカルブラウザー内で起動します。それ以外の場合は、埋め込みブラウザーが使用されます。
- ユーザーがアプリに自動的にサインオン
- 適切な拡張セキュリティポリシーが適用される
- 構成されている場合は、ブロック、許可、およびリダイレクトされたカテゴリにある SaaS アプリケーション内の URL を選択します
- 構成されている場合は、ブロック、許可、およびリダイレクトされた URL にある SaaS アプリ内の URL を選択します。
- SaaS アプリが正常に起動する
SPが開始する検証
- ブラウザを起動する
- SaaS アプリの Webサイトにアクセスしてサインインします。SSO を実行するためのオプションがある場合は、オプションを選択します。
- ブラウザは認証のためにブラウザをCitrix Workspaceにリダイレクトします
- ユーザー名を入力します。
- ユーザーがプライマリユーザーディレクトリで認証されると、強化されたセキュリティが無効になっている場合は、ローカルブラウザーで SaaS アプリが起動します。強化されたセキュリティが有効な場合、セキュアブラウザインスタンスは SaaS アプリを起動します。
サインインの滞在
既定の構成では、Azure Active Directory はログオンプロセス中にダイアログボックスを表示し、ユーザーはサインインしたままにします。
これは Azure の設定で、次の操作を行うことで簡単に変更できます。
- Azure 内で、Azure Active Directoryを選択します
- 会社のブランディングを選択
- 有効なロケールの選択
- [会社のブランディングの編集] ウィンドウで、[表示] オプションで [ **いいえ] を選択し、サインインしたままにする**
- [保存] を選択します
トラブルシューティング
ユーザーアカウントがディレクトリに存在しません
SaaS アプリケーションを起動しようとすると、次のエラーが表示されることがあります。ユーザーアカウントの「アカウント名」が「GUID」ディレクトリに存在しません。
この問題の解決方法に関する提案を次に示します。
- Azure Active Directory 内で SaaS アプリを使用する権限がユーザーに付与されていることを確認します
- エラー内の識別された電子メールアドレスが、プライマリユーザーディレクトリ、Azure Active Directory、および SaaS アプリ間で一致することを確認します。
フェデレーションレルムオブジェクト
検証中に、ユーザーに次のエラーが表示されることがあります。
これは、多くの場合、ドメインが検証されていないか、適切にフェデレーションされていないことが原因です。PoC ガイドの次のセクションを確認します。
強化されたセキュリティポリシーが失敗する
ユーザーは、強化されたセキュリティポリシー (透かし、印刷、またはクリップボードアクセス) が失敗することがあります。通常、これは SaaS アプリケーションが複数のドメイン名を使用しているために発生します。SaaS アプリケーションのアプリケーション構成設定に、関連ドメインのエントリがありました。
強化されたセキュリティポリシーは、関連するドメインに適用されます。不足しているドメイン名を識別するために、管理者はローカルブラウザーで SaaS アプリにアクセスし、次の操作を実行できます。
- ポリシーが失敗するアプリのセクションに移動します
- Google ChromeとMicrosoft Edge(Chromium版)では、ブラウザの右上にある 3 つのドットを選択してメニュー画面を表示します。
- [その他のツール] を選択します。
- 開発者ツールの選択
- 開発者ツールで、[ソース] を選択します。これは、アプリケーションのそのセクションのアクセスドメイン名のリストを提供します。アプリのこの部分で強化されたセキュリティポリシーを有効にするには、それらのドメイン名をアプリ構成の [関連ドメイン] フィールドに入力する必要があります。関連ドメインは以下のように追加されます。
*.domain.com