ADS_AUTHENTICATION_ENUM列挙 (iads.h)

ADS_AUTHENTICATION_ENUM列挙は、ディレクトリ サービス オブジェクトへのバインドに ADSI で使用される認証オプションを指定します。 IADsOpenDSObject または ADsOpenObject を呼び出して ADSI オブジェクトにバインドする場合は、少なくとも 1 つのオプションを指定します。 一般に、プロバイダーによって実装が異なります。 ここに記載されているオプションは、ADSI SDK に含まれる Microsoft が提供するプロバイダーに適用されます。 詳細については、「 ADSI システム プロバイダー」を参照してください。

構文

typedef enum __MIDL___MIDL_itf_ads_0000_0000_0018 {
  ADS_SECURE_AUTHENTICATION = 0x1,
  ADS_USE_ENCRYPTION = 0x2,
  ADS_USE_SSL = 0x2,
  ADS_READONLY_SERVER = 0x4,
  ADS_PROMPT_CREDENTIALS = 0x8,
  ADS_NO_AUTHENTICATION = 0x10,
  ADS_FAST_BIND = 0x20,
  ADS_USE_SIGNING = 0x40,
  ADS_USE_SEALING = 0x80,
  ADS_USE_DELEGATION = 0x100,
  ADS_SERVER_BIND = 0x200,
  ADS_NO_REFERRAL_CHASING = 0x400,
  ADS_AUTH_RESERVED = 0x80000000
} ADS_AUTHENTICATION_ENUM;

定数

 
ADS_SECURE_AUTHENTICATION
値: 0x1
セキュリティで保護された認証を要求します。 このフラグを設定すると、WinNT プロバイダーは NT LAN Manager (NTLM) を使用して
クライアントを認証します。 Active Directory では、Kerberos (場合によっては NTLM) を使用してクライアントを認証します。 タイミング
ユーザー名とパスワードが NULL の場合、ADSI はセキュリティを使用してオブジェクトにバインドします
呼び出し元スレッドのコンテキスト。これは、
アプリケーションが実行されているか、呼び出し元のスレッドが表すクライアント ユーザー アカウントの。
ADS_USE_ENCRYPTION
値: 0x2
ADSI でネットワーク経由のデータ交換に暗号化を使用する必要があります。

メモ このオプションは、WinNT プロバイダーではサポートされていません。

 
ADS_USE_SSL
値: 0x2
チャネルは、Secure Sockets Layer (SSL) を使用して暗号化されます。 Active Directory では、証明書が必要です。
SSL をサポートするためにサーバーをインストールする。

このフラグが ADS_SECURE_AUTHENTICATION フラグと組み合わされていない場合、
指定された資格情報は NULL であり、バインドは匿名で実行されます。 このフラグ
ADS_SECURE_AUTHENTICATION フラグと組み合わされ、指定された資格情報は
NULL の場合、呼び出し元スレッドの資格情報が使用されます。

メモ このオプションは、WinNT プロバイダーではサポートされていません。

 
ADS_READONLY_SERVER
値: 0x4
書き込み可能なドメイン コントローラーは必要ありません。 アプリケーションで Active からのデータの読み取りまたはクエリのみを行う場合
ディレクトリでは、このフラグを使用してセッションを開く必要があります。 これにより、アプリケーションは
Read-Only DC (RODC)。

Windows Server 2008 では、ADSI は Read-Only DC (RODC) または書き込み可能な DC のいずれかに接続しようとします。 This
では、アクセスに RODC を使用でき、アプリケーションをブランチまたは境界ネットワークで実行できます
(DMZ、非武装地帯、およびスクリーン サブネットとも呼ばれます)、を使用して直接接続する必要はありません。
書き込み可能 DC。

RODC 互換性のためのプログラミングの詳細については、次を参照してください。
読み取り専用ドメイン コントローラー アプリケーション互換性ガイド
ADS_PROMPT_CREDENTIALS
値: 0x8
このフラグはサポートされていません。
ADS_NO_AUTHENTICATION
値: 0x10
認証を要求しません。 プロバイダーは、匿名ユーザーとしてクライアントを にバインドしようとする場合があります。
target オブジェクト。 WinNT プロバイダーでは、このフラグはサポートされていません。 Active Directory は、次の間の接続を確立します。
クライアントと対象オブジェクトが、認証を実行しません。 このフラグを設定すると、要求に相当します
すべてのユーザーをセキュリティ コンテキストとして示す匿名バインディング。
ADS_FAST_BIND
値: 0x20
このフラグが設定されている場合、ADSI は objectClass に対してクエリを実行しません
プロパティであるため、完全なオブジェクトではなく、すべての ADSI オブジェクトでサポートされている基本インターフェイスのみが公開されます
サポート。 ユーザーは、このオプションを使用して、関連する一連のオブジェクト操作のパフォーマンスを向上させることができます
ベース インターフェイスのメソッドのみ。 ただし、ADSI は、要求されたオブジェクトのいずれかが実際に
はサーバー上に存在します。 詳細については、「
バッチ書き込み/変更操作の高速バインド オプション

このオプションは、Exchange 5.5 など、Active Directory 以外のディレクトリ サービスにバインドする場合にも役立ちます。
objectClass クエリは失敗します。
ADS_USE_SIGNING
値: 0x40
データの整合性を検証します。 ADS_SECURE_AUTHENTICATION フラグも設定する必要があります
署名を使用する場合は 。

メモ このオプションは、WinNT プロバイダーではサポートされていません。

 
ADS_USE_SEALING
値: 0x80
Kerberos を使用してデータを暗号化します。 ADS_SECURE_AUTHENTICATION フラグも設定する必要があります
シールを使用する。

メモ このオプションは、WinNT プロバイダーではサポートされていません。

 
ADS_USE_DELEGATION
値: 0x100
ADSI がユーザー セキュリティ コンテキストを委任できるようにします。これは、ドメイン間でオブジェクトを移動するために必要です。
ADS_SERVER_BIND
値: 0x200
Active Directory DNS サーバー名が LDAP パスに渡されると、A レコードの検索が強制され、
は、ホスト名を解決するときに SRV レコード参照をバイパスします。

メモ このオプションは、WinNT プロバイダーではサポートされていません。

 
ADS_NO_REFERRAL_CHASING
値: 0x400
このフラグを指定して、接続の有効期間中に参照の追跡をオフにします。 ただし、このフラグが
が指定されている場合でも、ADSI では、設定時にコンテナー列挙の参照追跡動作の設定が許可されます
でADS_OPTION_REFERRALSを使用する
ADS_OPTION_ENUM (コンテナー列挙に記載されているとおり)
紹介を追いかけて
IADsObjectOptions::SetOption)そして
個別に検索する (に記載されているとおり)
IDirectorySearch を使用した紹介の追跡)。

メモ このオプションは、WinNT プロバイダーではサポートされていません。

 
ADS_AUTH_RESERVED
値: 0x80000000
予約済み。

注釈

ADS_SECURE_AUTHENTICATION フラグは、ADS_READONLY_SERVER、ADS_PROMPT_CREDENTIALSADS_FAST_BINDなどの他のフラグと組み合わせて使用できます。

サーバーレス バインドとは、クライアントがバインド文字列で Active Directory サーバーを明示的に指定せずに Active Directory オブジェクトにバインドしようとするプロセスを指します。 これは、LDAP プロバイダーがクライアントに最適なドメイン コントローラー (DC) を見つけるために Windows のロケーター サービスに依存しているために可能です。 ただし、サーバーレス バインド機能を利用するには、クライアントに Active Directory ドメイン コントローラー上のアカウントが必要であり、サーバーレス バインドで使用される DC は常に既定のドメインに配置されます。つまり、バインディングを実行するスレッドの現在のセキュリティ コンテキストに関連付けられているドメイン。

VBScript はタイプ ライブラリからデータを読み取ることができないため、VBScript アプリケーションは上記で定義したシンボリック定数を認識しません。 代わりに数値定数を使用して、VBScript アプリケーションで適切なフラグを設定します。 シンボリック定数を適切なプログラミングプラクティスとして使用するには、Visual Basic Scripting Edition アプリケーションで、ここで行うような定数の明示的な宣言を記述します。

次のコード例は、 IADsOpenDSObject を使用して、WinNT プロバイダーのセキュリティで保護された認証を使用して fabrikam 上のオブジェクトを開く方法を示しています。

Const ADS_SECURE_AUTHENTICATION = 1

Dim dso As IADsOpenDSObject
Dim domain As IADsDomain
 
Set dso = GetObject("WinNT:")
Set domain = dso.OpenDSObject("WinNT://Fabrikam", vbNullString, vbNullString, ADS_SECURE_AUTHENTICATION)

次のコード例は、 " JeffSmith" としてバインドされたユーザーを検証するために 、ADS_SECURE_AUTHENTICATION フラグを ADsOpenObject と共に使用する方法を示しています。 ユーザー名には、UPN 形式 "JeffSmith@Fabrikam.com"、および識別名形式 "CN=JeffSmith,DC=Fabrikam,DC=COM" を指定できます。

IADs *pObject = NULL;
HRESULT hr;
hr = ADsOpenObject(_bstr_t("LDAP://CN=JeffSmith, DC=fabrikam, DC=com"),
                   NULL,
                   NULL,
                   ADS_SECURE_AUTHENTICATION, 
                   IID_IADs,
                   (void**) &pObject);
if (hr != S_OK)
    {} // Handle open object errors here.
else
    {} // Object was retrieved, continue processing here.

要件

要件
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
Header iads.h

こちらもご覧ください

ADSI 列挙

ADSI システム プロバイダー

ADsOpenObject

IADsAccessControlEntry

IADsOpenDSObject