現在、資産追跡システムをLDAPからSAMLに移行することを検討しています。ソフトウェアが現在LDAPを使用している主な分野は2つあります。最初は認証です。今日システムにアクセスするには、LDAPで正常に認証され、指定されたLDAPグループのメンバーである必要があります。その部分は、SAMLに簡単に移行できます。ライブラリを使用して、汚い作業のほとんどを処理しました。また、IDPでは、ユーザーを承認するためのクレームを追加できます。しかし、LDAPの2番目の使用法は、ループに私を投げかけることです。
現在、当社が管理する各資産には、ユーザー名にリンクする機能があります。たとえば、特定のプリンタが「someuser」に属している場合があります。ソフトウェアが管理者に提供するオプションの1つは、LDAPユーザーグループに基づいてアセットを表示/操作することです。そのため、管理者として、特定の部門の人が所有するすべてのプリンターを更新したい場合があります。これを実現するために、管理者はLDAPグループ「departmentInQuestion」をスコープとするルールを作成します。その後、ソフトウェアはサービスアカウントを使用してLDAPに接続し、クエリを作成してシステムのどのユーザーが「departmentInQuestion」にいるかを確認し、実行して結果を使用して更新を取得するアセットを決定します。
これまでの検索では、これに似たSAMLワークフローを見つけることができませんでした。 「someuser」を評価しなければならない唯一の機会は、彼らが認証し、彼らの主張にアクセスできるときです。しかし、私たちのワークフローでは、「someuser」は私たちと認証することはありません。サービスアカウントに代わってユーザーの承認を使用しているようです。探索中に見落としていた既存のワークフローはありますか?この方法で認証をサポートする他の技術はありますか?
ご意見ありがとうございます!
SAMLはパスポートまたはビザのようなものです。それは、あなたについて知っている(あなたの名前、DOBなど)ために使用できる(信頼された)情報を持ち、アクセスできるものを推測します(例えば、入国)。トークン内のプロパティを使用して、関連付けられている可能性のある追加情報(銀行取引明細書など)について他のシステムに照会できます。
そのため、同様に、SAMLは通常、システムに対するユーザーの認証に使用されます(Originを信頼すると)が、ユーザープロファイルまたは「リソース」を管理するための規定はありません。
承認決定がある場合は、多くの場合、ユーザー(ユーザーが属するグループなど)に関連付けられた属性に基づいて行われ、セキュリティトークンのクレームで伝達されます。
おそらく、最初に答える質問は、LDAPから離れてSAMLについて考える理由です。自分の資格情報でログインしているユーザーを受け入れたいからですか? LDAPサーバーを完全に削除したいからですか
LDAPサーバーを管理するためにresources associated with users
、およびどこかでユーザーを認証します。これはあなたが今持っているものです。共通の属性(ユーザー名、IDなど)を介して、ユーザーを「外部」と「内部」に関連付けます。
LDAPをまとめて削除する場合は、その情報を保存するための別の場所(アプリデータベースなど)が必要になります。
Eugenio Pace の応答に基づいて、特にこの段落の後に:
そのため、同様に、SAMLは通常、システムに対するユーザーの認証に使用されます(Originを信頼すると)が、ユーザープロファイルまたは「リソース」を管理するための規定はありません。
承認決定がある場合は、多くの場合、ユーザー(ユーザーが属するグループなど)に関連付けられた属性に基づいて行われ、セキュリティトークンのクレームで伝達されます。
ここでEugenioが指すのは、属性ベースのアクセス制御であるABACです。 SAMLはそれを行いません。 ABACを実現するには、XACMLが必要です。 SAMLとXACMLはどちらもOASISによって定義された標準であり、相互運用できます。 XACMLを使用すると、属性ベースのルールを定義できます。たとえば、例を再検討し、次のようにルールを記述できます。
これらの参照サイトでABACのXACMLの詳細を読むことができます。
Auth0は、消費者向けWeb製品(OAuth 2.0、OpenID Connect)およびエンタープライズ展開([〜#〜] saml [〜#〜]、WS-Federation、[〜#〜] ldap [〜#〜])。
[〜#〜] s [〜#〜]ecurity[〜#〜] a [〜#〜]ssertion[〜#〜] m [〜#〜]arkup[〜#〜] l [〜#〜]anguage([〜#〜] saml [〜#〜])は、2つのエンティティ(サービスプロバイダーとIDプロバイダー)間の認証と承認のためのXMLベースのフレームワークです。サービスプロバイダーは、ユーザーを認証するためにアイデンティティプロバイダーを信頼することに同意します。 IDプロバイダーはユーザーを認証し、ユーザーが認証されたことを示す認証アサーションをサービスプロバイダーに提供します。
[〜#〜] l [〜#〜]ightweight[〜#〜] d [〜#〜]irectory[〜#〜] a [〜#〜]ccess[〜#〜] p [〜#〜]rotocol([〜#〜] ldap [〜#〜])は、インターネットプロトコル(IP)ネットワークを介して分散ディレクトリ情報サービスにアクセスして維持するために使用されるアプリケーションプロトコルです。