0

Microsoft Security Best Practices for Azure で推奨されている Gatekeeper Design パターンを実装しようとしていますが、その方法を決定するのに苦労しています。

プロジェクトの背景を説明するために、従来のレイヤード アプローチ (プレゼンテーション、ビジネス、データなど) を使用して既に開発された Web サイトを Azure を使用するように変換します。クライアントは、このプロセスがクラウドにあるため、このプロセスを中心に追加のセキュリティを構築することを望んでいます。

これを処理するための最初の提案は、キューを使用し、worker ロールがキューに入力された要求を処理することでした。私たちが遭遇した懸念のいくつかは、オブジェクトを適切にシリアル化し、そのオブジェクトで実行する必要があるメソッドを含める方法と、そのようなアプローチに固有のレイテンシーです。

また、Worker ロールでいくつかの WCF サービスを設定することも検討しましたが、これを正確に処理する方法について頭を悩ませています。(これが私の最初の Azure プロジェクトであることに加えて、これは WCF での最初の試みでもあります。) ここで、オブジェクトのシリアル化に関して同じ問題に遭遇します。

もう 1 つの考えは、別の Web ロールでいくつかの Web サービスをセットアップすることでしたが、要求に対して IP ベースのセキュリティを実行できないため、同じセキュリティの問題が発生するようです。

検索しても検索しても、私たちがやろうとしていることを実行するサンプルは実際には見つかりませんでした (または、実行しているとは認識しませんでした)。コードサンプルでガイダンスを提供できる人はいますか? ありがとう。

4

2 に答える 2

1

これを間違った方法で解釈しないでください。ただし、「クライアントが追加のセキュリティを望んでいる」という「要件」に基づいて、ソリューションを過度に設計する危険があるようです。「 Windows Azure アプリケーション開発のためのセキュリティのベスト プラクティス」ドキュメントの 13 ページに記載されているゲートキーパー パターンは非常に大きな武器であり、大きなターゲット、つまり非常に機密性の高いデータを格納する強化されたアプリケーションが実際に必要なシナリオに対してのみ使用する必要があります。このようなものを構築すると、多くの時間とパフォーマンスが犠牲になる可能性があるため、長所と短所を十分に検討してください。

追加の (そしておそらく受け入れられる) セキュリティ対策として、SQL Azure ファイアウォールを活用することを検討しましたか? IP アドレス レベルでアクセスを指定することも、ストアド プロシージャを使用してプログラムで構成することもできます。データベースへのすべての外部アクセスをブロックして、Azure アプリケーション (Web/worker ロール) をアクセスを許可する唯一の "クライアント" にすることができます。

于 2011-04-05T21:44:39.200 に答える
0

質問の 1 つに具体的に答えるために、X.509 証明書を使用して WCF サービスへのアクセスを保護し、メッセージ セキュリティを実装することができます。転送中のデータを保護するために SSL 接続も必要な場合は、メッセージ セキュリティと転送セキュリティの両方を使用する必要があります。これは地球上で最も単純なことではありませんが、可能です。正しい証明書を持つサーバーのみが WCF 要求を行うことができるようにすることができます。詳細といくつかのヒントについては、このスレッドをご覧ください: http://social.msdn.microsoft.com/Forums/en-US/windowsazuresecurity/thread/1f77046b-82a1-48c4-bb0d-23993027932a

また、WCF を使用すると、オブジェクトを Serializable とマークする限り、オブジェクトを簡単に交換できます。したがって、WCF 呼び出しを行うと、クライアントとの間でオブジェクトをやり取りする方法が大幅に簡素化されます。

于 2011-04-04T20:29:50.310 に答える