🔄

Oktaの管理者がEntra IDを触るようになって感じた違い

2024/12/16に公開

この記事は「corp-engr 情シスSlack(コーポレートエンジニア x 情シス)#1 Advent Calendar 2024」の16日目の記事です。
https://adventar.org/calendars/10163

前書き

私事ですが、2024年9月から新しい会社で働くことになりました。
これまではOktaの管理者をしていましたが、転職先ではMicrosoft Entra IDが導入されているため、現在はEntra IDの管理者として、毎日のようにMicrosoft Entra 管理センターを利用しています。

本記事では、Oktaの管理者としての経験を持つ私が、Entra IDを使い始めて感じたことをまとめました。以下のような方々にとって参考になれば嬉しいです。

  • IdP(アイデンティティプロバイダー)の導入を検討中で、OktaとEntra IDを比較している方
  • 現在Oktaの管理者だが、転職先でEntra IDが導入されている方

本題

アプリケーションの付与

まず、日常的な操作の一つである「ユーザーやグループにアプリケーションを付与する操作」における違いについて説明します。

ユーザーやグループへのアプリを付与

日常の業務では、「AさんってNotion(例)のアプリが付与されていたっけ?」と確認が必要になる場面があるかと思います。
この場合、ユーザー画面を開いて付与されているアプリケーションを確認することになりますが、Oktaではユーザーの詳細画面で付与されているアプリケーションを確認すると同時に、その画面の中でアプリケーションの付与や剥奪を行うことができます。

一方で、Entra IDの場合、ユーザー詳細画面から直接アプリケーションを付与することはできません。そのため、ユーザーにアプリケーションを割り当てる際は、アプリケーションの詳細画面から該当のユーザーをアサインする操作が必要になります。

Oktaのユーザー詳細画面(アプリケーションを割り当てからアプリを付与できる)

Entra IDのユーザー詳細画面(アプリを付与できない)

これはグループの詳細画面でも同様で、アプリを付与することはできません。そのため、アプリケーションの詳細画面からユーザーやグループをアサインする必要があります。

Entra IDのグループ詳細画面(アプリを付与できない)

プロビジョニング周り

プロビジョニングサイクルの違い

Oktaでは、ユーザーにアプリケーションを付与すると即時にプロビジョニングが行われます。一方、Entra IDでは、通常40分ごとの定期的な同期スケジュールに基づいてプロビジョニングが行われるようです。
https://learn.microsoft.com/ja-jp/entra/identity/app-provisioning/application-provisioning-when-will-provisioning-finish-specific-user#how-long-will-it-take-to-provision-users

Entra IDで急いでプロビジョニングを実行したい場合は、手動でユーザーを指定してオンデマンドプロビジョニングを行う必要があります。ただし、オンデマンドプロビジョニングでは一度に最大5ユーザーまでしか指定できません。そのため、それ以上のユーザーを指定する場合は、複数回に分けて実行する必要があり、少々手間がかかります。

オンデマンドプロビジョニングの様子

プロビジョニングのマッピングの変更

IdPからSPへSAMLやプロビジョニングを行う際、特定のユーザーだけマッピングを変更する必要が生じることはよくあるかと思います。

Oktaの場合、アプリケーションの付与画面から✏️ボタンを押すとマッピングの変更画面が表示されます。


ユーザー単位やグループ単位でマッピングを変更出来ない

一方、Entra IDでは、Oktaのようにユーザー単位でマッピングを画面上から直接変更することはできません。その代わり、マッピングの式に個別の条件を設定する必要があります。
例えば、Salesforceで特定のユーザーだけタイムゾーンを変更したい場合、プロビジョニングのマッピング設定に以下のような式を追加する必要があります。

Entra IDでのマッピング例

IIF([userPrincipalName]="[email protected]", "America/Los_Angeles", "Asia/Tokyo")

プロビジョニングが失敗時のエラー対応

設定しているプロビジョニングで何らかの理由でエラーが発生した場合、OktaではAdmin Consoleのトップページ内の「タスク」セクションでエラーの詳細を確認できます。そこから直接プロビジョニングをリトライすることも可能です。

一方、Entra IDではプロビジョニングのエラーをメールで通知することはできますが、Microsoft Entra 管理センターのトップページにはエラー情報が表示されません。そのため、アプリケーションの概要画面までアクセスしなければならず、エラーに気づきにくいです。

GWSの組織部門へのプロビジョニング

OktaからGoogle Workspaceにプロビジョニングを行う場合、グループやユーザーにアプリをアサインする際に、Organizational Unitを選択することができます。
この機能はGoogle Workspaceの組織部門に対応しており、Oktaを使用することで特定の組織部門へのマッピングが容易に行えます。

しかし、Entra IDの場合、ExtensionAttributeやアプリロールを利用するといった、公式では案内されていない方法しか選択肢がありません。
現時点では、プロビジョニング時に特定の組織部門に意図的に割り当てる設定は行っていませんが、もし設定する場合は以下の記事が参考になるかと思います。
https://officeforest.org/wp/2024/03/27/entra-idとgoogle-workspaceのメンバーを同期させる方法-provisioning編/#i-17

ここまでプロビジョニングについて色々と書きましたが、そもそもの話として、Entra IDではプロビジョニングでSP側に渡せる設定や項目が少ないと感じています。

エンドユーザー視点

ここからはエンドユーザー視点でのOktaとEntra IDの感じた違いについて書き進めていきます。

パスワードレス認証

Oktaの場合、Okta FastPassをMacやWindowsにインストール&登録することで、Touch IDやWindows Helloを利用して認証を通過できます(いわゆるパスワードレス認証)
Okta FastPassはデバイスへの登録方法も簡単で、ユーザー体験として非常に優れていたと感じていました。

Okta FastPassの画面

Entra IDの場合ではWindowsとMacでユーザー体験が変わります。
Windowsの場合、Windows Hello for Business(以降WHfB)を利用することで、パスワードレス認証を実現することができます(MS Authenticatorでやる手段もあります)
WHfBはOkta FastPassよりも登録が容易で、Windowsの初期セットアップ中に登録出来るので、Entra IDかつWindowsユーザーであれば大いにその恩恵を受けることができます。

一方、Macで同じようなことを実現する場合、Platform SSOが該当するかと思います。
https://learn.microsoft.com/ja-jp/mem/intune/configuration/platform-sso-macos

しかし、Platform SSOの登録はやや手間がかかります。カンパニーポータルアプリをインストールした後にJamfとIntuneを連携させる必要があるなど、Okta FastPassに比べてユーザーが設定する項目が多く、設定内容的にはパスワードレス認証というよりも、デバイストラストの側面が強いと感じています。
Platform SSOについては、Tooさんの記事で詳しく解説されていますので、ぜひご一読ください。
https://www.too.com/apple/apple_tips/sso_3_2.html

その他

ドキュメントを頑張って読まないと理解するのが難しい + ドキュメント内のメニュー名が変わってるなんてらザラ

これはEntra IDのドキュメントが、というよりはMicrosoftのドキュメント全般に対して言えることじゃないかと思います。
最初は戸惑いましたが、ドキュメントを英語にしてChromeの翻訳機能を並行して使いながら読み進めると理解出来るようになった気がします。

ExtentionAttributeがGUIで変更できない

Entra IDには、あらかじめいくつかのユーザー属性が用意されていますが、場合によっては管理者が独自に属性を追加する必要が出てくることもあります。
その際、ExtensionAttributeを使用するのが一般的ですが、ExtensionAttributeの更新や追加はGUIでは行えず、Microsoft Graph APIを使用する必要があると記載されています。

オンプレミスで管理されているユーザー向けの Microsoft Entra Connect を使用するか、クラウド専用ユーザー向けの Microsoft Graph API を使用することで、どちらの種類の拡張機能も構成できます。

https://learn.microsoft.com/ja-jp/entra/identity/domain-services/concepts-custom-attributes

Oktaであれば、Profile Editerで追加できるしAPIでも利用できるので、ここら辺はOktaは便利だったなーと今更ながら感じています。

最後に

ここまで、Oktaでは可能だったがEntra IDでは難しい点を多く挙げてしまいました。ただ、これは私が経験した2社ともにMacの使用割合が多かったことが影響しているかもしれません。

パスワードレスに関する話題でも触れましたが、Entra IDはWindowsとの親和性が非常に高いです。また、Intuneを含むEMS E3ライセンス(やBusiness Premium)は非常にコストパフォーマンスに優れていると思います。そのため、Windows機が多い企業で「Oktaの機能は良いけれど、価格がね…」といった意見が出るのも、至極当然のことではないかと思います。

Entra ID P1であれば¥899/月、Entra ID P2でも¥1,349/月、Oktaは$14(¥2,100)/月と、IdP単体で比較するとEntra IDはOktaに比べてかなり安いです。

Entra ID P1とP2の価格表

https://www.okta.com/jp/pricing/#workforce-identity-pricing

会社の事業内容や対外的に求められるセキュリティレベル、Windows/Macの利用比率、導入するMDMの種類など、企業ごとに状況は異なるかと思います。本記事が製品を選定する何かの参考になれば幸いです。

ここまで私の感想を書いてみましたが、Entra IDで実現可能な機能について見落としている点がある場合は、あらかじめお詫び申し上げます。
「Entra IDを触り始めて数ヶ月しか経っていないお前が未熟だからだろ」と言われてしまうとぐうの音も出ないので、もっとEntra IDと仲良くなれるよう、これから精進していきたいと思います。

Discussion