クラウドサービスの普及に伴い、Azure Active Directoryを認証基盤として活用し、ユーザーを効率的に管理する企業が増えている。そんな中、管理者が抱えがちな悩みが「ゲストユーザー管理」の問題だ。ゲストユーザーをコントロールする4つの方法を解説する。
クラウドサービスのID情報を一元化することで、シングルサインオンを実現するMicrosoftのAzure Active Directory(以下、Azure AD)。従来、オンプレミスの社内システムにシングルサインオンでアクセスするための認証基盤として「Active Directory」が使われていたが、クラウドサービスが普及するに伴い、Azure ADを利用する企業が増えた。
そんなAzure ADを管理運用するシステム管理者に抱えがちな悩みが「ゲストユーザー管理」の問題である。「Microsoft 365」専門のトレーニングコースを提供するエストディアンの代表取締役である国井 傑氏が、ゲストユーザーをコントロールする4つの方法を語った。
本記事は、ジョーシスが2023年6月27日に開催したオンラインイベント「Josys Learning Day 2023攻めと守りの情シスDX~AI時代編~」の内容を編集部で再構成した。
Microsoft 365を導入する企業の多くは「Microsoft Teams」(以下、Teams)も利用している。Teamsは、社内のメンバーだけでなく、パートナーや顧客など社外のメンバーにもチームに参加可能で、ビデオチャットやテキストチャットを通じてコラボレーションできる。
そのためTeams利用企業では、外部のユーザーを招待する機会が多くある。その結果、自社のAzure ADのユーザーが知らないうちに増えてしまうという問題が起こる。
その原因はゲストユーザーにある。ゲストユーザーとは、相手企業のAzure ADに存在するユーザーのショートカットのことだ。例えば自社(A社)がパートナー企業B社のユーザーにアクセス権を与えたいとする。この時、B社でもAzure ADが使われている場合、B社のAzure ADユーザーに対するショートカットをA社のArure ADで作成でき、このショートカットをゲストユーザーと呼ぶ。B社ユーザーは自分のAzure ADでサインインすれば、ゲストユーザーとして、A社が契約しているクラウドサービス(Teamsなど)にアクセスできる仕組みだ。
「ゲストユーザーは注意が必要な機能だ。例えばTeamsで外部ユーザーにアクセス権を割り当てると、Azure ADにゲストユーザーが自動作成されてしまう。つまり、見知らぬユーザーが勝手に増えてしまうことになり、システム管理者からすれば頭の痛い問題といえる」(国井氏)
しかし、ゲストユーザーそのものが問題というわけではない。むしろ、幾つかのケースにおいてゲストユーザーは使い勝手のいい機能だ。例えば、Teamsなど自社のクラウドサービスをパートナー企業のユーザーに利用してもらう際には、ゲストユーザーを使うのが手軽な方法だ。
Azure ADのテナントが複数あるケースでもゲストユーザーが役立つ。テナントとは、Azure ADにおけるユーザーやアプリケーションなどのオブジェクトをまとめた部屋のようなものを指す。
例えば、AとBという二つのテナントを運用している会社で、システム管理者がテナントAにユーザーアカウントを持ちつつ、テナントBを管理する役割を担っているとする。こういった場合に、AとBに別々にサインインするのは面倒だ。そこで、普段はテナントAにサインインしつつ、テナントBにはゲストユーザーとしてアクセスする。これならばアカウントを切り替えする手間がなくなる。
また、Microsoft 365を導入し、Azure ADを利用している企業が統合する場合、Azure ADも連携、統合したいというニーズが出てくる。このようなケースにおいてもゲストユーザーを利用した方が作業はスムーズに進む。
「設定でゲストユーザーの使用を禁止する方法もある。しかし、さまざまなケースを考えると、ゲストユーザーを使わないという選択は、後で自分たちを苦しめることになる。ゲストユーザーとはうまく付き合っていくことが大切だ」と国井氏は主張する。
ではシステム管理者はゲストユーザーをどうやってコントロールしていけばよいのだろうか。国井氏は次の4つの方法を解説した。
Teamsで外部ユーザーにアクセス権を与えると勝手にゲストユーザーがつくられてしまう。その原因は、ゲストユーザーをつくらせる権限をシステム管理者以外に与えていることにある。そういった場合、設定変更で対策可能だ。
Azure ADのポータル画面からから「External Identities」を開き、「外部コラボレーションの設定」→「ゲスト招待の設定」と進むと、ゲストユーザーを招待できる人の範囲を決められる。ここで「特定の管理者ロールに割り当てられているユーザーのみがゲストユーザーを招待できる」などを選ぶとよいだろう。
こうすることでTeamsの管理者が外部ユーザーにアクセス権を与えられなくなる。もしゲストユーザーをつくりたい場合はシステム管理者に申請する、というルールを設定すれば問題ない。申請フローはMicrosoft 365の「Microsoft Forms」でつくることが可能だ。
全てのユーザーにゲストユーザーを招待する権限を与え、ゲストユーザーがアクセスできるクラウドサービスを制限する方法もある。これもAzure ADのポータル画面のExternal Identitiesメニューで設定可能だ。「テナント間アクセス設定」→「受信アクセス」欄にある「BtoBコラボレーション」設定で、「すべて許可」ではなく「Teamsのみ」などを選択する。するとゲストユーザーは、Teams以外のクラウドサービスにアクセスできなくなる。
ゲストユーザーの運用管理をできるだけ効率化する、という方法もある。Azure ADで複数のユーザーアカウントを作成する場合、CSVファイルを読み込んでまとめて作成できるが、招待したい人のメールアドレスをCSVファイルに登録して読み込むことでゲストユーザーについても同様に作成できる
「テナント間同期」を使うことも、ゲストユーザーの運用管理を効率化する手段の一つだ。Azure ADにはプロビジョニングという機能がある。ユーザーがアクセスする必要のあるアプリケーションに、ユーザーIDを自動で作成する機能だ。例えば、「Salesforce」を使っている組織で新しいAzure ADのユーザーアカウントを追加すると、Salesforceでもアカウントを自動作成できる。
このプロビジョニング機能を利用して、Azure ADのテナント間でユーザー情報を同期する方法がテナント間同期だ。組織内に複数のテナントが存在し、一人のユーザーが両方のテナントを管理しなければならないケースや、M&Aによって複数の組織が統合され、Azure ADのユーザーアカウントを移行させたい場合にテナント間同期が役立つ。
不要なゲストユーザーをこまめに削除することもコントロールする方法といえる。相手のテナントのユーザーが、自社にテナントにゲストユーザーとしてアクセスしているとする。相手テナント側で大元のユーザーが削除されても、自社テナントにいるゲストユーザーは消えずに残されたままになってしまう。要するにユーザーが“ゴミ”と化して残ることがあるわけだ。これは大きな問題とはいえないが、システム管理者としてはやはりきれいにしたいところだ。
そこで、Azure ADのサインログを確認し、しばらくサインをしていないユーザーがいれば削除する方法がある。ただし、Azure ADのログは30日しか保存されない。そこで、Azure ADのサービスの一つである「Log Analytics」ワークスペースにログを転送しておく方法がある。ここなら最大で7年間保存できる。Log Analyticsワークスペースからクエリを実行し、定期的にユーザーのサインイン履歴を調査し、1年間サインインしてないユーザーは削除するといった判断ができる。
最後に国井氏は、「このような方法を駆使しゲストユーザーとうまく付き合ってほしい。そして自社のメンバーだけでなくパートナー企業のメンバーにも、クラウドサービスを活用した最適な作業環境を提供してはいかがだろうか」と締めくくった。
Copyright © ITmedia, Inc. All Rights Reserved.
製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。