以下のシナリオで実装する最適な認証方法を教えてください。
要件は、世界中の複数の国に WCF Web サービスを展開する必要があることです。
注 :サービスが展開されるすべてのマシンは、同じドメインにあります。
1.このサービスにアクセスするクライアントは、同じドメインに属している必要があります。そうでない場合、認証は失敗します。
現在、「Windows」を使用してメッセージ セキュリティ モードを使用しています。
以下のシナリオで実装する最適な認証方法を教えてください。
要件は、世界中の複数の国に WCF Web サービスを展開する必要があることです。
注 :サービスが展開されるすべてのマシンは、同じドメインにあります。
1.このサービスにアクセスするクライアントは、同じドメインに属している必要があります。そうでない場合、認証は失敗します。
現在、「Windows」を使用してメッセージ セキュリティ モードを使用しています。
イントラネットで実行していて、Windows アプリケーションがサービスに直接接続することを想定しているため、Windows 認証を使用するトランスポート セキュリティを選択します。
いくつかのガイダンスについては、パターンとプラクティスの改善 Web サービス セキュリティ ガイドを参照してください。
承認が必要かどうかまだ疑問です。承認なしで Windows 認証を使用すると、サービスが簡素化されますが、Windows アプリケーションを使用しているかどうかに関係なく、すべてのドメイン ユーザーがサービスにアクセスできます。確かに、彼らはエンドポイントとメッセージ構造の知識を持っている必要がありますが、それはまだ可能です.
本当に Windows 認証だけが必要な場合でも、承認の問題を提起して文書化します (該当する場合は承認を得ます)。一方で、これはあなたをカバーするだけでなく、人々に決定と起こりうるリスクを明確に認識させます.
世界中のさまざまな国に展開する必要がある場合、ドメインを同じにする必要があるのはなぜですか。公に公開されていない内部ネットワークでサービスをホストすることについて話している場合を除き、同じドメイン名を適用することは難しい場合があります。国が異なれば、ドメイン標準も異なります。アメリカには、選択できるドメイン ルートのセットがはるかに豊富にあります。他の国には、多くの場合、国固有のルートがあり、地域のサブルートを持つ可能性があります。
あなたのサービスをそれをホストするドメインに結合したり、ドメインを認証の要素として使用したりすることはお勧めしません. これらの国でサービスをインターネット上で公開する必要がある場合は、Windows セキュリティ以外のものを使用することをお勧めします。クレーム ベースのセキュリティ メカニズムが最適に機能する可能性があります。サービス実装の内部でクレームをチェックでき、必要に応じて Windows ID を WCF 認証とは別に認証できます。また、クレームを使用すると、ユーザー名/パスワードまたは証明書だけでなく、クライアント リクエストを完全に認証および承認することもできます。発信者のドメイン、国、地域、およびその他の証拠を請求に含めるように要求できます。