5.9. Azure Active Directory (Microsoft 365) バックエンド

5.9.1. 概要

unicornidm.conf, templates/<backendname>.py

5.9.2. 説明

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

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

5.9.3. リファレンス

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

type

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

description

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

バージョン 3.18.7 で追加.

domain

接続する Azure AD のドメイン名を指定します。

bind_user

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

bind_password_file

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

backend_primary_key_user

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

backend_primary_key_group

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

require_immutaleId

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

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

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

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 バックエンド特有のバックエンド属性

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

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

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

assignedLicenses

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

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

ライセンス                   プラン

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

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

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

5.9.5. 制限

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

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

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