SaaS

Zoomの認証プロフィール機能を利用してIdPに参加者認証を委任する方法

3行解説

Zoomミーティングを開催するにあたってZoomが組織全体に展開されていない場合に、IdPと連携することでZoomアカウントを組織内ユーザーに作らずとも組織内のユーザーのみ参加させ組織外ユーザーからの参加を制限する方法を紹介します。

Zoomアカウントを使わずに、Zoomミーティングの参加者の認証制御をIdPに委任する方法です。

お客様背景

お客様
  • モダンなIdPを運用しているが組織内標準ビデオ会議システムはTeamsやMeetを利用しZoomを組織展開していない組織で、部署や組織全体向けのZoom Webinarやミーティングを開催したい場合に対象外のメンバーが参加できないよう強力な認証制御を行いたいです。
  • このためにわざわざ関連ドメイン機能を利用しZoomアカウントを組織展開して管理するのは新たな負担となるため避けたいです。

どうやって課題を解決するか

TeamsやMeetを組織に展開しているのにZoomを使いたい理由について疑問がある!とのお声はもっともです。ただどうしてもZoomの特定機能が条件を満たしていて、Zoomで開催したいけど参加者制限のためにアカウントまで作らせたくないなあ、というケースへの対応方法です。

Zoomアカウントを使わずに参加者の認証制御を行いたいという要望にぴったりな「認証プロフィール」機能を利用します。Entra ID(Azure AD)を利用した具体的な設定手順を説明します。

認証プロフィールとは

Zoomミーティングを開催する場合に、参加者をZoomアカウントやIdPの認証を必須にしたり、参加者のZoomアカウントに紐づくメールアドレスを特定ドメインに限定する機能です。

認証プロフィールにより、ホストはミーティングまたはウェビナー参加を許可するユーザーをログイン済みの参加者に限定できます。また特定のドメインのメールアドレスと一致する Zoom ユーザーにも限定できます。 この機能は、参加者を確認済みのユーザーや特定の組織のユーザーに限定したい場合に便利です。 さらに、指定したドメインのユーザーがミーティングやウェビナーに参加できないようにすることができます。

https://support.zoom.us/hc/ja/articles/360037117472

必要なライセンス

  • Entra ID(Azure AD) Free以上
    • エンタープライズアプリケーションの割り当てにグループを利用する可能性を考えると、Entra ID P1以上が望ましいです。
  • Zoom Pro以上
    • 関連ドメインと組み合わせたZoomアカウントへのシングルサインオン機能ではないので、Businessでなくても利用可能です。

認証プロフィールの作成

Zoomで認証プロフィールを作成開始

Zoomのアカウント管理>アカウント設定から、ミーティング認証オプションの項目で「構成を追加」するを選択します。

認証構成で「外部のシングルサインオン(SSO)にサインインします」を選ぶと、SAML連携の設定項目が表示されます。

Entra ID側で認証管理用のエンタープライズアプリケーションを作成

Entra ID管理センターに移り、エンタープライズアプリケーションから「新しいアプリケーション」を選択し、「独自のアプリケーションを作成」からカスタム設定で作業を進めます。既存のカタログに掲載されているものは関連ドメインを有効にした状態でのZoomアカウントのSSO連携用なので利用しません。

作成したら「シングルサインオン」を選び、「SAML」を選択し、SAML設定のUIを表示します。

双方でSAML設定作業

ZoomとEntra ID双方でSAMLの設定を行います。ZoomとEntra IDの設定上の用語対比は以下の通りです。

ZoomEntra ID
サインインページURL「〜のセットアップ」の「ログインURL」
発行者(IdPエンティティID)「〜のセットアップ」の「AzureAD識別子」
IDティプロバイダ証明書(注:誤訳と思われる)「〜のセットアップ」の「証明書(Base64)」
SPメタデータXML: md:EntityDescriptorタグのEntitiyID属性値「基本的なSAML構成」の「識別子」
SPメタデータXML: md:AssertionConsumerServiceタグのLocation属性値「基本的なSAML構成」の「応答URL」
SAML属性マッピングの「メールアドレス」「属性とクレーム」のクレーム名「emailaddress」の「名前空間」
SAML属性マッピングの「性」「属性とクレーム」のクレーム名「surname」の「名前空間」
SAML属性マッピングの「名」「属性とクレーム」のクレーム名「givenname」の「名前空間」
用語の比較

まずはログインURLと識別子(AzureAD識別子)の情報をEntra IDからZoomの設定に転記します。

証明書はBase64形式のファイルをダウンロードし、テキストエディタで開きZoomの設定に転記します。(転記の際、—-BEGIN CERTIFICATE——の先頭行と—-END CERTIFICATE——の末尾行はカットすること)

ここまで作成したら一旦Zoomの設定を保存します。保存するとSPメタデータXMLが作成されるのでダウンロードしておきます。

ダウンロードしたSPメタデータXMLをテキストエディタで開き、entityID属性値とLocation属性値をEntra ID上に転記します。「基本的なSAML構成」の「識別子が」entityIDで、「応答URL」がlocation属性値に対応します。

最後に、Entra IDの属性情報(姓、名、メールアドレス)をZoomに参加したときに反映されるよう設定します。「属性とクレーム」から、各属性の名前空間をZoomの認証プロファイル設定に転記します。

これで設定完了です。

Entra ID上でユーザーやグループを登録

Entra ID管理センターで作成したエンタープライズアプリケーションを開き、「ユーザーとグループ」から、今回の外部認証を利用したいユーザーやグループを登録します。なお、Entra IDのゲストユーザーも対象にすることができ、外部組織のメンバーも認証対象に組み込むことができます。

注:エンタープライズアプリケーションに対してグループ割り当てを行う場合は割り当てメンバー全員にEntra ID P1ライセンスが必要となります。外部ゲストユーザーの場合はテナント自体のライセンスレベルと課金モデルの設定の影響があるためご注意ください。

Entra ID上で設定の検証

Entra IDのテスト機能を利用して認証できるか確認します。ただし認証に成功してもミーティングが存在しないためその旨エラーが返ってきます。これはテスト機能の仕様性質上仕方ないのでご注意ください。

認証プロフィールの利用制限

前段で認証プロフィール機能の設定が完了しました。

Zoom上で認証プロフィールの利用を制御したい場合は、Zoom上でグループを作成しグループレベルでの設定制御を行います。「選択内容を非表示」したり、設定をロックできます。

動作結果:ミーティングの作成とユーザー認証

では実際にミーティングを設定してみます。

ミーティングの設定時に、「セキュリティ」の「認証されたユーザーのみ参加可能」にチェックをいれ、作成した認証プロファイルを指定します。

実際にミーティングに参加しようとすると、ブラウザへ遷移しEntra IDへ認証要求が行われます。

この際に認証を行うEntra IDが現在サインしているEntra IDと別テナントでかつゲスト登録されていない場合は以下のようなエラーとなります。

また、Entra IDへ認証要求が行われるが、Entra ID上でエンタープライズアプリケーションのユーザーに登録されていない場合は以下のエラーとなります。

補足情報

Google Workspace(Cloud Identity)やOktaでも利用できる?

できます!Google Workspaceでは設定した上で動作確認しています。Oktaは未検証ですが、対応手順のドキュメントも公開されていることから動作すると思われます。

そもそもIdPを利用した外部認証機能は何のためにある?

Zoom利用規約で16歳未満の個人はZoomの利用を想定しておらず、Zoomアカウントを作成することができません。教育機関で生徒がZoomを利用するための方法として、認証プロフィールを利用した外部認証によりZoomミーティングに参加することを想定しています。

日本国内でもGoogle EducationやMicrosoft365 Educationの利用が進んでおり、生徒個人がCloud IdentityやEntra IDアカウントを保有するのは一般的になりつつあります。Zoomのホストは教職員のみが行う想定で学外ユーザーの利用を防ぐならとても良い方法です。

問題

ユーザーが Zoom アカウントを作成しようとすると、「お客様は現在 Zoom にサインアップできません」というエラー メッセージが表示されることがあります。

原因

16 歳未満のユーザーは、Zoom アカウントを作成することができません。

制限されている国から Zoom にアクセスしようとしている場合も、規制上の理由からサインアップできません。

https://support.zoom.us/hc/ja/articles/10184517842573

11.2 子どもによる使用への制限。 教育機関向け Zoom(K-12)を使用する教育機関の登録利用者(Zoom サービスの説明に定義)を通じて使用する場合を除き、16 歳未満の個人が Zoom を使用することは、意図されていません。

https://explore.zoom.us/ja/terms/
Zoom利用規約

結論

以上の設定により、Zoomアカウントを持たない組織ユーザーに対し組織のIdP認証を利用して認証制御を行うことができます。

補足にもあるように教育機関などIT環境利用シナリオが異なる複数のユーザー群を持つ組織であれば上手な活用が可能と考えております。

けーはっく

流れ流され好奇心旺盛なまま色んなお仕事をやってきて、その経験を活かしてクラウドネイティブでお仕事しています。リモート情シス&コンサル歴は6年くらいですが、インターネット歴25年。