IDの外部化の価値提案は、多くのサイトがOpenID、CardSpace、またはフェデレーションIDを受け入れるようになり始めています。ただし、多くの開発者は、承認を外部化し、XACMLに基づくアプローチを使用するための次のステップをまだ実行していません。
理由は意識の欠如か何か他のものですか?ソフトウェア開発へのXACMLベースのアプローチについてどのように学ぶと思いますか?
私は認証ではなく承認について質問していることに注意してください。
承認の外部化の見通しは、認証(OpenID、CardSpaceなど)の外部化よりもはるかに難しいと思います。これは主に、承認がアプリケーション固有のものであるという事実によるものです。人物Aが私のアプリケーションで実行することを許可されている場合、彼はあなたのアプリケーションで実行できない可能性があります。それは、私のアプリケーションとあなたのアプリケーションの間に共通の平行関係があると仮定しても、おそらく存在しないでしょう。
外部化の承認が決して行われないとは言いたくありませんが、正直なところ、あなたが本当にそうしたいと思う理由を思いつくのに苦労しています。並行して動作する一連のアプリケーションの場合もありますが、これも外部ではなく内部でサポートされる可能性があります。
また、承認 !== 認証であることを覚えておいてください。ユーザーが認証されたからといって、サイトの認証部分を解決したわけではありません。誰がいつ何をするかを決定する必要があります。
私たちが独自のものを展開し続ける主な理由は、openid などのオプションが技術サイトでのみサポートされているように見えるためです。私たちは小規模なプレーヤーであるため、ユーザーの受け入れが大きくなるまで、外部プロバイダーの使用を開始しません。
ユーザーが私たちのサイトで最初にしなければならないことが、別のサイトへの移動を伴うことを望んでいません。
私は他の人が持っている誤解に陥ったようです-質問は外部承認についてでした。個人的には、認証サーバーと承認サーバーを制御できるローカルネットワークでの分散承認のみを信頼します。Webサイトで外部認証を使用することは決してありません。
以下は、認証サービスとしてのOpenIDについての私のコメントです。
1)指摘されたように、承認!=認証。OpenIDは認証を処理しますが、Webアプリの所有者は、そのログインに割り当てられた権限を完全に制御できます。これはポジティブですが、これについての混乱はネガティブです。
2)リンクが見つかりませんが、OpenIDはソーシャルエンジニアリング/中間者/フィッシング攻撃に対してオープンです。プロバイダーはこれを防止しようとしますが(IDイメージ、ブラウザー証明書、コールバック検証など)、ブラックハットサイトが「OpenIDユーザー名とパスワードを入力してください」というダイアログ/ページと天才をポップアップする場合は役に立ちませんユーザーが準拠します。
3)フェデレーションIDの各プロバイダーには、IDを使用するサイトに関係なく、ユーザーのすべてのアクティビティを追跡する機能があります(責任があると言う人もいます)。これが、グーグルとヤフーがフェデレーションIDを提供するためのガンホーである理由ですが、それらを消費することにそれほど興奮していません。
4)上記のコメントとは逆に、OpenIDを使用すると、登録の障壁が減るのが一般的です。特に、便利なUIが、新しいユーザーがすでにOpenIDを持っている可能性があることを示している場合はそうです。これは、RPXなどのOpenID/OAuthソリューションを組み合わせて使用する場合にさらに当てはまります。
したがって、私の観点からは、OpenIDを使用するリスクは、Webサイトではなく、ユーザーにあります。さらに別のユーザーIDとパスワードを覚えさせて、ユーザーがフィッシングされるのを防ぐことはできません。さらに、Black Hatsは、ユーザーの他のアカウントにアクセスするために、サイトのユーザーパスワードをプレーンテキストで保存するよりも悪質なことをする必要はありません。ログインするWebサイトごとに異なるパスワードを使用する人は何人いますか?
私が行ったほとんどのプロジェクトは、大企業内で使用するための独自のアプリケーションであり、そのような場合、外部認証サービスがオプションになることはめったにありませんが、認証は代わりに何らかの内部サービス (Active Directory など) によって処理されます。
たまたま公開 Web サイトを構築するプロジェクトの一部になった場合、自分の認証をホストする代わりに、OpenID のようなものを利用しようとすることは間違いありません。
1つの問題は、ここで発明されていないことと、(偽名でさえ)アイデンティティに対する外部化された当局の不信の組み合わせです。良い記事はここにあります:
また、慣性かもしれないと思います。それを動かすキラーアプリがなければ、人々は移行が遅い。私が最近見たFacebook統合の数の増加を考えると、私たちは急な斜面の頂上にいて、その世界に参入しようとしていると思います。
別のポスターが示しているように、承認は一般的にアプリケーション固有です。あるアプリケーションで実行できることは、別のアプリケーションで実行できることとは大きく異なります。特に顧客の既製のアプリケーションでは、承認は通常、アプリケーションによってより自然に処理されます。
パフォーマンスは別の懸念事項です。これは、SunのXACML実装を取得し、それを使用していくつかの承認を外部化することで確認できます。要求の両側でネットワークコストが発生します。これは、(要求/応答の設計方法などに応じて)承認決定の実際のコストをはるかに超える可能性があります。これをCOTSアプリケーションに組み込みます。このアプリケーションでは、パフォーマンスを最適化する自由が少なくなり、事態はさらに悪化します。
ただし、有望な分野のいくつかは、規制順守に関するものだと思います。アプリケーションによって変わらない承認がいくつかあります。たとえば、専有情報または機密情報または資料の転送。このような場合、逆のことが非常に悪いため、各アプリケーションに存在する同じコントロールに対して強力なケースを作成できます。同じアクセス制御に対して実装とルールをいくつでも持つことは、管理上の悪夢です。XACMLのような制御フレームワークを開始する簡単な場所は、誰かが見ることができるものから始めて、次に誰かができることを理解することかもしれません。
いくつかの理由:
かなり悪いですね。ですから、これにもかかわらず、ゲームはろうそくの価値があると思うと言って終わりにしましょう. 潜在的なメリットのリストは、別の投稿で別の機会に掲載します。
幸運を!
取り組んでいるプロジェクトの種類によると思います。顧客が認証を保存したい場合、OpenID を使用する方法はありません... Google Apps エンジンを使用して小さなプロジェクトを開発しているため、Google を使用して認証を行っています。したがって、プロジェクトのタイプに大きく依存します。
個人的には、これは外部認証について聞いた最初のことです..だから、それは単なる認識不足かもしれません.
今グーグル..