Okta を ID プロバイダーとして Citrix Cloud™ に接続する
Citrix Cloud は、Okta を ID プロバイダーとして使用し、ストアにサインインするエンドユーザーを認証することをサポートしています。Okta 組織を Citrix Cloud に接続することで、エンドユーザーが Citrix® StoreFront Cloud のリソースにアクセスするための共通のサインインエクスペリエンスを提供できます。
StoreFront Cloud で 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 ドメインに参加しているコネクタが少なくとも 2 つ必要です。これらは Cloud Connector または Connector Appliance のいずれかです。
コネクタは次の要件を満たしている必要があります。
-
各ドキュメントに記載されている要件を満たしていること
-
Active Directory (AD) ドメインに参加していること。ストアユーザーが複数のドメインに存在する場合、Connector Appliance のマルチドメイン機能 を使用して複数のドメインに参加できます。
-
ユーザーがクラウドストアを介してアクセスするリソースに接続できるネットワークに接続されていること。
-
インターネットに接続されていること。詳細については、「システムおよび接続要件」を参照してください。
Cloud Connector のインストールについて詳しくは、「Cloud Connector のインストール」を参照してください。 Connector Appliance のインストールについて詳しくは、「Connector Appliance のインストール」を参照してください。
Okta ドメイン
Okta を Citrix Cloud に接続する際は、組織の Okta ドメインを指定する必要があります。Citrix は以下の Okta ドメインをサポートしています。
-
okta.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に提供します。
このアプリケーションを作成および構成するには、この記事の以下のセクションを参照してください。
ストアURL
Oktaアプリケーションを作成する際には、Citrix CloudからストアURLを提供する必要があります。ストアURLを見つけるには、Citrix CloudメニューからStoreFront Cloudを選択します。ストアURLはアクセスタブに表示されます。
重要:
後でストアURLを変更する場合は、Oktaアプリケーション構成を新しいURLで更新する必要があります。そうしないと、エンドユーザーがストアからのログオフで問題が発生する可能性があります。
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アカウントに関連付けられている以下の値を含めてください。
-
メール
-
SID
-
UPN
-
OID
注:
ストア付きのCitrix Gatewayサービスを使用している場合、ADアカウントをOkta組織と同期する必要はありません。
ADユーザーとグループをOkta組織と同期するには:
-
Okta ADエージェントをインストールして構成します。完全な手順については、Okta Webサイトの以下の記事を参照してください。
-
手動インポートまたは自動インポートを実行して、ADユーザーとグループをOktaに追加します。Oktaのインポート方法と手順の詳細については、Okta WebサイトのActive Directoryユーザーとグループの管理を参照してください。
Okta OIDC Webアプリ統合を作成する
-
Okta管理コンソールで、Applicationsの下にあるApplicationsを選択します。
-
Create App Integrationを選択します。
-
Sign in methodで、OIDC - OpenID Connectを選択します。
-
Application typeで、Web Applicationを選択します。Nextを選択します。
-
App Integration Nameに、アプリ統合のわかりやすい名前を入力します。
-
Grant typeで、Authorization Codeを選択します(デフォルトで選択されています)。
-
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を入力します。
-
-
「サインアウト リダイレクト URI」に、Citrix Cloud のストア URL を入力します。
-
ストアのカスタムドメインも使用している場合は、それも入力する必要があります。例:
-
https://workspaceurl1.cloud.com -
https://workspaceurl2.cloud.com -
https://workspaceurl1.mycustomdomain.com
-
-
「割り当て」の「制御されたアクセス」で、アプリ統合を組織内の全員に割り当てるか、指定したグループのみに割り当てるか、または後でアクセスを割り当てるかを選択します。
-
「保存」を選択します。アプリ統合を保存すると、コンソールにアプリケーション構成ページが表示されます。
-
「クライアント資格情報」セクションで、「クライアント ID」と「クライアント シークレット」の値をコピーします。これらの値は、Citrix Cloud を Okta 組織に接続するときに使用します。
Okta OIDC Web アプリケーションを構成する
この手順では、Citrix Cloud に必要な設定で Okta OIDC Web アプリケーションを構成します。Citrix Cloud は、エンドユーザーがストアにサインインするときに Okta を介して認証するために、これらの設定を必要とします。
-
(オプション) 暗黙的な許可タイプに対するクライアント権限を更新します。この許可タイプに対して最小限の特権を許可することを希望する場合は、この手順を実行することを選択できます。
-
Okta アプリケーション構成ページから、「一般」タブで「一般設定」セクションまでスクロールし、「編集」を選択します。
-
「アプリケーション」セクションの「許可タイプ」で、「ユーザーに代わって動作するクライアント」の下にある「暗黙的な許可タイプでアクセストークンを許可する」設定をオフにします。

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

-
Attributesの下で、Add attributeを選択します。

-
次の情報を入力します。
-
表示名: cip_email
-
変数名: cip_email
-
説明: AD User Email
-
属性の長さ: Greater thanを選択し、1を入力します。
-
属性は必須: はい

-
-
Save and Add Anotherを選択します。
-
次の情報を入力します。
-
表示名: cip_sid
-
変数名: cip_sid
-
説明: ADユーザーセキュリティ識別子
-
属性の長さ: 「より大きい」を選択し、「1」と入力します。
-
属性は必須: はい
-
-
「保存して別の項目を追加」を選択します。
-
次の情報を入力します。
-
表示名: cip_upn
-
変数名: cip_upn
-
説明: ADユーザープリンシパル名
-
属性の長さ: 「より大きい」を選択し、「1」と入力します。
-
属性は必須: はい
-
-
「保存して別の項目を追加」を選択します。
-
次の情報を入力します。
-
表示名: cip_oid
-
変数名: cip_oid
-
説明: AD ユーザー GUID
-
属性の長さ: 次より大きいを選択し、1と入力します。
-
属性は必須: はい
-
-
保存を選択します。
-
-
アプリケーションの属性マッピングを編集します:
-
Okta コンソールから、Directory > Profile Editor > Directoriesを選択します。
-
AD の active_directory プロファイルを見つけます。このプロファイルは、
myDomain Userの形式でラベル付けされている場合があります。ここで、myDomainは統合された AD ドメインの名前です。
-
マッピングを選択します。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」と表示されます。
-
-
OktaをADと同期します。
-
統合されたADを選択します。
-
Okta APIトークンを作成する
Citrix CloudをOkta組織に接続する
-
https://citrix.cloud.com でCitrix Cloudにサインインします。
-
Citrix Cloudメニューから、Identity and Access Management を選択します。
-
Okta を見つけて、省略記号メニューから Connect を選択します。
-
Okta URL に、Oktaドメインを入力します。
-
Okta API Token に、Okta組織のAPIトークンを入力します。
-
Client ID と Client Secret に、以前作成したOIDC Webアプリ統合のクライアントIDとシークレットを入力します。これらの値をOktaコンソールからコピーするには、Applications を選択し、Oktaアプリケーションを見つけます。Client Credentials の下で、各値の Copy to Clipboard ボタンを使用します。
-
Test and Finish をクリックします。Citrix CloudはOktaの詳細を確認し、接続をテストします。
接続が正常に検証されたら、エンドユーザーに対してOkta認証を有効にできます。
ストアのOkta認証を有効にする
-
Citrix Cloudメニューから、StoreFront Cloud > Authentication を選択します。
-
Okta を選択します。
-
プロンプトが表示されたら、エンドユーザーエクスペリエンスへの影響を理解していますを選択します。
-
保存を選択します。
Okta認証に切り替えると、Citrix Cloudは一時的にストアを数分間無効にします。ストアが再度有効になると、エンドユーザーはOktaを使用してサインインできます。
詳細情報
-
Citrix テックゾーン:
トラブルシューティング
問題1
ストアへのOkta OIDC認証は成功しますが、ストア内でエンドユーザーのDaaSリソースが表示されません。これは、「ctx_user.sid」のような不足しているクレームがDaaSに送信されていないことが原因である可能性があります。
デバッグ手順1
-
ブラウザを使用してHARファイルをキャプチャし、Okta OIDC認証を使用してストアにログインし、その後ストアからログアウトします。
-
ユーザーがストアから明示的なログアウトアクションを実行したときに、ブラウザの開発者ツール内で次の呼び出しを見つけます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": {}内に必要なすべてのクレームが存在し、各クレームにストアにログインしたユーザーの正しいユーザーデータが含まれていることを確認します。"ctx_user": {}内に"oid", "email", "sid", and "upn"という名前の4つのクレームがあることを確認します。デコードされたJWTの例。
原因 1
お使いのOkta OIDCアプリケーションが必要な4つのcip_*クレームすべてを送信していないか、お使いのOktaユーザープロファイルに必要な属性が含まれていません。
解決策 1
Okta OIDCアプリケーションの設定とOktaユーザープロファイルの属性マッピングを確認してください。Okta OIDCアプリが正しいクレームを送信していることを確認してください。
cip_upn, cip_email, cip_sid, and 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リソースに割り当てる際は、ユニバーサルグループを使用してください
または、,
ストアユーザーをデリバリーグループに直接割り当てます。
