このトピックでは、インバウンドのエンタープライズ Active Directory (AD) を ID プロバイダーとして接続する方法について説明します。この接続により、AD の組織とアカウントを IDaaS に同期し、AD ID を使用して IDaaS またはアプリケーションにログインできます。
AD について
Active Directory は、Microsoft Windows Server オペレーティングシステムのコアディレクトリサービスです。エンタープライズネットワーク環境に対して、一元化された ID 認証、権限付与、およびディレクトリ管理を提供します。ネットワークエンドポイント 機能を使用すると、ポートをパブリックインターネットに公開することなく、AD データ同期とデリゲート認証を実現できます。
AD への接続
ステップ 1: AD への接続
IDaaS コンソールにログインします。ターゲットインスタンスを選択し、[操作] 列の Manage をクリックします。
をクリックし、リストで AD を見つけ、[追加] をクリックします。

[AD に接続] パネルで、次のパラメーターを設定します。

Display Name: ユーザーが IDaaS にログインして使用する際に表示される名前です。
Network Access Endpoint: IDaaS が AD サーバーにアクセスできるようにするには、IDaaS インスタンスのアウトバウンド IP アドレスを AD サーバーの IP ホワイトリストに追加する必要があります。共有エンドポイントを使用する IDaaS インスタンスには、共有の固定パブリックアウトバウンド IP アドレスが提供されます。専用エンドポイントを使用する IDaaS インスタンスには、専用のカスタムプライベートアウトバウンド IP アドレスとパブリックアウトバウンド IP アドレスが提供されます。専用エンドポイントで設定された IDaaS インスタンスは、プライベートネットワーク経由で Alibaba Cloud VPC にアクセスできます。これにより、パブリックポートを開かずに AD へのアクセスを許可できます。詳細については、「ネットワークエンドポイント」をご参照ください。
Server address: AD があるサーバーのアドレスです。AD は通常、ポート 389 (例: 127.0.0.1:389) を使用します。LDAPS または StartTLS が有効になっている場合は、通常ポート 636 が使用されます。
StartTLS を有効にする: 接続のセキュリティを向上させるために、このオプションを有効にすることをお勧めします。詳細については、このトピックの「AD セキュリティ設定」セクションをご参照ください。
Administrator Account: IDaaS はこの AD 管理者アカウントを使用して、データ同期またはデリゲート認証のために AD 情報を読み取ります。アカウントには少なくとも読み取り権限が必要です。example@example.com などのユーザープリンシパル名 (UPN) 形式と、cn=admin,ou=Technical Department,dc=example,dc=com などの識別名 (DN) 形式がサポートされています。
Administrator Password: 管理者アカウントのログインパスワードです。
ステップ 2: シナリオの選択
AD で有効にする機能を選択します。

機能の説明
同期方向: 選択した AD ソースから IDaaS のこのノードにユーザーまたは組織データをインポートします。ソースノードには、AD ノードの DN を入力する必要があります。AD ルートノードの DN は通常、dc=example,dc=com の形式です。ここで、example.com はドメインです。
増分同期: IDaaS は AD ユーザーまたは組織データの変更をリッスンし、約 10 分ごとに同期タスクを実行して、変更されたデータを IDaaS にインポートします。1 回の増分同期で大量のデータが変更された場合、処理が遅延することがあります。データ整合性を確保するために、定期的に完全同期を実行することをお勧めします。
フィールドマッピングステップでマッピング識別子を設定できます。この識別子は、IDaaS アカウントのフィールド (電話番号など) を AD ユーザーアカウントのフィールドと照合します。一致が見つかった場合、アカウントはアタッチされ、IDaaS アカウントは更新で上書きされます。それ以外の場合は、新しい IDaaS アカウントが作成されます。
増分同期を初めて実行すると、完全同期が自動的に実行されます。
単一のアカウントレコードのインポートに失敗しても、他のデータのインポートには影響しません。
同期ログで失敗情報を表示できます。
AD での削除イベントに関するメッセージを受信するには、AD のごみ箱を有効にする必要があります。この機能を有効にする方法の詳細については、このトピックの「増分同期」セクションをご参照ください。
デリゲート認証: ユーザーは AD のユーザー名とパスワードを使用して IDaaS にログインできます。
自動パスワード更新: ユーザーが AD デリゲート認証を使用して IDaaS にログインしたときに、IDaaS アカウントにパスワードがない場合、AD ユーザーのパスワードで更新されます。AD パスワードは IDaaS のパスワードポリシー要件を満たす必要があります。そうでない場合、パスワードは自動的に更新されません。
高度な設定
ユーザーまたは組織の
ObjectClass:ObjectClassを使用して、オブジェクトがユーザーか組織かを定義できます。たとえば、クエリ結果でObjectClass=userを持つオブジェクトはユーザーと見なされます。通常、この設定を変更する必要はありません。ユーザーログイン ID: ユーザーが AD デリゲート認証を使用して IDaaS にログインすると、IDaaS はこれらのプロパティを使用して AD 内のユーザーをクエリし、パスワードを照合します。パスワードが正しい場合、ユーザーは IDaaS へのログインを許可されます。コンマ (,) を使用して複数のプロパティを区切ることができます。これにより OR 関係が作成され、ユーザーは指定されたプロパティのいずれかを使用してログインできます。複数のプロパティが同じ AD ユーザーに対応していることを確認してください。そうでない場合、ユーザーはログインできません。
ユーザーフィルター:
filter文をカスタマイズして、さまざまな組織から特定のユーザーを IDaaS に同期できます。フィルター条件を満たすユーザーのみが IDaaS に同期されます。デフォルトでは、filter文には AND 関係のObjectClass条件が含まれています。[詳細の表示] をクリックして、完全な文を表示できます。詳細については、「フィルタリング」をご参照ください。
ステップ 3: フィールドマッピング
IDaaS に既存のデータがあり、AD ユーザーまたは組織を既存の IDaaS アカウントまたは組織にアタッチする必要がある場合は、フィールドマッピングを設定できます。このステップを使用して、AD の特定のフィールドのデータを IDaaS アカウントのデータとして使用することもできます。たとえば、AD ユーザーの電話番号を IDaaS アカウントのユーザー名として使用できます。マッピング識別子機能を使用するには、次の図に示す電話フィールドのように、手動で有効にする必要があります。

詳細については、「フィールドマッピング」をご参照ください。
AD セキュリティ設定
デフォルトでは、LDAP データは送信中に暗号化または保護されません。これにより、プレーンテキストデータが傍受されるリスクが生じます。LDAPS または StartTLS を使用すると、データ送信のセキュリティを大幅に向上させることができます。AD で証明書を設定した後、IDaaS で LDAPS または StartTLS を使用できます。この機能を有効にすることを強くお勧めします。
サーバーマネージャーで、ロールをインストールし、サーバーをドメインコントローラーにスペックアップし、証明書を追加します。署名アルゴリズムとして SHA256 を使用します。これらのステップを完了すると、証明書の設定は完了です。
証明書を設定した後、ワンクリックで IDaaS で証明書の指紋を取得できます。これにより、IDaaS と AD 証明書の間に信頼関係が確立され、偽造証明書のリスクが軽減されます。

AD インターフェイスに表示される証明書の指紋が IDaaS から取得したものと同じであることをすばやく確認するには、次のスクリプトを実行します:
openssl s_client -connect server_host:port | openssl x509 -noout -pubkey | openssl pkey -pubin -outform DER | openssl dgst -sha256AD カスタム設定
ObjectClass
AD では、ObjectClass は属性のコレクションです。すべてのオブジェクトには ObjectClass が必要です。ObjectClass を使用して、オブジェクトをユーザー、組織、またはコンピューターとして定義できます。たとえば、次の図に示すユーザーは、フィルター文 objectclass=person または objectclass=user で見つけることができます。AD オブジェクトの [プロパティ] で ObjectClass を表示できます。
ログイン ID
ユーザーが AD デリゲート認証を使用して IDaaS にログインすると、IDaaS はこれらのプロパティを使用して AD 内のユーザーをクエリし、パスワードを照合します。パスワードが正しい場合、ユーザーは IDaaS へのログインを許可されます。
通常、ログインには userPrincipalName、sAMAccountName、電話番号、メールボックス、従業員 ID などのプロパティを使用できます。必要に応じて、ID プロバイダーの作成時または デリゲート認証 設定でこれらのプロパティを定義できます。複数のプロパティを使用する場合は、それらが一意であり、同じ AD ユーザーに対応していることを確認してください。そうでない場合、ユーザーはデリゲート認証を使用できません。
フィルター
ObjectClass と filter への変更は、AD フィルター条件に影響します。完全同期中に、フィルター条件を満たさない IDaaS アカウントと組織は削除されます。変更を加える前に、同期保護の制限を調整し、フィルター結果が期待どおりであることを完全にテストしてください。たとえば、テスト用に別の IDaaS インスタンスを使用できます。
はじめに
異なる組織から特定のユーザーのみを IDaaS に同期するには、カスタム filter 文を定義できます。条件を満たすユーザーのみが IDaaS に同期されます。デフォルトでは、filter 文には、AND オペレーターを使用して他の条件と結合される ObjectClass 条件が含まれています。[詳細の表示] をクリックして、完全な文を表示できます。

次のセクションでは、AD filter の一般的な構文と文について説明します。
一般的な構文
オペレーター | 意味 | 例 |
= | 等しい | (cn=Alice) |
>= | 以上 | (pwdLastSet>=1319563845000000000) |
<= | 以下 | (sAMAccountName<=a) |
& | AND 関係。すべての条件を満たす必要があります。 | (&(cn=CN*)(memberOf=cn=Test,ou=HQ,dc=Domain,dc=com)) |
| | OR 関係。いずれかの条件を満たす必要があります。 | (|(cn=Test*)(cn=Admin*)) |
! | NOT 関係。どの条件も満たしてはなりません。 | (!(memberOf=cn=Test,ou=HQ,dc=Domain,dc=com)) |
一般的な文
シナリオ | 例 |
ユーザー名が "CN" で始まる | (cn=CN*) |
特定のメールボックスを持つユーザー | (|(proxyAddresses=*:alice@example.com)(mail=alice@example.com)) |
特定のグループ内のユーザー | (memberOf=cn=Test,ou=HQ,dc=Domain,dc=com) |
AD 同期設定
Base DN の取得
Base DN は、AD 内のノードのパス識別子です。IDaaS は、このノードの下でのみクエリやデータ同期などの操作を実行します。同期方向設定でソースノードの Base DN を設定できます。
DN の形式は ou=Some Organization,dc=example,dc=com です。ルートノードの DN は通常、dc=example,dc=com の形式です。ここで、example.com はドメインです。次の図に示すように、AD 管理センターでノードの DN を直接表示することもできます:
ノードのパスが変更されると、その Base DN も変更されます。ノードパスの変更による AD データ同期エラーを防ぐために、IDaaS はソースノードの Base DN を設定するときに、ノードの ObjectGuid をノードの指紋として使用します。Base DN が変更され、ノードの指紋と一致しなくなった場合、データ同期はブロックされます。ソースノードを再設定すると、同期を続行できます。
増分同期
IDaaS のユーザーまたは組織データが変更されると、データが設定されたソースノードの範囲内にある場合、IDaaS は変更されたデータを AD にプッシュします。