No3.Azure ADの認証基盤からの移行(Directory Sync利用あり)

Azure ADを認証基盤に利用している状態から、IIJ IDサービスに認証基盤を移行します。
Azure AD Connectなどを利用せずにAzure AD(Microsoft 365)上で直接アカウントを管理している状態から、IIJ IDサービスに認証基盤を移行します。

【参考】

ここに記載された内容は参考です。

実際の作業は、お客様の環境に合わせて実施してください。

連携のイメージ

Directory SyncによりActive DirectoryからIIJ IDにユーザを同期します。
また、IIJ IDからAzure ADにユーザをプロビジョニングし、プロビジョニングされたユーザとのフェデレーションを行います。


Azure AD上には既存のAzure ADユーザが存在するため、既存のAzure ADユーザとの連携も考慮します。
既存のAzure ADユーザについては、IIJ IDユーザのIDをAzure ADのuserPrincipalNameに揃えます。

なお、Azure ADにて外部の認証基盤とのフェデレーションを有効にしていない場合、Azure ADユーザのimmutableIdに値は設定されていません。
そのため、IIJ IDからのプロビジョニングによってIIJ IDの外部IDに上書きされます。

セットアップフロー例
1. 事前準備備考

1.1 Microsoft 365でのドメインの登録
1.2 Windows PowerShellのセットアップ
1.3 Microsoft 365アプリケーションの追加
2. Directory Syncのセットアップ

2.1 Directory Syncのセットアップ
3. 連携設定

3.1 アプリケーションの基本設定の変更
3.2 Graph APIの設定
3.3 プロビジョニングの設定
3.4 利用者の設定
3.5 フェデレーションの設定

Microsoft 365へのユーザのプロビジョニングが完了していることを必ず確認してください

プロビジョニング処理によってIIJ IDからAzure ADの各ユーザに対してimmutableIdの値が設定されます。ユーザのプロビジョニング処理が完了していない状態でフェデレーション設定を有効にした場合、immutabeldの値が設定されていないユーザはMicrosoft 365にログインできなくなります

Directory Syncの設定例

以下のように同期させます。

【参考】

この例では、既存のAzure ADユーザのuserPrincipalNameがActive DirectoryユーザのuserPrincipalNameと一致している必要があります。

Active Directory
IIJ ID
Azure AD備考
ms-DS-ConsistencyGuid
objectGUID
->アプリケーション連携ID(downstreamId)->immutalbeIdms-DS-ConsistencyGuidの値が空の場合にobjectGUIDの値が反映されます
userPrincipalName->ID (userName)->userPrincipalName

config.ymlサンプル

log:
  loglevel:                      info

ad:
  ldap:
    server:
      addresses:
                                 - 127.0.0.1
      user:                      'CN=administrator,CN=Users,DC=example,DC=jp'
    base_dn:                     'DC=example,DC=jp'
    filter:
      user:                      'memberOf:1.2.840.113556.1.4.1941:=CN=IID_IDaaS利用者グループ,OU=IID_Groups,DC=example,DC=jp'
      group:                     'memberOf:1.2.840.113556.1.4.1941:=CN=IID_IDaaS利用者グループ,OU=IID_Groups,DC=example,DC=jp'

iid:
  scim:
    attribute:
      user:
        default:
          emails:
            - primary:           true
        ad_bind:
          externalId:            userPrincipalName
          downstreamId:
                                 - mS-DS-ConsistencyGuid
                                 - objectGUID
          userName:              userPrincipalName
          emails:
            - value:             mail
      group:
        ad_bind:
          externalId:            objectGUID
          displayName:           name