1

私たちのアプリケーションのアーキテクチャドキュメントには、直感的に関連付けることができない流行語がいくつかあります

  1. ステートレスな配布可能なアプリケーション

  2. プラグ可能なセキュリティモデル

分散とはどういう意味か理解できますが、ステートレスとはどういう意味ですか?ステートレス配布可能アプリケーションとはどういう意味ですか?そのようなアプリケーションの例を挙げていただけますか?

プラグ可能なセキュリティモデルとは何ですか?プラグ可能なAPIは、プラグインしたり、他の実装に置き換えたりできるものであることを理解していますが、セキュリティは、アプリケーションに十分に統合され、そのコアにあるものだと思います。プラグ可能にすることはできますか?そのようなアプローチがどのように見えるかについて、いくつかの例を挙げていただけますか?

4

2 に答える 2

6

ステートレスで配布可能なアプリケーション

ステートレスな分散アプリケーションにより、簡単な水平スケーリングが可能になります (つまり、アプリケーション インスタンスを持つマシンをシステムに追加するなど)。

ステートレスとは、状態情報を維持しないアプリケーション インスタンスを指します。状態がないため、アプリケーション インスタンスは、以前に受信した入力に関係なく、特定の入力に対して同じ出力を生成します。したがって、どのインスタンスがリクエストに応答するかは問題ではありません。

これにより、特定のインスタンスに「固定」されたセッションを維持する必要がないため、スケーラビリティがはるかに容易になります。要求のダートリビューション ロジック (ロード バランサーなど) は、以前に何が起こったかを気にすることなく、任意のインスタンスに負荷を分散できます。インスタンスは、アクティブなセッションを気にせずにクラスターに追加またはクラスターから削除できます。

このようなアーキテクチャは通常、システムの永続レイヤーで状態情報を維持します。つまり、アプリケーション インスタンスは、処理する要求ごとに永続レイヤーから新しい状態情報を取得します。これは、スケーリングの柔軟性に対して支払うペナルティです。

プラグ可能なセキュリティ モデル

セキュリティ モデルは、リソースへのアクセスをユーザーに許可する方法を定義します。セキュリティ モデルの例としては、役割ベースとアクセス制御リストがあります。

セキュリティ モデルの実装は、ビジネス ロジックと対話します。機密性の高い処理を行う前に、ビジネス ロジックはセキュリティ ロジックに承認を求める必要があります。複雑なビジネス ロジックには、このようなチェックを実行する必要がある場所が多数ある場合があります。セキュリティ ロジックとビジネス ロジックが密接に結合されている場合、つまり、ビジネス ロジックがセキュリティ ロジックを直接呼び出す場合、セキュリティ モデルを変更することは困難です。

プラグイン可能なセキュリティ モデルは、ビジネス ロジックがプラグイン インターフェイスを介してセキュリティ モデルと対話する場合に、タイト結合を疎結合に置き換えます。ビジネス ロジックはセキュリティ ロジックの内部について何も知らないため、ビジネス ロジックを変更せずにセキュリティ ロジックを交換できます。

このようなプラグイン インターフェイスは、ビジネス ロジック内で構成され、セキュリティ ロジックをクエリするためにビジネス ロジックによって使用されるコールバックのセットとして実装されることがよくあります。

于 2011-11-03T20:58:07.993 に答える
1

プラグ可能なセキュリティモデル(少なくとも私が精通しているモデル)を使用すると、エンドユーザーはアプリケーションに使用するセキュリティ方法を構成できます。たとえば、エンドユーザーは、標準のユーザー名/パスワード方式、スマートカード、網膜スキャン、または上記の組み合わせを使用することを選択できます。セキュリティメカニズム(スマートカードリーダーなど)を提供するベンダーが、認証フレームワークにプラグインするためのソフトウェアを提供しているため、「プラグイン可能」です。

いくつかの例については、Linux Pluggable Authentication Modules(PAM)またはjavax.security.auth.loginJavaパッケージを参照してください。

于 2011-11-03T15:13:46.733 に答える