Share via


使用可能な認証モード

ビジネス データ カタログを使用して Web サービスに接続する場合、以下の認証モードを使用できます。

パススルー認証

パススルー認証は、クライアントの認証情報をバックエンド サーバーに渡すオペレーティング システムの機能です。ビジネス データ カタログは、データベース接続と Web サービス接続の両方についてパススルー認証をサポートしています。パススルー認証を使用する場合は、エンド ユーザーの ID で認証されます。

Web ページからビジネス データ カタログにアクセスすると、ビジネス データ カタログは Microsoft インターネット インフォメーション サービス (IIS) のワーカー プロセス w3wp.exe で実行されます。このプロセスの ID は、ログオン ユーザーを偽装している IIS アプリケーション プール アカウントです。ビジネス データ カタログがバックエンド サーバーに対して認証を行うときにログオン ユーザーの ID が失われることを回避するには、IIS を実行しているサーバーと他のコンピュータの間で Kerberos 委任を有効にする必要があります。Kerberos 委任により、受信側のサーバーが、認証要求を適切な場所に送信できるようになります。

ビジネス データ カタログは、クロールのために使用される場合、フィルタのデーモン プロセス mssdmn.exe で実行されます。フィルタ デーモン プロセスのスレッドは、バックエンド コンテンツ ソースにアクセスするため、バックエンド コンテンツ ソースに関連付けられているコンテンツ アクセス アカウントを偽装します。

パススルー認証を使用する場合の欠点は、オペレーティング システムで提供されるのがユーザー名とパスワードだけであることです。このため、企業で要素が 2 つある認証 (ユーザー名とパスワードに加えて、特定の個人情報を持っていることをユーザーに要求する場合) を使用する場合、パススルー認証は使用できません。

パススルー認証は簡単に使用できるため、テスト環境での使用には適しています。また、Web サービスまたは対象のサーバーが匿名認証や SSL 接続を使用している場合にも使用できます。

RevertToSelf 認証

ユーザーが Windows 認証を使用してログオンすると、IIS はその特定のアカウントを偽装します。IIS はアプリケーション プール ID で実行されている間はログオン ユーザーを偽装し、要求は、偽装されたユーザーの下で実行され、次の処理に渡されます。

RevertToSelf 認証を使用すると、この偽装を元に戻し、IIS アプリケーション プールに構成されている、元になっているアカウントとして認証することができます。

警告

認証用のユーザー定義のコードに RevertToSelf() を使用すると、アプリケーション プール ID に特権を付与することにより、ユーザーにバックエンド サーバーのシステム レベルの特権を付与できます。ユーザー定義のコードは、実稼動システムでを実行する前に徹底したテストを実施してください。

WindowsCredentials 認証

Microsoft Office SharePoint Server 2007 は既定のシングル サインオン (SSO) サービスの Windows 資格情報を使用して認証を行います。Web サービスで Windows 認証を使用する場合はこのモードにします。このモードにする際は、事前に SSO をセットアップする必要があります。Windows 資格情報を使用する場合、ビジネス データ カタログは、SSO から返されるユーザー名フィールドを domain\user に分割し、次に、ドメイン、ユーザー名、パスワードを使用して認証を実行します。

資格情報認証

Office SharePoint Server 2007 は、既定の SSO サービスから提供される Windows 認証以外の資格情報を使用して、Web サービス システムを認証します。これらの資格情報は、Web サービス サーバーの構成に応じて、基本認証またはダイジェスト認証に使用されます。基本認証とダイジェスト認証では資格情報が適切に保護されないため、SSL と IPSec の両方またはそのどちらかを使用して、Web サービス サーバーと、ビジネス データ カタログを実行するサーバーとの間の通信をセキュリティで保護する必要があります。

Web サービスで Windows 資格情報以外の認証を使用する場合はこのモードを使用します。このモードを使用する場合は、事前に SSO をセットアップする必要があります。資格情報を使用する場合、WindowsCredentials モードの場合のように、ビジネス データ カタログは SSO から返されたユーザー名フィールドを domain\user に分割しようとせず、SSO からのユーザー名とパスワードを直接使用して認証します。

アプリケーション レベルの認証

ビジネス データ カタログでは、2 次的な、アプリケーション レベルの認証もサポートされます。この認証は、システムで構成されている 1 次認証に追加して使用されます。これは特に、バックエンド アプリケーションで、メソッド呼び出しの中でセキュリティ資格情報を渡す必要がある状況などで役立ちます。たとえば、ユーザーの認証や、HTTP または SOAP ヘッダーの資格情報を検索する Web メソッドがあります。アプリケーション レベルの認証を有効にするには、以下の手順を実行します。

  1. LobSystemInstance の SecondarySsoApplicationId プロパティに、資格情報を格納しているシングル サインオンのアプリケーションを指定します。

  2. バックエンド アプリケーションで、メソッド呼び出しの中でセキュリティ資格情報を渡す必要がある場合は、Username フィルタと Password フィルタを定義し、それらを入力パラメータと関連付けます。

  3. バックエンド アプリケーションで、HTTP ヘッダーとしてセキュリティ資格情報を渡す必要がある場合は、メソッドで HttpUsername プロパティと HttpPassword プロパティを定義します。

  4. バックエンド アプリケーションで、SOAP ヘッダーとしてセキュリティ資格情報を渡す必要がある場合は、メソッドで SOAPUsername プロパティと SOAPPassword プロパティを定義します。

UserContext フィルタ

UserContextフィルタは、メソッドによって返されるインスタンスを現在のユーザーのコンテキストに制限します。このフィルタは、現在の Microsoft Windows ユーザーのドメイン名およびユーザー名をメソッド呼び出しに追加するよう、ビジネス データ カタログに指示します。

メタデータ作成者が、ユーザーが制御可能なフィルタとしてユーザー名を受け付け、機密性の高い個人データを返すメタデータを作成すると、ユーザーは他のユーザーのデータを見ることができます。これを防ぐには、UserContext フィルタを使用してユーザー名をメソッド呼び出しに渡します。

詳細については、「FilterDescriptor」を参照してください。

重要

ビジネス データ カタログで WSDL に接続できないという、アプリケーション定義関連のインポート エラーが発生する場合、WSDL がパブリックでない可能性があります。このような場合、このトピックで説明したいずれかのモードを使用して認証の設定を行うか、WSDL をローカル システムに手動でコピーして WSDLFetchURL をファイル (URL) に指定します。

See Also

概念

ビジネス データ カタログ : セキュリティ モデル

カスタム HTTP および SOAP ヘッダーのサポート