Active Directory
概要
Active Directory(AD)は、Microsoft 社が提供するディレクトリサービスで、Windows 環境における中央認証・アカウント管理システムです。組織内のユーザー、コンピュータ、プリンター、共有フォルダなどのリソースを階層構造で管理し、認証・認可・グループポリシーの適用を行います。
例えば、以下のような用途で使用されます。
- Windows ログオン認証: 社内 PC にログインする時のユーザー名・パスワード管理
- ファイルサーバーアクセス制御: 共有フォルダへの部署別アクセス権管理
- アプリケーション認証: 社内システムのシングルサインオン(SSO)
| 公式 HP | Microsoft Active Directory |
|---|---|
| 公式ヘルプ | Active Directory Domain Services 概要 |
| API ドキュメント | LDAP API リファレンス |
サービス仕様
オンプレミスエージェントについて
Active Directory コネクタは他のコネクタとは異なり、顧客の Active Directory 環境にオンプレミスエージェントのインストールが必要です。
Active Directory は顧客のオンプレミス環境(社内ネットワーク)に存在し、YESOD のサーバーからは直接アクセスできないケースが想定されます。そのようなケースに対応するため、オンプレミスエージェントは以下の役割を担います。
- YESOD のサーバーとの通信路の確立: エージェント側から YESOD サーバーにアクセスを行い、YESOD サーバーとの間の通信路を確立します。YESOD サーバーはこの通信路を使用してエージェントに Active Directory に対して実施したい操作内容を送信します。
- AD サーバーの操作の代行: YESOD サーバーから操作内容を受け取ったエージェントは、YESOD サーバーに代わって Active Directory にリクエストを送ってアカウントやグループの操作を実行します。
アカウント削除
Active Directoryの削除の挙動
- ActiveDirectoryの操作としてアカウントを停止するには、無効・削除がありますが、コネクタでアカウント削除を実行すると「(ActiveDirectoryの)削除」を実行します。
- 削除を行った際に、論理削除、物理削除どちらになるかは、運用中のActiveDirectory環境が「ゴミ箱」機能を有効にしているかどうかによって決まります。
- ゴミ箱機能を有効にしている場合、論理削除されます。
- ゴミ箱機能を無効にしている場合、物理削除されます。
- YESODとしては、一律削除を行い、上記については、ユーザーの運用中のActiveDirectoryの環境に従うものとします。
アカウント削除タスクと再作成の挙動
- アカウント削除
- ゴミ箱機能を有効にしている場合、論理削除されます
- ゴミ箱機能を無効にしている場合、物理削除されます
- アカウント再作成
- アカウントがあれば(論理削除だった場合) を にして復帰させる
- アカウントがなければ(物理削除だった場合)、新規作成する
割当種別
「グループ」と「コンテナオブジェクト」の 2 つの割当種別があります。
両方ともグループプッシュに対応しています。
「グループ」割当
この割当ではActive Directory のグループに対してメンバーを追加・削除することができます。
Active Directory のグループは、 ユーザーやコンピュータ・他のグループをまとめて、権限やメール配信を制御する管理単位です。大きく以下の 2 種類があります。
- セキュリティグループ
- リソース(ファイル、フォルダ、プリンターなど)へのアクセス権を管理するために使用する。
- セキュリティグループに対してアクセス権限を追加することで、そのグループに属するメンバー全体に対してアクセス権が適用される。
- 配布グループ(ディストリビューショングループ)
- 主にメールの配信リストとして機能し、Exchange などのメールシステムで使用される。
- 権限を付与するといった操作はできず、メールの宛先としてのみ使用できます。
プライマリグループについて
プライマリグループは、作成したユーザーに対してデフォルトで割り当てられるグループです。
- 各ユーザーに対してプライマリグループが必ずひとつ設定され、そのグループの所属を外すことはできません。(ユーザーを作成した時点で最初から所属しています)
- 初期値は グループです。プライマリグループを変更するには PowerShell でコマンドを実行する必要があります。
- YESOD ではプライマリグループに対する剥奪タスクを単体で実行した場合、エラーになりタスクが失敗します。手動でスキップしてください。削除タスクと同時に実行した場合、剥奪タスクは成功扱いになりますが実際には何も実行されません。(削除タスクにより削除されます)
「コンテナオブジェクト」割当
この割当では、Active Directory の OU(組織単位) および Users コンテナに対してメンバーを追加・削除することができます。
- 組織単位は、部署や役割に応じてオブジェクトをまとめる管理単位です。Active Directory の管理者によって追加・削除ができます。
- コンテナは組織単位とは別の概念です。こちらもオブジェクトをまとめる管理単位ですが、こちらは Active Directory 環境の構築時の初期状態から追加・削除ができません。
- Users コンテナはアカウント作成時にアカウントがデフォルトで追加されるコンテナです。
オブジェクトの種別としてはコンテナと OU は全く別物ですが、Users コンテナと OU は排他的にひとつのみ所属可能なため、ひとつの割当として扱っています。
同期する項目
必須項目(デフォルトで設定)
| 項目名 | key | value(デフォルト値) | key(ActiveDirectory) | 備考 |
|---|---|---|---|---|
| ユーザー名 | user.commonName | user.email | cn | 注意:commonNameは作成時に必須な項目ですが、作成後はYESODからの更新は実行されません(項目などを更新してもActive Directory側には反映されません) は使えません。 |
| 姓 | user.givenName | user.givenNameLocalPreferred | givenName | - |
| 名 | user.familyName | user.familyNameLocalPreferred | sn | - |
| メールアドレス | user.mail | user.email | - | |
| ログオン名(現在) | user.userPrincipalName | user.email | userPrincipalName | - |
| ログオン名(以前のバージョン) | user.sAMAccountName | String.substringBefore(user.email, "@") | sAMAccountName | の文字列は使えません。
詳細な仕様は以下のURLをご確認ください。
https://learn.microsoft.com/ja-jp/windows/win32/adschema/a-samaccountname |
メールアドレスの名寄せにはUPN(ログオン名)を使用している
任意項目(属性マッピングで指定可能)
グループプッシュ(グループ)
割当種別の「グループ」がグループプッシュに対応しています。
グループの親子関係について
YESODで親子関係のあるグループで両方グループ作成タスクを実行した場合、Active Directoryに作成されたグループにその親子関係が反映されます。

Active Directoryにおいては、親グループの「メンバー」属性に子グループが追加されます。
「メンバー」属性にはグループに所属しているユーザーアカウントと子グループの両方が表示されることになります。

このとき、Active Directoryのツリー上ではこれらのグループは同一階層下に作成されるという点に注意してください。「メンバー」属性によって表現される親子関係はあくまで論理的なもので、物理的にはこれらのグループは同じ階層下に並列で存在することになります。

グループの作成先の階層は「同期する項目」の で指定することができます。グループによって作成先の階層を制御したい場合はこの項目を設定してください。
グループの作成
Active Directory の「ゴミ箱」機能が有効になっているかどうか、また AD 上のグループを作成しようとしている階層上に同一の名前のグループが存在するかに応じて以下のような挙動になります。
「ゴミ箱」機能が有効である場合
| 状況 | 挙動 |
|---|---|
| 同一階層上に同じ名前のグループが存在しない | |
| ┗ かつ 、「ゴミ箱」に同一階層から捨てられた同じ名前のグループが存在する | 「ゴミ箱」内のグループを復元し、情報を更新する |
| ┗ かつ、「ゴミ箱」に同一階層から捨てられた同じ名前のグループが存在しない | グループを新規作成する |
| 同一階層上に同じ名前のグループが存在する | そのグループの情報を更新する |
「ゴミ箱」機能が無効である場合
| 状況 | 挙動 |
|---|---|
| 同一階層上に同じ名前のグループが存在しない | グループを新規作成する |
| 同一階層上に同じ名前のグループが存在する | そのグループの情報を更新する |
グループの削除
Active Directory の「ゴミ箱」機能が有効になっているかどうかによって以下のような挙動になります。
| 状況 | 挙動 |
|---|---|
| 「ゴミ箱」機能が有効になっている | グループを「ゴミ箱」に移動する |
| 「ゴミ箱」機能が有効になっていない | グループを完全削除する |
同期する項目
| 属性 | 必須 | key | デフォルト値 | 型 | 例 | 備考 |
|---|---|---|---|---|---|---|
| グループ名(cn / commonName) | ✅ | 文字列 | ・最大64文字。・超過した場合は先頭64文字だけ反映されます。・同一階層内の既存グループと重複する値は指定できません。 | |||
| グループ名(昔のバージョンのOS用) | ✅ | 文字列 | ・最大20文字。・超過した場合は先頭20文字だけ反映されます。・階層関係なく同じActive Directoryドメイン内の既存グループと重複する値は指定できません。 | |||
| グループの種類 | ✅ | 文字列 | グループの種類とスコープを制御する値。グループの種類┣ セキュリティーグループ ┗ 配布グループグループのスコープ┣ ドメインローカルグループ┣ グローバルグループ┗ ユニバーサルグループ種類2つ x スコープ3つ の6通りのgroupTypeが存在する。詳しくは以下を参照。https://learn.microsoft.com/ja-jp/windows/win32/adschema/a-grouptype | |||
| 作成先のコンテナ・OU | - | 文字列 | ドメイン直下に作成する場合:特定のOUの配下に作成する場合: | ・グループの作成先となるコンテナ・OUなどのDistinguishedNameを指定してください。・未指定の場合は業務アセット作成時に指定したBaseDnの直下に作成します。・BaseDnの配下ではない要素を指定することはできません。・グループ作成タスク実行時のみ考慮されます。作成後に値を変更しても属性同期の対象にはなりません。(実装工数の観点からこの仕様にしています。技術的には更新でも考慮する仕様にできる可能性もあるので必要な場合はご相談ください。) | ||
| メールアドレス | - | 文字列 | グループ自体のメールアドレス | |||
| 説明 | - | 文字列 | ||||
| 注意書き(メモ) | - | 文字列 | ||||
| グループの管理者 | - | 文字列 | DistinguishedName形式の文字列で指定 | |||
| その他ADのグループクラスが持つ各種属性 | - | 文字列 | ・以下で定義されている属性のLdap-Display-Nameをそのままkeyとして指定することでその属性に値をセットできます。https://learn.microsoft.com/en-us/windows/win32/adschema/c-group・ は対象外です。 を付与せずに設定してください。・YESODが保証するのはあくまでADへのリクエストに指定した属性とその値が載るところまでです。実際に反映されるかどうかは属性の仕様に依存します。 |
グループプッシュ(コンテナーオブジェクト)
割当種別の「コンテナーオブジェクト」はグループプッシュに対応しています。
コンテナーオブジェクトのグループプッシュで作成できるのは組織単位(Organizational Unit)のみです。コンテナーの作成はActive Directoryの仕様上できません。
グループの親子関係について
YESODで親子関係のあるグループで両方グループ作成タスクを実行した場合、ActiveDirectoryに作成されたグループにその親子関係が反映されます。

Active Directoryにおいては、親OUの配下の階層に子OUが追加されます。

子OUは必ず親OUの配下に作成されますが、親OUが存在しない最上位のOUの作成先の階層は「同期する項目」の で指定することができます。作成先の階層を制御したい場合はこの項目を設定してください。
コンテナーオブジェクトの作成
Active Directory の「ゴミ箱」機能が有効になっているかどうか、また AD 上のOUを作成しようとしている階層上に同一の名前のOUが存在するかに応じて以下のような挙動になります。
「ゴミ箱」機能が有効である場合
| 状況 | 挙動 |
|---|---|
| 同一階層上に同じ名前のOUが存在しない | |
| ┗ かつ 、「ゴミ箱」に同一階層から捨てられた同じ名前のOUが存在する | 「ゴミ箱」内のOUを復元し、情報を更新する |
| ┗ かつ、「ゴミ箱」に同一階層から捨てられた同じ名前のOUが存在しない | OUを新規作成する |
| 同一階層上に同じ名前のOUが存在する | そのOUの情報を更新する |
「ゴミ箱」機能が無効である場合
| 状況 | 挙動 |
|---|---|
| 同一階層上に同じ名前のOUが存在しない | OUを新規作成する |
| 同一階層上に同じ名前のOUが存在する | そのOUの情報を更新する |
コンテナーオブジェクトの削除
Active Directory の「ゴミ箱」機能が有効になっているかどうかによって以下のような挙動になります。
| 状況 | 挙動 |
|---|---|
| 「ゴミ箱」機能が有効になっている | OUを「ゴミ箱」に移動する |
| 「ゴミ箱」機能が無効になっている | OUを完全削除する |
同期する項目
| 属性 | 必須 | key | デフォルト値 | 型 | 例 | 備考 |
|---|---|---|---|---|---|---|
| 組織単位名(cn / ou) | ✅ | 文字列 | 最大64文字。超過した場合は先頭64文字だけ反映されます。同一階層内の既存OUと重複する値は指定できません。 | |||
| 作成先のコンテナ・OU | - | 文字列 | ドメイン直下に作成する場合:特定のOUの配下に作成する場合: | ・OUの作成先となるコンテナ・OUなどのDistinguishedNameを指定してください。・未指定の場合は業務アセット作成時に指定したBaseDnの直下に作成します。・この値が考慮されるのはそのOUが階層構造の最上位のOUである場合のみです。子要素の場合は の値は関係なく、親要素の配下に作成されます。・BaseDnの配下ではない要素を指定することはできません。・OU作成タスク・移動タスク実行時のみ考慮されます。作成後に値を変更しても属性同期の対象にはなりません。(実装工数の観点からこの仕様にしています。技術的には更新でも考慮する仕様にできる可能性もあるので必要な場合はご相談ください。) | ||
| 説明 | - | 文字列 | ||||
| OUの管理者 | - | 文字列 | DistinguishedName形式の文字列で指定 | |||
| その他ADのOUクラスが持つ各種属性 | - | 文字列 | ・以下で定義されている属性のLdap-Display-Nameをそのままkeyとして指定することでその属性に値をセットできます。https://learn.microsoft.com/en-us/windows/win32/adschema/c-organizationalunit・ は対象外です。 を付与せずに設定してください。・YESODが保証するのはあくまでADへのリクエストに指定した属性とその値が載るところまでです。実際に反映されるかどうかは属性の仕様に依存します。 |
ご不明点がある場合は、カスタマーサクセス担当者までご連絡ください。