OktaをIDプロバイダーとしてCitrix Cloud™に接続
Citrix Cloudは、OktaをIDプロバイダーとして使用し、ワークスペースにサインインするサブスクライバーを認証することをサポートしています。Okta組織をCitrix Cloudに接続することで、サブスクライバーがCitrix Workspaceのリソースにアクセスするための共通のサインインエクスペリエンスを提供できます。
Workspace ConfigurationでOkta認証を有効にすると、サブスクライバーのサインインエクスペリエンスが変わります。Okta認証を選択すると、シングルサインオンではなくフェデレーションサインインが提供されます。サブスクライバーはOktaサインインページからワークスペースにサインインしますが、Citrix DaaS(旧称 Citrix Virtual Apps and Desktopsサービス)からアプリまたはデスクトップを開く際に、2回目の認証が必要になる場合があります。シングルサインオンを有効にし、2回目のログオンプロンプトを防ぐには、Citrix Federated Authentication ServiceをCitrix Cloudで使用する必要があります。詳細については、「Citrix Federated Authentication ServiceをCitrix Cloudに接続」を参照してください。
Citrix Cloudとリソースの場所間の通信を有効にするには、Cloud ConnectorまたはConnector Applianceが必要です。Citrix Cloudとの高可用性接続を確保するには、少なくとも2つのCloud ConnectorまたはConnector Applianceが必要です。Active Directoryドメインに参加しているConnectorが少なくとも2つ必要です。これらは、Cloud ConnectorまたはConnector Applianceのいずれかです。
Connectorは、次の要件を満たす必要があります。
- それぞれのドキュメントに記載されている要件を満たす
- Active Directory(AD)ドメインに参加している。ワークスペースユーザーが複数のドメインに存在する場合、Connector Applianceのマルチドメイン機能を使用して複数のドメインに参加できます
- ユーザーがCitrix Workspaceを介してアクセスするリソースに接続できるネットワークに接続されている
- インターネットに接続されている。詳細については、「システムおよび接続要件」を参照してください
Cloud Connectorのインストールについて詳しくは、「Cloud Connectorのインストール」を参照してください。 Connector Applianceのインストールについて詳しくは、「Connector Applianceのインストール」を参照してください。
OktaをCitrix Cloudに接続する際は、組織のOktaドメインを指定する必要があります。Citrixは次のOktaドメインをサポートしています。
- okta.com
- okta-eu.com
- oktapreview.com
Citrix CloudでOktaカスタムドメインを使用することもできます。カスタムドメインの使用に関する重要な考慮事項については、Okta Webサイトの「Okta URLドメインのカスタマイズ」を参照してください。
組織のカスタムドメインの特定について詳しくは、Okta Webサイトの「Oktaドメインの検索」を参照してください。
Okta OIDC Webアプリケーション
OktaをIDプロバイダーとして使用するには、まずCitrix Cloudで使用できるクライアント資格情報を持つOkta OIDC Webアプリケーションを作成する必要があります。アプリケーションを作成および構成したら、クライアントIDとクライアントシークレットをメモしてください。Okta組織をCitrix Cloudに接続する際に、これらの値をCitrix Cloudに提供します。
-
このアプリケーションを作成および構成するには、この記事の次のセクションを参照してください。
- Okta OIDC Webアプリ統合の作成
- Okta OIDC Webアプリケーションの構成
Workspace URL
Oktaアプリケーションを作成する際は、Citrix CloudからWorkspace URLを指定する必要があります。Workspace URLを見つけるには、Citrix Cloudメニューから [Workspace Configuration] を選択します。Workspace URLは [アクセス] タブに表示されます。
- > **重要:**
- >
- > 後で[ワークスペースURLを変更](/ja-jp/citrix-cloud/workspace-configuration.html#customize-the-workspace-url)する場合は、新しいURLでOktaアプリケーション構成を更新する必要があります。そうしないと、サブスクライバーがワークスペースからのログオフで問題が発生する可能性があります。
Okta APIトークン
Citrix CloudでOktaをIDプロバイダーとして使用するには、Okta組織のAPIトークンが必要です。このトークンは、Okta組織の読み取り専用管理者アカウントを使用して作成します。このトークンは、Okta組織のユーザーとグループを読み取ることができる必要があります。
APIトークンを作成するには、この記事の「Okta APIトークンの作成」を参照してください。APIトークンの詳細については、Okta Webサイトの「APIトークンの作成」を参照してください。
重要:
APIトークンを作成する際は、トークン値(たとえば、一時的にプレーンテキストドキュメントに値をコピーする)をメモしてください。Oktaはこの値を一度しか表示しないため、Citrix CloudをOkta組織に接続する手順を実行する直前にトークンを作成することをお勧めします。
- ### Okta ADエージェントを使用したActive DirectoryアカウントのOktaへの同期
OktaをIDプロバイダーとして使用するには、まずオンプレミスADをOktaと統合する必要があります。これを行うには、ドメインにOkta ADエージェントをインストールし、ADをOkta組織に追加します。Okta ADエージェントの展開に関するガイダンスについては、Okta Webサイトの「Active Directory統合の開始」を参照してください。
- その後、ADユーザーとグループをOktaにインポートします。インポートする際は、ADアカウントに関連付けられている次の値を含めます。
- Email
- SID
- UPN
- OID
注:
WorkspaceでCitrix Gatewayサービスを使用している場合、ADアカウントをOkta組織と同期する必要はありません。
ADユーザーとグループをOkta組織と同期するには:
-
Okta ADエージェントをインストールして構成します。詳細な手順については、Oktaウェブサイトの以下の記事を参照してください: - Okta Active Directoryエージェントのインストール - Active Directoryのインポートとアカウント設定の構成 - Active Directoryプロビジョニング設定の構成
 - 1. 手動インポートまたは自動インポートを実行して、ADユーザーとグループをOktaに追加します。Oktaのインポート方法と手順の詳細については、Oktaウェブサイトの[Active Directoryユーザーとグループの管理](https://help.okta.com/en/prod/Content/Topics/Directory/ad-agent-manage-users-groups.htm)を参照してください。 - ## Okta OIDC Webアプリ統合の作成 - 1. Okta管理コンソールで、**Applications**の下にある**Applications**を選択します。 - Create App Integrationを選択します。
- Sign in methodで、OIDC - OpenID Connectを選択します。
-
Application typeで、Web Applicationを選択します。Nextを選択します。
- 1. App Integration Nameに、アプリ統合のわかりやすい名前を入力します。
- 1. Grant typeで、Authorization Codeを選択します(デフォルトで選択されています)。
- 1. Sign-in redirect URIsに、
https://accounts.cloud.com/core/login-oktaを入力します。 - Citrix Cloudのお客様が欧州連合、米国、またはアジア太平洋南部地域にいる場合は、https://accounts.cloud.com/core/login-oktaを入力します。 - Citrix Cloudのお客様が日本地域にいる場合は、https://accounts.citrixcloud.jp/core/login-oktaを入力します。 - Citrix Cloudのお客様がCitrix Cloud Government地域にいる場合は、https://accounts.cloud.us/core/login-oktaを入力します。 -
Sign-out redirect URIsに、Citrix CloudからのWorkspace URLを入力します。
- 1. Workspaceカスタムドメインも使用している場合は、それも入力する必要があります。例:
-
https://workspaceurl1.cloud.com-https://workspaceurl2.cloud.com-https://workspaceurl1.mycustomdomain.com- 1. Assignmentsの下にあるControlled accessで、アプリ統合を組織内の全員に割り当てるか、指定したグループのみに割り当てるか、または後でアクセスを割り当てるかを選択します。 - Saveを選択します。アプリ統合を保存すると、コンソールにアプリケーション構成ページが表示されます。
-
Client Credentialsセクションで、Client IDとClient Secretの値をコピーします。これらの値は、Citrix CloudをOkta組織に接続するときに使用します。
- ## Okta OIDC Webアプリケーションの構成 - この手順では、Citrix Cloudに必要な設定でOkta OIDC Webアプリケーションを構成します。Citrix Cloudは、サブスクライバーがワークスペースにサインインする際にOktaを介して認証するために、これらの設定を必要とします。 - (オプション)暗黙的なグラントタイプに対するクライアント権限を更新します。このグラントタイプに対して最小限の特権を許可したい場合は、この手順を実行することを選択できます。
- Oktaアプリケーション構成ページで、GeneralタブのGeneral Settingsセクションまでスクロールし、Editを選択します。
-
ApplicationセクションのGrant typeで、Client acting on behalf of a userの下にあるAllow Access Token with implicit grant type設定のチェックを外します。

- Saveを選択します。
- アプリケーション属性を追加します。これらの属性は大文字と小文字を区別します。
- Oktaコンソールメニューから、Directory > Profile Editorを選択します。
-
OktaのUser (default)プロファイルを選択します。OktaはUserプロファイルページを表示します。
-

-
- Attributesの下にあるAdd attributeを選択します。

-
- 次の情報を入力します。
- Display Name: cip_email
- Variable Name: cip_email
- Description: ADユーザーのメールアドレス
- Attribute Length: Greater thanを選択し、1を入力します。
-
Attribute Required: Yes

- Save and Add Anotherを選択します。
- 次の情報を入力します。
- Display Name: cip_sid
- Variable Name: cip_sid
- Description: ADユーザーのセキュリティ識別子
- Attribute Length: Greater thanを選択し、1を入力します。
- Attribute Required: Yes
- Save and Add Anotherを選択します。
- 次の情報を入力します。
- Display Name: cip_upn
- Variable Name: cip_upn
- Description: ADユーザーのユーザープリンシパル名
- Attribute Length: Greater thanを選択し、1を入力します。
- Attribute Required: Yes
- Save and Add Anotherを選択します。
- 次の情報を入力します。
- Display Name: cip_oid
- Variable Name: cip_oid
- Description: ADユーザーのGUID
- Attribute Length: Greater thanを選択し、1を入力します。
- Attribute Required: Yes - 1. Saveを選択します。 - 1. アプリケーションの属性マッピングを編集します。 - 1. Oktaコンソールから、Directory > Profile Editor > Directoriesを選択します。
-
ADのactive_directoryプロファイルを見つけます。このプロファイルは、
myDomain Userという形式でラベル付けされている場合があります。ここでmyDomainは統合されたADドメインの名前です。
-
Mappingsを選択します。ADドメインのユーザープロファイルマッピングページが表示され、ADをOktaユーザーにマッピングするためのタブが選択されます。

-
Okta User User Profile列で、手順2で作成した属性を見つけて、次のようにマッピングします。


-
cip_emailの場合、ドメインのユーザープロファイル列からemailを選択します。選択すると、マッピングはappuser.emailとして表示されます。 -
cip_sidの場合、ドメインのユーザープロファイル列からobjectSidを選択します。選択すると、マッピングはappuser.objectSidとして表示されます。 -
cip_upnの場合、ドメインのユーザープロファイル列からuserNameを選択します。選択すると、マッピングはappuser.userNameとして表示されます。 -
cip_oidの場合、ドメインのユーザープロファイル列からexternalIdを選択します。選択すると、マッピングはappuser.externalIdとして表示されます。
-
- Save Mappingsを選択します。
- Apply updates nowを選択します。Oktaはマッピングを適用するジョブを開始します。
- OktaをADと同期します。
- Oktaコンソールから、Directory > Directory Integrationsを選択します。
- 統合されたADを選択します。
- Provisioningタブを選択します。
- Settingsの下にあるTo Oktaを選択します。
- Okta Attribute Mappingsセクションまでスクロールし、Force Syncを選択します。
Okta APIトークンの作成
- 読み取り専用管理者アカウントを使用してOktaコンソールにサインインします。
- Oktaコンソールメニューから、Security > APIを選択します。
- Tokensタブを選択し、Create Tokenを選択します。
- トークンの名前を入力します。
- Create Tokenを選択します。
- トークン値をコピーします。この値は、Okta組織をCitrix Cloudに接続するときに指定します。
Citrix CloudとOkta組織の接続
- https://citrix.cloud.com で Citrix Cloud にサインインします
- Citrix Cloud メニューから、[ID およびアクセス管理] を選択します
- [Okta] を見つけ、省略記号メニューから [接続] を選択します
- [Okta URL] に、Okta ドメインを入力します
- [Okta API Token] に、Okta 組織の API トークンを入力します
- [クライアント ID] と [クライアント シークレット] に、以前作成した OIDC Web アプリ統合のクライアント ID とシークレットを入力します。これらの値を Okta コンソールからコピーするには、[アプリケーション] を選択し、Okta アプリケーションを見つけます。[クライアント資格情報] で、各値の [クリップボードにコピー] ボタンを使用します
- [テストして完了] をクリックします。Citrix Cloud は Okta の詳細を確認し、接続をテストします
接続が正常に検証された後、ワークスペース サブスクライバーに対して Okta 認証を有効にできます。
ワークスペースの Okta 認証の有効化
- Citrix Cloud メニューから、[ワークスペース構成] > [認証] を選択します
- [Okta] を選択します
- プロンプトが表示されたら、[サブスクライバー エクスペリエンスへの影響を理解しています] を選択します
- [保存] を選択します
Okta 認証に切り替えると、Citrix Cloud は一時的に数分間ワークスペースを無効にします。ワークスペースが再度有効になると、サブスクライバーは Okta を使用してサインインできます。
詳細情報
- Citrix Tech Zone:
トラブルシューティング
問題 1
WorkspaceへのOkta OIDC認証は成功するものの、Workspace内でエンドユーザーのDaaSリソースが表示されない。これは、”ctx_user.sid”のような必要なクレームがDaaSに送信されていないことが原因である可能性があります。
デバッグ手順 1
- ブラウザを使用してHARファイルをキャプチャし、Okta OIDC認証を使用してWorkspaceにログインした後、Workspaceからログアウトします。
-
ユーザーがWorkspaceから明示的なログアウト操作を実行したときに、ブラウザの開発者ツール内で次の呼び出しを見つけます。
GET
https://accounts.cloud.com/core/connect/endsession?id_token_hint=<base64string> -
?id_token_hint=の後のbase64文字列をコピーします。これにはJWTが含まれています。FireFox開発者ツールからの例です。
このbase64文字列をhttps://jwt.io内のEncoded Value JSON WEB TOKEN (JWT)フィールドに貼り付け、Citrix CloudがOkta OIDCアプリケーションから受信したクレームを調べます。
"ctx_user": {}内に必要なすべてのクレームが存在し、各クレームにWorkspaceにログインしたユーザーの正しいユーザーデータが含まれていることを確認します。"ctx_user": {}内に"oid"、"email"、"sid"、"upn"という4つのクレームがあることを確認します。デコードされたJWTの例です。

原因 1
Okta OIDCアプリケーションが必要な4つのcip_*クレームすべてを送信していないか、Oktaユーザープロファイルに必要な属性が含まれていません。
解決策 1
Okta OIDCアプリケーションの設定とOktaユーザープロファイルの属性マッピングを確認します。Okta OIDCアプリが正しいクレームを送信していることを確認します。クレーム名にはcip_upn、cip_email、cip_sid、cip_oidを使用します。すべてのクレーム名は小文字である必要があります。
原因 2
DaaSデリバリーグループを誤って構成し、リソースをActive Directory IDではなくOkta IDにマッピングしています。
解決策 2
ADドメイン参加済みデリバリーグループとVDAをOkta IDではなくActive Directory IDにマッピングします。Okta IDは、ドメイン非参加リソースの起動にのみ使用します。

ADユーザーとグループに基づいて、デリバリーグループをリソースの使用を制限するように構成します。

原因 3
Citrix Cloudの要件に従ってADユニバーサルグループを使用していないか、Citrix Cloud Connectorが正しいADドメインレベルで参加していません。詳細については、こちらの記事を参照してください: Citrix Cloud Connectorの技術詳細
解決策 3
ユーザーをDaaSリソースに割り当てる際は、ユニバーサルグループを使用します。
または、
Workspaceユーザーをデリバリーグループに直接割り当てます。