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 Cloud で Citrix Federated Authentication Service を使用する必要があります。詳細については、「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 ドメインをサポートしています。
- オクタ・ドット・コム
- オクタ・イーユー・ドット・コム
- oktapreview.com
Citrix CloudでOktaカスタムドメインを使用することもできます。カスタムドメインの使用に関する重要な考慮事項については、Okta WebサイトのOkta URLドメインのカスタマイズを参照してください。
組織のカスタムドメインの検索について詳しくは、Okta WebサイトのOktaドメインの検索を参照してください。
オクタ OIDC ウェブアプリケーション
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で更新する必要があります。そうしないと、エンドユーザーがストアからのログオフで問題が発生する可能性があります。
オクタ 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サイトの次の記事を参照してください。
- Install the Okta Active Directory agent
- Active Directoryのインポートとアカウント設定を構成する
-
Active Directoryのプロビジョニング設定を構成する
オクタ OIDC ADエージェント(/ja-jp/citrix-cloud/media/okta-odic-adagent.png)
- ADユーザーとグループを手動インポートまたは自動インポートでOktaに追加します。Oktaのインポート方法と手順の詳細については、Okta WebサイトのActive Directoryユーザーとグループの管理を参照してください。
Okta OIDC Webアプリ統合を作成する
- Okta管理コンソールから、Applicationsの下にあるApplicationsを選択します。
- 「アプリ統合の作成」を選択します。
- サインイン方法で、OIDC - OpenID Connectを選択します。
- アプリケーションの種類で、Webアプリケーションを選択します。次へを選択します。
- App Integration Nameに、アプリ統合のわかりやすい名前を入力します。
- Grant typeで、Authorization Codeを選択します(デフォルトで選択されています)。
- 「サインインリダイレクトURI」に、
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を入力します。
- Citrix Cloudのお客様が欧州連合、米国、またはアジア太平洋南部地域にいる場合は、
- 「サインアウト リダイレクト URI」に、Citrix Cloud のストア URL を入力します。
- ストアのカスタムドメインも使用している場合は、それも入力する必要があります。例:
https://workspaceurl1.cloud.comhttps://workspaceurl2.cloud.comhttps://workspaceurl1.mycustomdomain.com
- 「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」を選択します。
-
「アプリケーション」セクションの「グラントタイプ」で、「ユーザーに代わって動作するクライアント」の下にある「暗黙的なグラントタイプでアクセストークンを許可」設定をクリアします。

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

-
Attributesというセクションで、Add attributeという項目を選択します。

- 以下の情報を入力します。
- ディスプレイ名: cip_email
- Variable Name: cip_email
- 説明: ADユーザーメール
- 属性の長さ: Greater thanを選択し、1を入力します。
-
必須属性: はい

- 保存して別のものを追加を選択します。
- 以下の情報を入力します。
- 表示名として「cip_sid」
- Variable Name: cip_sid
- 説明: ADユーザーセキュリティ識別子
- 属性の長さ: 「より大きい」を選択し、「1」と入力します。
- 必須属性: はい
- 「保存して別の項目を追加」を選択します。
- 次の情報を入力します。
- Display Name: cip_upn
- Variable Name: cip_upn
- 説明: ADユーザープリンシパル名
- 属性の長さ: 「より大きい」を選択し、「1」と入力します。
- 必須属性: はい
- 「保存して別の項目を追加」を選択します。
- 次の情報を入力します。
- Display Name: cip_oid
- 変数の名前: cip_oid
- 説明: AD ユーザー GUID
- 属性の長さ: 「より大きい」を選択し、「1」と入力します。
- 属性は必須: はい
- 「保存」を選択します。
- アプリケーションの属性マッピングを編集します。
- Oktaコンソールから、ディレクトリ > プロファイルエディター > ディレクトリ を選択します。
-
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」として表示されます。
-
- [マッピングを保存] を選択します。
- [今すぐ更新を適用] を選択します。Okta はマッピングを適用するジョブを開始します。
- Okta を AD と同期します。
- Oktaコンソールから、[ディレクトリ] > [ディレクトリ統合] を選択します。
- 統合された AD を選択します。
- [Provisioning] タブを選択します。
- [Settings] の下にある [To Okta] を選択します。
- [Okta属性マッピング] セクションまでスクロールし、[強制同期] を選択します。
Okta API トークンを作成する
- 読み取り専用管理者アカウントを使用して Okta コンソールにサインインします。
- Okta コンソールメニューから、[Security] > [API] を選択します。
- [Tokens] タブを選択し、[Create Token] を選択します。
- トークンの名前を入力します。
- 「トークンの作成」を選択します。
- トークン値をコピーします。この値は、Okta組織をCitrix Cloudに接続するときに指定します。
Citrix Cloud を オクタ 組織に接続する
- Citrix Cloud にサインインするには、https://citrix.cloud.com にアクセスしてください。
- Citrix Cloudメニューから、「IDおよびアクセス管理」を選択します。
- Oktaを見つけて、省略記号メニューから「接続」を選択します。
- 「Okta URL」にOktaドメインを入力します。
- 「Okta APIトークン」にOkta組織のAPIトークンを入力します。
- 「クライアントID」と「クライアントシークレット」に、以前作成したOIDC Webアプリ統合のクライアントIDとシークレットを入力します。これらの値をOktaコンソールからコピーするには、「アプリケーション」を選択し、Oktaアプリケーションを見つけます。「クライアント資格情報」の下で、各値の「クリップボードにコピー」ボタンを使用します。
- 「テストと完了」をクリックします。Citrix CloudはOktaの詳細を確認し、接続をテストします。
接続が正常に検証されたら、エンドユーザーに対してOkta認証を有効にできます。
ストアのOkta認証を有効にする
- シトリックスクラウドメニューから、ストアフロントクラウド > 認証 を選択します。
- 「Okta」を選択します。
- プロンプトが表示されたら、エンドユーザーエクスペリエンスへの影響を理解していますを選択します。
- 保存を選択します。
Okta認証に切り替えると、Citrix Cloudは一時的にストアを数分間無効にします。ストアが再度有効になると、エンドユーザーはOktaを使用してサインインできます。
詳細情報
- シトリックス テックゾーン:
トラブルシューティング
問題1
ストアへのOkta OIDC認証は成功しますが、エンドユーザーはストア内でDaaSリソースを表示できません。これは、「ctx_user.sid」のようなクレームがDaaSに送信されていないことが原因である可能性があります。
デバッグ手順1
- ブラウザを使用してHARファイルをキャプチャし、Okta OIDC認証を使用してストアにログインし、その後ストアからログアウトします。
-
ユーザーがストアから明示的なログアウトアクションを実行したときに、ブラウザの開発者ツール内で次の呼び出しを見つけます
取得
https://accounts.cloud.com/core/connect/endsession?id_token_hint=<base64string> -
?id_token_hint=の後のbase64文字列(JWTを含む)をコピーします。FireFox開発ツールから取得した例。Okta OIDCセッション終了(/ja-jp/citrix-cloud/media/okta-odic-endsession.png)
https://jwt.io内のEncoded Value JSON WEB TOKEN (JWT) フィールドにこのbase64文字列を貼り付け、Citrix CloudがOkta OIDCアプリケーションから受け取ったクレームを調べます。
"ctx_user": {}内に必要なすべてのクレームが存在し、各クレームにストアにログインしたユーザーの正しいユーザーデータが含まれていることを確認します。"ctx_user": {}内に"oid", "email", "sid", and "upn"という名前の4つのクレームがあることを確認します。デコードされたJWTの例。
Okta OIDCトラブルシューティングのクレーム例(/ja-jp/citrix-cloud/media/okta-odic-troubleshooting-exampleclaims.png)
原因 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は、ドメインに参加していないリソースを起動する場合にのみ使用してください。
オクタ OIDC アクティブディレクトリを選択(/ja-jp/citrix-cloud/media/okta-odic-select-activedirectory.png)
ADユーザーとグループに基づいて、デリバリーグループをリソースの使用を制限するように構成します。
Okta OIDCすべてのユーザーをマッピング(/ja-jp/citrix-cloud/media/okta-odic-map-all-users.png)
原因 3
Citrix Cloudの要件に従ってADユニバーサルグループを使用していないか、Citrix Cloud Connectorが正しいADドメインレベルに参加していません。詳細については、この記事を参照してください Citrix Cloud Connector system requirements
解決策 3
ユーザーをDaaSリソースに割り当てる際は、ユニバーサルグループを使用してください。
または、
ストアユーザーをデリバリーグループに直接割り当てます。