メインコンテンツまでスキップ

Active Directory

Active Directoryを業務アセットとして接続すると、アカウント・グループ・組織単位をYESODから管理できます。接続には、オンプレミスエージェントのインストールが必要です。

概要​

Active Directory(AD)は、Microsoftが提供するディレクトリサービスです。Windows環境における中央認証・アカウント管理システムとして動作します。組織内のユーザー、コンピューター、プリンター、共有フォルダーなどを階層構造で管理し、認証・認可やグループポリシーの適用をします。

たとえば、次のような用途で使用します。

  • Windowsログオン認証: 社内PCへログオンするときのユーザー名・パスワードの管理
  • ファイルサーバーアクセス制御: 共有フォルダーへの組織別のアクセス権の管理
  • アプリケーション認証: 社内システムのシングルサインオン(SSO)
参照先リンク
公式HPMicrosoft Active Directory
公式ヘルプActive Directory Domain Services 概要
APIドキュメントLDAP APIリファレンス

YESODで管理できるオブジェクト​

Active Directoryのオブジェクトのうち、YESODで管理・制御できるのは次の4種類です。

オブジェクト名用途
ユーザーアカウントメンバーのアカウント
組織単位(Organization Unit / OU)組織や職務に応じてオブジェクトをグループ化する
グループユーザー・コンピューター・他のグループをまとめ、権限やメール配信を制御する
コンテナーシステムによって最初から作成されているオブジェクトの格納場所(作成・削除はできない)

管理できること​

接続方式は標準コネクタです。次の3つを管理できます。

アカウント管理​

  • アカウントの作成/削除(もしくは「ゴミ箱」への移動)
  • アカウントの属性更新
  • パスワードリセット
  • グループへのユーザーの所属/削除/移動
  • OU・Usersコンテナーへのユーザーの所属/削除/移動

グループ管理​

  • グループの作成/削除(もしくは「ゴミ箱」への移動)
  • グループの属性更新
  • グループへの他グループの所属/削除/移動

コンテナーオブジェクト管理​

  • OUの作成/削除(もしくは「ゴミ箱」への移動)
  • OUの属性更新
  • グループへの他グループの所属/削除/移動

接続に使う情報​

入力項目必須入力する内容
「LDAP URL」必須管理対象のドメインのLDAP接続URL。例: ldaps://sample.yesod.local:636
「BaseDn」必須管理対象のドメインのベースDN。DC=[ドメイン名]の形式で入力し、複数ある場合はカンマで区切ります。例: DC=example,DC=local
「バインドユーザー」必須バインドに使うアカウントの識別名(DN, distinguishedName)。例: CN=serveradmin,CN=Users,DC=example,DC=local
「バインドパスワード」必須「バインドユーザー」に対応するパスワード

バインドに使うアカウントには、次の権限が必要です。

  • ユーザー情報の検索・読み取り・書き込みの権限
  • グループ、コンテナーオブジェクトの情報の検索・読み取り・書き込みの権限

資格情報は第三者へ共有せず、安全な場所で管理してください。

接続の準備​

Active Directoryの接続は、ほかの接続先サービスと異なります。自社のActive Directory環境へ、オンプレミスエージェントのインストールが必要です。

Active Directoryは自社のオンプレミス環境(社内ネットワーク)にあり、YESODのサーバーから直接アクセスできない場合があります。この状況に対応するため、オンプレミスエージェントは次の2つを担います。

  • YESODのサーバーとの通信路の確立: エージェント側からYESODのサーバーへアクセスし、通信路を確立します。YESODのサーバーは、この通信路を使って、Active Directoryに対して実施したい操作の内容をエージェントへ送信します。
  • Active Directoryのサーバーの操作の代行: エージェントは、YESODのサーバーに代わってActive Directoryへ操作を送ります。アカウントやグループの操作は、このエージェントが実行します。

「SaaS接続」画面でActive Directoryを選ぶと、接続画面に「オンプレミスエージェントのインストールが必要です」という警告が表示されます。接続する前に、インストールを完了してください。

アカウントの作成​

アカウント作成時に、初期パスワードを設定できます。

注意

初期パスワードを設定しない場合、アカウントは無効の状態で作成されます。パスワードなしのログオンを許可するなどの対応をしないと、アカウントを有効にできないためです。作成後は、Active Directoryの管理者が有効化とログオンの案内をしてください。

アカウントの削除​

Active Directoryでアカウントを止める操作には、無効化と削除があります。YESODのアカウント削除タスクは、Active Directory上でアカウントを削除します。

削除が論理削除と物理削除のどちらになるかは、運用しているActive Directory環境で「ゴミ箱」機能が有効かどうかで決まります。

「ゴミ箱」機能の状態削除の実体
有効論理削除
無効物理削除

YESODは一律で削除します。論理削除と物理削除のどちらになるかは、運用中のActive Directory環境の設定に従います。

削除したアカウントを再作成したときの挙動​

削除したときの状態再作成タスクの動作
論理削除(アカウントが残っている)IsDeletedをFalseに戻して復帰させます
物理削除(アカウントが残っていない)アカウントを新規作成します

割当種別​

割当種別は「グループ」と「コンテナーオブジェクト」の2つです。どちらもグループプッシュに対応しています。

割当種別タイプ割当項目説明
グループ複数のグループに所属させるActive Directoryのグループグループへメンバーを追加・削除します
コンテナーオブジェクト優先度の高いグループに所属させるActive DirectoryのOU(組織単位)とUsersコンテナーOUまたはコンテナーへメンバーを追加・削除します

「グループ」の割当​

Active Directoryのグループは、ユーザーやコンピューター・他のグループをまとめて、権限やメール配信を制御する管理単位です。大きく次の2種類があります。

  • セキュリティグループ
    • ファイル、フォルダー、プリンターなどへのアクセス権を管理するために使用します。
    • セキュリティグループへアクセス権限を追加すると、そのグループに属するメンバー全体へアクセス権が適用されます。
  • 配布グループ(ディストリビューショングループ)
    • 主にメールの配信リストとして機能し、Exchangeなどのメールシステムで使用します。
    • 権限を付与する操作はできず、メールの宛先としてのみ使用できます。

プライマリグループは、作成したユーザーに対して既定で割り当てられるグループです。各ユーザーには必ずひとつのプライマリグループが設定され、その所属を外せません。ユーザーを作成した時点で、すでに所属しています。初期値はDomain Usersグループです。プライマリグループを変更するには、PowerShellでコマンドを実行します。

注意

プライマリグループに対する剥奪タスクを単体で実行すると、エラーになりタスクが失敗します。 手動でスキップしてください。削除タスクと同時に実行した場合、剥奪タスクは成功の扱いになりますが、実際には何も実行されません(削除タスクによって削除されます)。

「コンテナーオブジェクト」の割当​

この割当種別では、Active DirectoryのOU(組織単位)およびUsersコンテナーへ、メンバーを追加・削除できます。

  • 組織単位は、組織や職務に応じてオブジェクトをまとめる管理単位です。Active Directoryの管理者が追加・削除できます。
  • コンテナーは組織単位とは別の概念です。オブジェクトをまとめる管理単位である点は同じですが、Active Directory環境の構築時の初期状態から追加・削除ができません。
    • Usersコンテナーは、アカウント作成時にアカウントが既定で追加されるコンテナーです。

オブジェクトの種別としては、コンテナーとOUはまったく別物です。ただしUsersコンテナーとOUは排他的にひとつのみ所属できるため、YESODではひとつの割当種別として扱っています。

同期する項目​

必須項目​

既定で設定される項目です。

項目名keyvalue(デフォルト値)key(Active Directory)備考
ユーザー名user.commonNameuser.emailcn作成時に必須の項目ですが、作成後はYESODからの更新を実行しません(項目を更新してもActive Directory側へ反映されません)。+は使えません
姓user.familyNameuser.familyNameLocalPreferredsn-
名user.givenNameuser.givenNameLocalPreferredgivenName-
メールアドレスuser.mailuser.emailmail-
ログオン名(現在)user.userPrincipalNameuser.emailuserPrincipalName-
ログオン名(以前のバージョン)user.sAMAccountNameString.substringBefore(user.email, "@")sAMAccountName"/ \ [ ] : ; |= , + * ? < >の文字列は使えません。詳細はsAMAccountNameを参照してください

メールアドレスの名寄せには、UPN(ログオン名)を使用します。

任意項目​

属性マッピングで指定できる項目です。「タブ」は、Active Directoryの管理画面で該当の項目が置かれているタブです。

項目名タブkey型属性の仕様備考
表示名全般user.displayNameUnicode文字列属性の仕様-
イニシャル全般user.initialsUnicode文字列属性の仕様-
説明全般user.descriptionUnicode文字列属性の仕様-
事業所全般user.physicalDeliveryOfficeNameUnicode文字列属性の仕様-
電話番号全般user.telephoneNumberUnicode文字列属性の仕様-
Webページ全般user.wWWHomePageUnicode文字列属性の仕様-
国/地域(ISO-3166)住所user.cUnicode文字列属性の仕様想定する値はISO-3166のアスキー2文字のコード(ISなど)ですが、入力チェックはありません。国・地域はc、co、countryCodeがGUIの設定変更でまとめて更新されます。属性同期などでYESODから反映する場合は、不整合が起きないよう運用してください
国/地域(表示)住所user.coUnicode文字列属性の仕様入力例: アイスランドなど。入る値はWindowsの仕様によります
国/地域住所user.countryCode32バイト整数値属性の仕様ユーザーが選択した言語の国コードを指定する属性と記載がありますが、入る値はWindowsの仕様によります
郵便番号住所user.postalCodeUnicode文字列属性の仕様-
都道府県住所user.stUnicode文字列属性の仕様-
市区町村住所user.lUnicode文字列属性の仕様-
私書箱住所user.postOfficeBoxUnicode文字列の配列属性の仕様LDAP上は配列ですが、Windowsで入力する際はSetの入力チェックがかかります
番地住所user.streetAddressUnicode文字列属性の仕様-
自宅電話user.homePhoneUnicode文字列属性の仕様-
自宅(その他)電話user.otherHomePhoneUnicode文字列の配列属性の仕様-
ポケットベル電話user.pagerUnicode文字列属性の仕様-
ポケットベル(その他)電話user.otherPagerUnicode文字列の配列属性の仕様-
携帯電話user.mobileUnicode文字列属性の仕様-
携帯(その他)電話user.otherMobileUnicode文字列の配列属性の仕様-
FAX電話user.facsimileTelephoneNumberUnicode文字列属性の仕様-
FAX(その他)電話user.otherFacsimileTelephoneNumberUnicode文字列の配列属性の仕様-
IP電話電話user.ipPhoneUnicode文字列属性の仕様-
IP電話(その他)電話user.otherIpPhoneUnicode文字列の配列属性の仕様-
メモ電話user.infoUnicode文字列属性の仕様-
会社名組織user.companyUnicode文字列属性の仕様-
「部署」組織user.departmentUnicode文字列属性の仕様-
役職組織user.titleUnicode文字列属性の仕様-
上司組織user.managerDN参照属性の仕様入力されたDNをそのまま更新します。Active Directoryの管理者が正しい値を入力してください
姓ふりがなフリガナuser.msDS_PhoneticLastNameUnicode文字列属性の仕様-
名ふりがなフリガナuser.msDS_PhoneticFirstNameUnicode文字列属性の仕様-
表示名ふりがなフリガナuser.msDS_PhoneticDisplayNameUnicode文字列属性の仕様-
会社名ふりがなフリガナuser.msDS_PhoneticCompanyNameUnicode文字列属性の仕様-
部署名ふりがなフリガナuser.msDS_PhoneticDepartmentUnicode文字列属性の仕様-
拡張項目1なしuser.extensionAttribute1Unicode文字列属性の仕様事前に用意されている拡張項目です
拡張項目2なしuser.extensionAttribute2Unicode文字列属性の仕様事前に用意されている拡張項目です
拡張項目3なしuser.extensionAttribute3Unicode文字列属性の仕様事前に用意されている拡張項目です
拡張項目4なしuser.extensionAttribute4Unicode文字列属性の仕様事前に用意されている拡張項目です
拡張項目5なしuser.extensionAttribute5Unicode文字列属性の仕様事前に用意されている拡張項目です
拡張項目6なしuser.extensionAttribute6Unicode文字列属性の仕様事前に用意されている拡張項目です
拡張項目7なしuser.extensionAttribute7Unicode文字列属性の仕様事前に用意されている拡張項目です
拡張項目8なしuser.extensionAttribute8Unicode文字列属性の仕様事前に用意されている拡張項目です
拡張項目9なしuser.extensionAttribute9Unicode文字列属性の仕様事前に用意されている拡張項目です
拡張項目10なしuser.extensionAttribute10Unicode文字列属性の仕様事前に用意されている拡張項目です
拡張項目11なしuser.extensionAttribute11Unicode文字列属性の仕様事前に用意されている拡張項目です
拡張項目12なしuser.extensionAttribute12Unicode文字列属性の仕様事前に用意されている拡張項目です
拡張項目13なしuser.extensionAttribute13Unicode文字列属性の仕様事前に用意されている拡張項目です
拡張項目14なしuser.extensionAttribute14Unicode文字列属性の仕様事前に用意されている拡張項目です
拡張項目15なしuser.extensionAttribute15Unicode文字列属性の仕様事前に用意されている拡張項目です
その他ADのグループクラスが持つ各種属性なしuser.attr.<指定したい属性のLdap-Display-Name>Unicode文字列-属性のLdap-Display-Nameをそのままkeyとして指定すると、その属性へ値をセットできます。必須項目および任意項目にある属性は対象外です。その場合はattr.を付けずに設定してください。YESODが保証するのは、指定した属性とその値をActive Directoryへ送るところまでです。実際に反映されるかどうかは属性の仕様によります

グループプッシュ(グループ)​

割当種別の「グループ」は、グループプッシュに対応しています。グループプッシュそのものの説明は、グループプッシュとはを参照してください。

グループの親子関係​

YESODで親子関係のあるグループの作成タスクを両方実行すると、Active Directoryに作成されたグループへその親子関係が反映されます。

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

注意

「メンバー」属性で表現される親子関係は、論理的なものです。Active Directoryのツリー上では、これらのグループは同一の階層下に並列で作成されます。

Active Directory管理センターのツリー。親グループと子グループが同一階層に並んでいる

グループの作成先の階層は、「同期する項目」のparentDnで指定できます。グループごとに作成先の階層を制御する場合は、この項目を設定してください。

グループの作成​

グループの作成の挙動は、次の2つで変わります。

  • Active Directoryの「ゴミ箱」機能が有効になっているかどうか
  • 作成先の階層に、同一の名前のグループが存在するかどうか

「ゴミ箱」機能が有効である場合は、次のとおりです。

状況挙動
同一階層上に同じ名前のグループが存在せず、「ゴミ箱」に同一階層から捨てられた同じ名前のグループが存在する「ゴミ箱」内のグループを復元し、情報を更新する
同一階層上に同じ名前のグループが存在せず、「ゴミ箱」に同一階層から捨てられた同じ名前のグループも存在しないグループを新規作成する
同一階層上に同じ名前のグループが存在するそのグループの情報を更新する

「ゴミ箱」機能が無効である場合は、次のとおりです。

状況挙動
同一階層上に同じ名前のグループが存在しないグループを新規作成する
同一階層上に同じ名前のグループが存在するそのグループの情報を更新する

グループの削除​

Active Directoryの「ゴミ箱」機能が有効かどうかで、挙動が変わります。

状況挙動
「ゴミ箱」機能が有効になっているグループを「ゴミ箱」に移動する
「ゴミ箱」機能が有効になっていないグループを完全削除する

グループプッシュで同期する項目​

属性必須keyデフォルト値型例備考
グループ名(cn / commonName)✅cngroup.groupNameLocal文字列-最大64文字です。超過した場合は先頭64文字だけ反映されます。同一階層内の既存グループと重複する値は指定できません
グループ名(昔のバージョンのOS用)✅sAMAccountNamegroup.groupNameLocal文字列-最大20文字です。超過した場合は先頭20文字だけ反映されます。階層に関係なく、同じActive Directoryドメイン内の既存グループと重複する値は指定できません
グループの種類✅groupType"GlobalSecurityGroup"文字列"GlobalSecurityGroup" "DomainLocalSecurityGroup" "UniversalSecurityGroup" "GlobalDistributionGroup" "DomainLocalDistributionGroup" "UniversalDistributionGroup"グループの種類とスコープを制御する値です。種類2つ(セキュリティグループ、配布グループ)×スコープ3つ(ドメインローカルグループ、グローバルグループ、ユニバーサルグループ)の6通りがあります。詳細はgroupTypeを参照してください
作成先のコンテナ・OU-parentDn-文字列ドメイン直下に作成する場合: "DC=yesodco,DC=local" 特定のOUの配下に作成する場合: "OU=Groups,DC=yesodco,DC=local"グループの作成先となるコンテナー・OUなどのDistinguishedNameを指定します。未指定の場合は、業務アセット作成時に指定した「BaseDn」の直下に作成します。「BaseDn」の配下ではない要素は指定できません。グループ作成タスクの実行時のみ考慮されます。作成後に値を変更しても、属性同期の対象にはなりません
メールアドレス-mail-文字列-グループ自体のメールアドレスです
説明-description-文字列--
注意書き(メモ)-info-文字列--
グループの管理者-managedBy-文字列"CN=yesodadmin,CN=Users,DC=yesodco,DC=local"DistinguishedName形式の文字列で指定します
その他ADのグループクラスが持つ各種属性-attr.<指定したい属性のLdap-Display-Name>-文字列-group classで定義されている属性のLdap-Display-Nameをそのままkeyとして指定すると、その属性へ値をセットできます。cn sAMAccountName groupType mail description info managedBy は対象外です。その場合はattr.を付けずに設定してください。YESODが保証するのは、指定した属性とその値をActive Directoryへ送るところまでです。実際に反映されるかどうかは属性の仕様によります

グループプッシュ(コンテナーオブジェクト)​

割当種別の「コンテナーオブジェクト」は、グループプッシュに対応しています。

グループプッシュで作成できるのは、組織単位(Organizational Unit)のみです。コンテナーの作成は、Active Directoryの仕様上できません。

OUの親子関係​

YESODで親子関係のあるグループの作成タスクを両方実行すると、Active Directoryに作成されたOUへその親子関係が反映されます。Active Directoryでは、親OUの配下の階層に子OUが追加されます。

Active Directory管理センターで、親OUの配下に子OUが作成されている

子OUは必ず親OUの配下に作成されます。親OUが存在しない最上位のOUについては、作成先の階層を「同期する項目」のparentDnで指定できます。作成先の階層を制御する場合は、この項目を設定してください。

コンテナーオブジェクトの作成​

OUの作成の挙動は、次の2つで変わります。

  • Active Directoryの「ゴミ箱」機能が有効になっているかどうか
  • 作成先の階層に、同一の名前のOUが存在するかどうか

「ゴミ箱」機能が有効である場合は、次のとおりです。

状況挙動
同一階層上に同じ名前のOUが存在せず、「ゴミ箱」に同一階層から捨てられた同じ名前のOUが存在する「ゴミ箱」内のOUを復元し、情報を更新する
同一階層上に同じ名前のOUが存在せず、「ゴミ箱」に同一階層から捨てられた同じ名前のOUも存在しないOUを新規作成する
同一階層上に同じ名前のOUが存在するそのOUの情報を更新する

「ゴミ箱」機能が無効である場合は、次のとおりです。

状況挙動
同一階層上に同じ名前のOUが存在しないOUを新規作成する
同一階層上に同じ名前のOUが存在するそのOUの情報を更新する

コンテナーオブジェクトの削除​

Active Directoryの「ゴミ箱」機能が有効かどうかで、挙動が変わります。

状況挙動
「ゴミ箱」機能が有効になっているOUを「ゴミ箱」に移動する
「ゴミ箱」機能が無効になっているOUを完全削除する

コンテナーオブジェクトのグループプッシュで同期する項目​

属性必須keyデフォルト値型例備考
組織単位名(cn / ou)✅namegroup.groupNameLocal文字列-最大64文字です。超過した場合は先頭64文字だけ反映されます。同一階層内の既存OUと重複する値は指定できません
作成先のコンテナ・OU-parentDn-文字列ドメイン直下に作成する場合: "DC=yesodco,DC=local" 特定のOUの配下に作成する場合: "OU=Groups,DC=yesodco,DC=local"OUの作成先となるコンテナー・OUなどのDistinguishedNameを指定します。未指定の場合は、業務アセット作成時に指定した「BaseDn」の直下に作成します。この値が考慮されるのは、そのOUが階層構造の最上位のOUである場合のみです。子要素の場合はparentDnの値に関係なく、親要素の配下に作成されます。「BaseDn」の配下ではない要素は指定できません。OU作成タスク・移動タスクの実行時のみ考慮されます。作成後に値を変更しても、属性同期の対象にはなりません
説明-description-文字列--
OUの管理者-managedBy-文字列"CN=yesodadmin,CN=Users,DC=yesodco,DC=local"DistinguishedName形式の文字列で指定します
その他ADのOUクラスが持つ各種属性-attr.<指定したい属性のLdap-Display-Name>-文字列-organizationalUnit classで定義されている属性のLdap-Display-Nameをそのままkeyとして指定すると、その属性へ値をセットできます。name description managedBy は対象外です。その場合はattr.を付けずに設定してください。YESODが保証するのは、指定した属性とその値をActive Directoryへ送るところまでです。実際に反映されるかどうかは属性の仕様によります

関連ページ​