ソフトウェア開発者が認可を外部化しない理由はあるのでしょうか?

StackOverflow https://stackoverflow.com/questions/955399

質問

ID を外部化することの価値提案は増加し始めており、多くのサイトが OpenID、CardSpace、またはフェデレーション ID を受け入れるようになりました。ただし、多くの開発者は、承認を外部化し、XACML に基づくアプローチを使用するという次のステップをまだ実行していません。

原因は認識不足なのかそれとも別の理由なのか?についてどのように学ぶと思いますか XACMLソフトウェア開発へのベースのアプローチ?

私が尋ねているのは認証ではなく認可についてであることに注意してください。

役に立ちましたか?

解決

私は、外部化承認の見通しが認証(OpenIDを、CardSpaceの、など)を外部化よりもはるかに難しいことだと思います。これは主に、許可は、特定のはるかアプリケーションであるという事実によるものです。どのような人Aは、彼はあなたのアプリケーションで行うことができない場合があり、私のアプリケーションで行うことを許可され、それは、最もありそうではありませんこれは、私のアプリケーションとの間にいくつかの共通parrallelがありますと仮定します。

私は外在認証がが行われることはありませんが、私は正直大変な時間があなたが本当にそれをやりたいと思い理由を考え出す持っていること。言いたくありませんたぶん、最も可能性が高いというよりも、外部、内部的にサポートされるだろう、再び並んで動作しますが、アプリケーションのスイート、ためています。

他のヒント

また、その承認を忘れないでください!==認証を。ユーザーが認証されたからといって、あなたのサイトの認証部分を解決したわけではありません。あなたはまだ何をするときを行うには誰かを決定する必要があります。

私たちは私たち自身をロールバックし続ける主な理由は、OpenIDのらのようなオプションが唯一の一見ハイテクサイトでサポートされていることです。私たちは小さなプレーヤーですので、我々ははるかに大きいユーザーの受け入れがあるような時間まで、外部プロバイダを使用して起動しません。

私たちは、ユーザーが別のサイトに行く関与して私たちのサイトに関係している最初のものを望んでいない。

私は他の人が持っている誤解に陥っているように見える - 質問は、外部の認可についてでした。私は認証および承認サーバを管理しているところ個人的に、私は、ローカルネットワーク上の分散認証を信頼します。私は、Webサイト上の外部認証を使用しないでしょう。

以下のOpenIDでの私のコメントは、認証サービスとしてあります。

1)の認可!=認証、指摘された通り。 OpenIDの認証を処理しますが、Webアプリケーションの所有者はまだそのログインに割り当てられた権限を完全に制御を持っています。これは肯定的であるが、これについての混乱は否定的です。

2)私は、リンクを見つけることができませんが、OpenIDのは、フィッシング攻撃/途中でメイン/ソーシャルエンジニアリングに開放されています。プロバイダは、この(ID画像、ブラウザの証明書など、検証コールバック)を防止しようとするが、黒い帽子のサイトは天才「あなたのOpenIDのユーザー名とパスワードを入力してください」というダイアログ/ページをポップアップ表示するときには役立ちません。ユーザーは準拠しています。

3)フェデレーションIDの各プロバイダは、能力を持っている(といくつかの責任が)にかかわらず、彼らはのためのIDを使用しているもの、サイトの、そのユーザのすべての活動を追跡すると言うでしょう。これは、の連合IDを提供しますが、のについてとても興奮していないのそれらを消費するには、GoogleとYahooがある理由GUNG-HOです。

4)上記のコメントに反して、役に立つUIは、新しいユーザーはおそらくすでにOpenIDのを持っていることを指摘する場合は特に、一般的にはOpenIDを使用すると、登録への障壁を低減した場合です。あなたは、このようなRPXとして組み合わせるのOpenID / OAuthのソリューションを使用する場合、これは、より真実である。

だから、私の視点から、OpenIDのを使用してのリスクは、ユーザーではなく、ウェブサイト上にあります。私は彼らがまだ別のユーザーIDとパスワードを記憶しようとすることによって、フィッシングされてからユーザーを防ぐことはできません。さらに、黒の帽子は、ユーザーの他のアカウントへのアクセスを取得するには、プレーンテキストで自分のサイトのための店のユーザーのパスワードよりも極悪非道な何もする必要はありません。どのように多くの人にすべてのWebサイトのログを別のパスワードを使用できますか?

私が行っている

ほとんどのプロジェクトは、大企業内で使用するための独自のアプリケーションとなっている、それらの例には、外部認証サービスはほとんどのオプションではないですが、認証を代わりに(Active Directoryなど)いくつかの内部サービスによって処理されます。

私は、私は間違いなく代わりに自分の認証をホスティングしているのOpenIDのようなものを利用するようにしようと、公開ウェブサイトを建設するプロジェクトの一部になるために起こるはずます。

問題の 1 つは、ここでは発明されていないことと、(偽の) アイデンティティに対する外部化された権威に対する不信感の組み合わせです。良い記事がここにあります。

また、惰性もあると思います。キラーアプリがなければ、人々の移住は遅れます。最近目にした Facebook 統合の数の増加を考えると、私たちは急勾配の坂の上にいて、まさにその世界に入ろうとしているのだと思います。

別のポスターが示された

として、承認は一般的に、アプリケーション固有です。あなたは一つのアプリケーションで行うことができますすることで、他の中で何ができるかと著しく異なります。特に顧客既製アプリケーションでは、認可は、一般に、より自然に、アプリケーションによって処理されます。

パフォーマンスは別の問題です。これは、SunのXACMLの実装を取得し、いくつかの認証を外部化することを利用して見ることができます。あなたはこれまで認可判断の実際のコストを上回ることができます(あなたが建築家の要求/応答などは仕方によって異なります)リクエストの両側のネットワークコストを負担します。あなたはパフォーマンスの最適化にはあまり自由があると物事がさらに悪化COTSアプリケーションの中にそれをビルドします。

しかし、私は有望な分野のいくつかは、規制順守の周りにあると思います。アプリケーションによって変化しないいくつかの権限があります。例えば専有または機密情報または材料の移送、。逆に悪くなるため、これらの場合において、強い場合は、各アプリケーションに存在する同一の制御のために行うことができます。同じアクセス制御の実装とルールの任意の数を有する管理悪夢です。 XACMLのような制御フレームワークで開始する簡単な場所は、誰かが見ることができるもので始まり、その後、誰かが何ができるかをうまくすることであってもよいです。

私はそれはあなたが取り組むプロジェクトの種類に依存だと思います。顧客がOpenIDのを使用する方法はありません許可を保存したい場合...私はGoogleがエンジンをアプリ及びその私が認証を行うためにGoogleを使用して使用して小規模なプロジェクトを開発します。だから、それは強くプロジェクトの種類によって異なります。

いくつかの理由:

  1. いくつかのコメントが示したように、「認可はローカルである」という一般的な認識があり、これは、重要なアクセス決定に必要な高品質の維持に費用がかかる「サブジェクト属性」を再利用する可能性がほとんどないことを意味します。 。(一部の法律/規制は広く適用されるため、再利用の可能性が高いと思いますが、これについて完全に説明すると、この形式では長すぎます。)
  2. データ インフラストラクチャの欠如:組織間でポリシーベースのアクセス制御を適用するには (データへのアクセスのロックを解除するために他の組織の承認 (「AuthZ」) データを使用/信頼しています)、少なくとも属性のセマンティクス (「とは何ですか)」を理解している必要があります。法執行官」?「米国市民」とは何ですか。) あとはわかりやすい属性品質基準とその第三者認証があればいいですね。(これらの要件が PKI の相互運用性の要件に似ていると考える人もいるかもしれません。調子はどうですか?そして、これは 1 つのデータに加えて、サポートするものにすぎません。)
  3. 役割/責任への影響:「役割」であれ、「属性」であれ、「デジタル ポリシーを持つ属性」であれ、認可を外部化するということは、ローカルの「データ所有者」がリソースの制御を失うことを意味します。また、ユーザー リストを維持するためのかなりの作業と責任を軽減します。この種の変更により、外部 AuthZ の実装が技術的な問題から政治的な側面を伴う組織的な問題に昇格します。
  4. ほとんどの組織は、自社のポリシーが何であるかを知らず、文書化していません。アクセスは、「誰が尋ねる」または「誰でも尋ねる人」または「私が好きな人」または「彼らのデータへのアクセスのような何かを私に与えることができる人」かもしれません。適用される実際のルールは、ポリシー言語でそれらを表現することにより、オープンに強制される場合、かなり醜いものになる可能性があります。また、文書化された政策をデジタル政策に適切に表現するためのスキルセットも、木の上で成長するものではありません。実際、スキルセットは IT 担当者ではなくビジネス アナリストや弁護士であり、そのような人々向けのツールはほとんど存在しません。
  5. しっかりとしたポリシー ルールがある場合、その処理に必要な属性が存在しないことがわかるでしょう。これらの属性は通常、AD に既に存在する種類のものではありません。電話番号は AuthZ 属性としては役に立ちません。また、「組織」でさえ、実際に文書化できるほとんどの法律や規制にはおそらく適切ではありません。これは、「考えられる原因」などのポリシー要件を表現するために実装する (そして承認を受ける) 必要がある回避策や近似値についても言及していません。
  6. 比較的扱いやすいですが、依然として現実的なのは、非常に普及している COTS アプリの多くが外部認証をサポートしておらず、多くのアプリ開発者が外部化に慣れていないため、(a) 外部認証をやめさせようとすることです。または、(b) お金でそれを学び、それをひどいやり方で行う。

かなり悪く聞こえますよね?それでは、このような状況にもかかわらず、このゲームにはろうそくの価値があると私は思う、ということで終わりにさせてください。潜在的な利点のリストについては、別の機会に別の記事で説明します。

幸運を!

性の高いアプリケーション固有のもの認可に関するジョセフの点に同意します。

しかし、それ以外にも、承認をアウトソーシングすることも、主要なリスク懸念をもたらします:あなたは離れて移行またはそのプロバイダがほとんど不可能な作業になり代わって、サービスプロバイダへの認可を外部一度認証が、非常にアプリケーション固有の粒状であるため。あなたは、取消不能の形フックである。

あなたのリスクとベネフィットの評価では、ビジネスの推論は、このようなハード依存関係と一緒に行くを避けるために、あなたを駆動してます。

私個人にとって、これは私が今までの外部認証について聞いたことが最初のものです。.. だから、ただ意識の欠如かもしれません。

今グーグル..

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top