Zscaler(ZPA)とOktaのSAML連携

こんにちは。ネットワークソリューション特集 編集部です。
今回は、Zscaler(ZPA)とOktaのSAML連携の設定についてご紹介します。

Oktaは、ID管理や認証を集中して行うクラウド型ID管理・統合認証サービスです。 

Zscaler(ZIA)とOktaのSAML連携についてはこちらの記事を参考にしてください。

Zscaler(ZPA)の認証方法について

ZPAの構成要素として以下のものがあります。

  • ZPA Service Edge
  • Zscaler Client Connector(ZCC)
  • App Connector
  • IdPとのSAML連携

ZCCとAppConnectorがService EdgeとTLSのトンネルを張り、トンネルを通してユーザーは企業の内部アプリケーションやサービスへアクセスします。

Zscalerのユーザーの認証方法ですが、ZIAとZPAではいくつか違いがあります。

  • ZIA (Zscaler Internet Access):ZIA では、さまざまな認証方法が利用できます。SAML認証、ローカルデータベース、Kerberos 連携、LDAP 連携などが含まれます。
  • ZPA (Zscaler Private Access):ZPA では、SAML 認証が必須です。したがって、SAML に対応した IdP (Identity Provider) を用意する必要があります。IdP はユーザーの認証情報を提供し、ZPA へのアクセスを制御します。

SAMLについて

SAMLは、Security Assertion Markup Languageの頭文字をとった略称で、シングルサインオンなどでID連携をする際に利用される仕組みの一つです。XML形式で認証や認可の情報をやり取りします。

SAMLでは、以下の3者間で認証情報のやり取りが発生します。

  • ユーザー:サービスの利用者
  • SP(Service Provider):SaaSなどのサービスの提供者、認証情報を利用する側
  • IdP(Identity Provider):認証情報の提供者

今回は、SPがZPA、IdPがOktaになります。

ZPAの環境確認(事前準備)

事前の準備として、ZPA側で以下情報を確認します。

  • 認証ドメイン
    Zsclaerでは、ユーザーIDは、電子メールアドレスの形式である必要があります。有効なメールアドレスである必要はありませんが、一意であり、メールアドレス形式で利用するドメインが組織に属している必要があります。Oktaで作成するユーザーのドメインはZscalerに登録されている必要があります。ドメインが登録されていない場合は、Zscalerに申請して登録する必要があります。


ZPAの管理ポータルにログインし、「認証」>「ユーザー認証」>「設定」 でセカンダリー認証ドメインを確認します。
Oktaで生成するユーザーのドメインがこちらに登録されていることを確認します。

Oktaの設定(SPの登録)

1.Oktaに管理者アカウントでログインします。


2.SPとしてZPAをOktaに登録します。
「アプリケーション」>「アプリケーション」を選択します。「アプリ・カタログを参照」ボタンを押します。


3.検索ボックスに「zsclaer」と入力し検索します。検索結果から、「Zscaler Private Access 2.0」を選択します。


4.「統合を追加」ボタンを押します。


5.OktaのエンドユーザーダッシュボードにZPAを表示させない場合は「アプリケーションのアイコンをユーザーに表示しない」にチェックを入れます。
「完了」ボタンを押します。


6.「サインオン」タブを選択して、「SAML設定手順を表示」ボタンを押します。


7.ポップアップで画面が表示されるので、メタデータをコピーしてxmlファイルとして保存します。ZPAは管理者ユーザーと一般ユーザー向けにSAMLの構成をすることができます。ここでは、一般ユーザー向けとなるためファイル名は「metadata_user.xml」とします。このファイルはZPA側で利用します。

ZPAの設定

1.ZPAの管理ポータルにログインします。
「Authentication」>「User Authentication」>「IdP Configration」を選択します。


2.IdP Configurationタブで「Add IdP Configuration」を押します。


3.以下を設定し、「Next」を押します。
 Name:IdPの名称など任意で設定します。
 Single Sign-On:Userを選択します。
         ※今回は一般ユーザーのSAML認証の設定をします。
 Domains:ユーザー認証で利用するドメインを選択します。


4.「Service Provider URL」と「Service Provider Entity ID」をコピーして、メモ帳等に保存しておきます。


5.IdP Metadata Fileの「Select File」ボタンを押し、Oktaの設定(SPの登録 の手順7で保存した「metadata_user.xml」をアップロードします。


6.アップロードしたファイルから、「IdP Certificate 」「Single Sign-On URL 」「IdP Entity ID」に値が取得されていることを確認します。


7.以下の設定をします。
 「Status」「HTTP-Redirect」を「Enabled」にします。
 「ZPA(SP)SAML Request」を「Signed」にします。


8.「SCIM Sync」「SCIM Attributes for Policy」を「Enabled」にします。
警告がでますが「OK」を押します。


9.「Generate Token」ボタンを押して、Bearer Tokenを生成します。

10.「SCIM Service Provider Endpoint URL」と「Bearer Token」をコピーしてメモ帳等に保存します。
「Save」ボタンを押して設定を保存します。

Oktaの設定(SAML)

1.Oktaの管理ポータルに戻ります。
「アプリケーション」>「アプリケーション」から、Zscaler Private Access 2.0のアプリケーションで「サインオン」タブを選択します。


2.「編集」を押して、サインオンの設定を行います。


3.「SAML 2.0」を選択します。以下の設定を行います。
  GroupName:「Matches regex」を選択し、「.*」(ピリオド、アスタリスク)を入力する


4.以下の値を貼り付けて、「保存」ボタンを押します。
サービス・プロバイダーURL:ZPAの設定の手順4でコピーした「Service Provider URL」の値
サービス・プロバイダー・エンティティID:ZPAの設定の手順4でコピーした「Service Provider Entity ID」の値

Oktaの設定(SCIM)

1.「プロビジョニング」タブを選択し、「API統合を構成」をボタンを押します。


2.「API統合を有効化」にチェックを入れます。

3.以下の値を貼り付けて、「API資格情報をテスト」ボタンを押します。問題ないことを確認し、「保存」ボタンを押します。
ベースURL:ZPAの設定の手順10でコピーした「SCIM Service Provider Endpoint URL」の値
APIトークン:ZPAの設定の手順10でコピーした「Bearer Token」の値


4.「アプリへ」を選択し、「編集」を押します。


5.「ユーザーを作成」「ユーザー属性を更新」「ユーザーの非アクティブ化」の有効化にチェックを入れ、「保存」を押します。


6.ZPAアプリケーションをOktaのユーザーまたはグループに割り当てます。
「割り当て」タブから「割り当て」のプルダウンを選択し、「ユーザーに割り当てる」または「グループに割り当て」を選択します。今回はグループに割り当てます。


7.割り当てるグループの「割り当て」ボタンを押します。


SCIMの設定を行なうと、Okta側でのユーザーの作成・削除・変更の情報をリアルタイムでZPA側に反映されるようになります。

ZPAの初期設定の流れについては、以下の記事にまとめてありますので、こちらも参考にしてください。

まとめ

  • Zscalerはユーザー認証方法としてSAMLに対応しており、OktaとのSAML連携の設定方法について説明しました。
  • Zscalerはユーザー管理方法としてSCIMに対応しており、IdPがSCIMに対応している場合は、ユーザー作成、変更、削除もIdP側と同期して自動で行うことが可能です。
  • ZPAではSAML認証が必須になります。ZPAを利用するためには、始めにSAML認証の設定を行なう必要があります。

今回はZscaler Interenet Access(ZPA)とOktaのSAML連携の設定についてご紹介しました。