Azure AD のユーザーに extensionAttribute を追加する
はじめに
Azure AD では、ユーザーとデバイスのリソースに 15 個の extensionAttribute (拡張属性) が準備されており、これらに任意の値をセットすることで動的グループなどの属性情報に基づく機能に活用することが可能です。今回はユーザーの拡張属性の設定方法を説明します。
前提条件
こちらの属性、オンプレ AD から同期したユーザーに対しては設定不可です。また、以前にオンプレミス AD から同期されていた場合、 MS Graph API 経由で管理ができないようで、 Exchange 管理 センターまたは PowerShell の Exchange Online V2 モジュールを使用する必要があるようです。
なお、オンプレ AD においてはこの拡張属性は Exhcange Server 関連のもので、スキーマ拡張が必要です。なので、オンプレ AD 前提なのであれば、extensionAttribute に拘らず、Azure AD Connect のディレクトリ拡張機能を使ったほうが簡単なようですね。
設定してみる
設定には MS Graph API からなので、Graph Explorer を使います。設定するにはまずユーザーの ID が必要なので、以下 URI でユーザーの一覧を取得します。Method は GET です。
この際、後の手順も踏まえて Directory.ReadWrite.All を許可しておきます。
https://graph.microsoft.com/v1.0/users/
ID が確認できたら、extensionAttribute の設定状況を確認します。Method は GET です。
https://graph.microsoft.com/v1.0/users/{user-id}?$select=onPremisesExtensionAttributes
次に extentionAttribute1 を設定します。URI は以下で、Method は PATCH です。Directory.AccessAsUser.All の許可が必要になります。
https://graph.microsoft.com/v1.0/users/{userId}?$select=onPremisesExtensionAttributes
Request の Body には以下を入れます。
{
"onPremisesExtensionAttributes": {
"extensionAttribute1": "test-user"
}
}
成功すると 204 が返ってきます。 ※都合により、↑ までの手順と対象のユーザーを変えました。
GET で設定が反映されているか確認します。
Discussion