次の方法で共有


SAP アダプターを使用したセキュリティで保護されたプログラミング

アダプター サービスの追加リファレンス Visual Studio プラグインを使用する場合に資格情報を保護する方法

アダプター サービス参照の追加プラグインを使用して WCF クライアントを作成する場合は、SAP システムのユーザー名とパスワードを指定する必要があります。 これは、[アダプターの構成] ダイアログ ボックスの [セキュリティ] タブからのみ行う必要があります。 [URI] フィールドに直接ではなく、[セキュリティ] タブから SAP 資格情報を入力することで、次のことを確認できます。

  • 資格情報は、[アダプター サービス参照プラグインの追加] ダイアログ ボックスの [Uri ] フィールドには表示されません。このダイアログ ボックスでは、コンピューター画面にアクセスできるすべてのユーザーが資格情報を読み取ることができます。

  • 資格情報は、アダプター サービス参照プラグインの追加によって生成される構成ファイルには表示されません。

    アダプター サービス参照プラグインを使用して WCF クライアントを生成する方法 (SAP システムのユーザー名とパスワードの入力方法など) の詳細については、「Visual Studio で SAP 操作のメタデータを取得する」を参照してください。

コードで資格情報を設定するためのベスト プラクティスとは

WCF には ClientCredentials クラスが用意されておりChannelFactory などのクライアント通信オブジェクトがサービスで自身を認証するために使用する資格情報を構成するのに役立ちます。 ClientCredentials クラスを使用すると、WCF がそのオブジェクトのチャネル スタックで指定されている認証メカニズムを受け取り、クライアントとサービス間の交換に適用されるようにします。

SAP アダプターは使用中のアプリケーションでインプロセスでホストされるため、 ClientCredentials クラスを使用して、使用するアプリケーションが使用するクライアント通信オブジェクトに資格情報を設定することは必須ではありません。 ただし、これを行うことをお勧めします。

SAP アダプターでは、AcceptCredentialsInUri バインド プロパティを使用して ClientCredentials クラスを使用することをお勧めします。 このプロパティは、接続 URI で、アダプターが SAP システムのユーザー名とパスワードを受け入れるかどうかを指定します。 AcceptCredentialsInUri の既定値は false です。つまり、接続 URI に資格情報が含まれている場合、アダプターは例外をスローします。 AcceptCredentialsInUritrue に設定して、接続 URI に資格情報を指定できます。 実際には、特定のケースでこれを行う必要があります。たとえば、受信シナリオでサービス ホスト エンドポイントまたは IReplyChannel に 接続 URI を指定する場合などです。

次の例は、 ClientCredentials クラスを使用して、WCF クライアント上の SAP システムの資格情報を設定する方法を示しています。

SAPBinding binding = new SAPBinding();  
  
// Set endpoint address  
EndpointAddress endpointAddress = new EndpointAddress("sap://CLIENT=800;LANG=EN;@a/YourSAPHost/00?RfcSdkTrace=False&AbapDebug=False&UseSapGui=Without");  
  
// Create client and set credentials  
RfcClient rfcClient = new RfcClient(binding, endpointAddress);  
rfcClient.ClientCredentials.UserName.UserName = "YourUserName";  
rfcClient.ClientCredentials.UserName.Password = "YourPassword";  

プロセス境界を越えてより安全なデータ交換を提供するにはどうすればよいですか?

SAP アダプターは、それを使用するアプリケーションまたはサービスを使用してインプロセスでホストされます。 アダプターはコンシューマーとインプロセスでホストされるため、コンシューマーと SAP アダプターの間で交換されるメッセージに対してセキュリティを提供する必要はありません。 ただし、使用しているアプリケーションまたはサービスが、プロセス境界を越えて機密性の高いデータベース情報を含むメッセージを別のサービスまたはクライアントに送信する場合は、環境内でこのデータを適切に保護するための対策を講じます。 Windows Communication Foundation (WCF) には、クライアントとサービスの間で送信されるメッセージをセキュリティで保護するための多くのオプションが用意されています。 WCF のクライアントとサービスの間で送信されるメッセージをセキュリティで保護する方法の詳細については、「 サービスとクライアントのセキュリティ保護」を参照してください。 WCF で提供されるセキュリティ機能の詳細については、「 Windows Communication Foundation のセキュリティ」を参照してください。

参照

SAP アダプターをセキュリティで保護するためのベスト プラクティス
SAP アプリケーションをセキュリティで保護する