5.9. Microsoft Entra ID (Microsoft 365) バックエンド

5.9.1. 概要

unicornidm.conf, templates/<backendname>.py

5.9.2. 説明

バックエンドセクションのうち、 typeazure となっているバックエンドは、 Microsoft Entra ID (ME-ID) ドメインコントローラーへの接続に関する設定を行います。

各バックエンドには必ずテンプレートファイルを用意する必要があります。 テンプレートファイルとは Unicorn ID Manager の任意属性 (フロントエンド属性) をバックエンド固有の属性 (バックエンド属性) にマッピングするためのものです。

5.9.3. リファレンス

5.9.3.1. unicornidm.conf のパラメーター

type

バックエンドのタイプを指定します。 azure に設定してください。

description

バックエンドの説明文を指定します。

Added in version 3.18.7.

domain

接続する ME-ID のドメイン名を指定します。

bind_user

ME-ID へ接続する際に使用するクライアント ID を指定します。

bind_password_file

ME-ID へ接続するクライアント ID のパスワード情報を格納したファイルパスを指定します。

backend_primary_key_user

ユーザーを一意に特定するための ME-ID バックエンド属性を指定します。 デフォルト値は userPrincipalName です。

backend_primary_key_group

グループを一意に特定するための ME-ID バックエンド属性を指定します。 デフォルト値は displayName です。

require_immutaleId

ユーザー登録時に、 immutableId を登録するかどうかを指定します。 デフォルト値は yes (immutableId を登録する) です。

5.9.3.2. テンプレートファイル

以下は、 ME-ID バックエンド のテンプレートファイルの例です。

User = {
    "userPrincipalName": userName,
    "immutableId": default(immutableId),
    "displayName": default(displayName, "%(familyName)s %(givenName)s"),
    "surname": familyName,
    "givenName": givenName,
    "mailNickname": userName,
    "accountEnabled": default(active, True),
    "passwordProfile": {
      "password": password,
      "forceChangePasswordNextLogin": default(forceChangePasswordNextLogin, True),
    },
    "passwordPolicies": "DisablePasswordExpiration,DisableStrongPassword",
    "usageLocation": default(usageLocation, "JP"),
    "assignedLicenses": default(azureLicense),
}


Group = {
    "displayName": groupName,
    "mailNickname": groupName,
    "mailEnabled": False,
    "securityEnabled": True,
    "description": default(description),
}

注意すべき点は以下のとおりです。

  • User の辞書には必ず userPrincipalName バックエンド属性を付与すること

  • Group の辞書には必ず displayName バックエンド属性を付与すること

5.9.4. azure バックエンド特有のバックエンド属性

ME-ID バックエンドで利用可能なバックエンド属性は以下の URL を参考にしてください。

https://msdn.microsoft.com/Library/Azure/Ad/Graph/api/entity-and-complex-type-reference#userentity

ここでは、上の URL に記載のない、 ME-ID バックエンド特有の バックエンド属性の説明をします。

assignedLicenses

assignedLicenses バックエンド属性は、ユーザーに対して、 Microsoft Office 等の利用に必要なライセンスを付与、あるいは、 すでに割り当てられているライセンスを削除するためのものです。 このバックエンド属性に指定可能なものは skuPartNumber と呼ばれる属性値です。 たとえば、 STANDARDPACK のような、値を指定します。 ライセンスは複数付与することができますので、 unicornidm.confassignedLicenses に対応するフロントエンド属性を multi_valued_attributes に含めるようにしてください (デフォルトの設定ファイルでは azureLicense として含められています) 。

ここで、 ME-ID バックエンドのライセンスについて説明します。 ME-ID では、ひとつのライセンスに複数のプランが紐付いています。 たとえば、以下のように STANDARDPACK には 3 つのプランが紐付き、 OFFICESUBSCRIPTION_FACULTY には 2 つのプランが紐付いています (以下の図は実際のライセンス体系と異なります) 。

ライセンス                   プラン

STANDARDPACK
    |
    +----------------------- EXCHANGE_S_STANDARD
    |
    +----------------------- YAMMER_ENTERPRISE
    |
    +----------------------- MCOSTANDARD

OFFICESUBSCRIPTION_FACULTY
    |
    +----------------------- OFFICESUBSCRIPTION
    |
    +----------------------- ONEDRIVESTANDARD

ライセンスを付与する際に、一部のプランを無効にしたい場合があります。 その時は STANDARDPACK/YAMMER_ENTERPRISE:MCOSTANDARD のように、 <ライセンス名>/<プラン名>:<プラン名>:... と指定します。

groupType

グループ作成時にのみ利用可能です。 作成するグループのタイプを指定します。 指定可能な値は以下です

  security          セキュリティグループ (デフォルト)
  microsoft365      Microsoft 365グループ

グループの種類の詳細は以下のURLを参照してください。

https://learn.microsoft.com/ja-jp/graph/api/resources/groups-overview?view=graph-rest-1.0&tabs=http#group-types-in-microsoft-entra-id-and-microsoft-graph

Added in version 3.20.12: groupType が追加されました。

5.9.5. 制限

  • グループの入れ子 (ネスト。グループへのグループの追加) には対応していません。

  • 組織単位 (OU) の管理には対応していません。 ユーザーに所属させたい組織単位は別途 Azure AD の管理ツールで作成しておいてください。

  • ユーザーの一覧表示のフィルターや操作対象を組織部門やグループ で制限することはできません。

  • メール有効グループ、配布グループの作成・管理には対応していません。 グループ一覧ページなどに表示はされますが、更新等は全て失敗します。