2012-11-15 1 views
1

OK, 그렇다면 틀린 문구가 있습니다. 그러나 한 줄로 설명하기는 어렵습니다.Shibboleth를 사용하여 다른 사용자의 다른 속성을 다른 사용자에게 표시 할 수 있습니까?

나는 Shibboleth 문서를 읽으려고 노력했으며 내 초심자가 내 속에서 상당히 빨리 빠져 나갔다. 나는 전문가가 "아무런 기회도 없다"라고 말하기 위해 30 분이 걸릴 수 있다면 그것을 이해하는 데 정말로 많은 시간을 보내고 싶지 않습니다.

나는 많은 그룹의 사용자를 보유하고 있으며 그룹은 다른 회사라고 (현재는) 말할 수 있습니다.

사용자가 다른 회사의 일부 입력란 만 볼 수있게하려는 것입니다.

예를 들어 나는 회사 A의 Alice이고 회사 B의 Bob은 이메일 주소 [email protected]을 가지고 있습니다. 그는 내가 [email protected]임을 알 수 있습니다.

그러나 B 사의 다른 모든 사람들은 성 (Bob)의 성 및 전화 번호 등을 볼 수 있습니다. 그리고 A 사의 다른 모든 사람들이 내 세부 정보를 볼 수 있습니다.

더 복잡하게 만들려면 Bob과 내가 친구가되어 정보를 공유하기로 결정한 다음 "transient"그룹 "alice & bob"을 만듭니다. 우리 모두가 그 그룹의 구성원이기 때문에, 우리는 서로의 세부 사항을 모두 볼 수 있습니다. (하지만 A의 다른 누구도 친구가 아닌 한 Bob의 세부 정보를 볼 수 없습니다.)

모든 속성과 관계를 쿼리하고 관련된 내용 만 표시하여 추가로 보안 할 수 있습니다. 소스에서 정보의 공개를 제한하고자합니다.

필자는 속성 필터를 사용해야하지만 필자가이 수준의 제어 기능을 제공 할 수 있는지 확신 할 수 없습니다. 관계를 형성 할 수있는 이러한 유연성을 통해 필자는 필터 파일을 즉석에서 빌드 한 다음 Shibboleth가 논리가 너무 길어서 막히기 시작하는 수천 개의 필터로 끝내야합니다. https://wiki.shibboleth.net/confluence/display/SHIB2/IdPFilterRequirementAttributeRequesterInEntityGroup

답변

0

위의 대답은 꽤 좋지만, 난 shibboleth 사용자가 혼란 스러울 것이라고 생각합니다.

빠른 대답은 입니다. 실제로 이런 식으로하고 싶지는 않을 것입니다.하지만 할 수는 있을지 모르지만 100 % 더 좋은 도구가 있습니다.

좋아, 지금 풀 버전입니다. (너무 분명하기 때문에 일부 장소에서). shibboleth 아키텍처에서 두 가지 주요 구성 요소를 구별 할 수 있습니다.

ID 제공자 IdP - 특정 조직의 사용자에 대한 정보를 보유하고 있습니다.

서비스 제공 업체 SP - 일반적으로 그들이 회원이 때문에 우리가, 앨리스와 밥에 대한 예 자격 증명에서

다른 IdP가 저장 될 수있는 몇 가지 액세스 규칙을 정의 할 수있는 몇 가지 서비스 나 보호 자원이다 (전체 패턴과 정확히 일치하지는 않지만) 모든 사용자에 대해 하나의 IdP를 가질 수 있으며 "회사"는 사용자 속성 중 하나 일뿐입니다. IdP는 인증중인 앱과 별개로 모든 사용자의 사용자 속성에 액세스 할 수있는 API를 제공하지 않습니다.

반면에 당신은 당신이 정책을 정의 할 수있는 수퍼 비밀 리소스를 보유하고 있습니다. 또한 사용자 정보에 대한 정책을 정의하고자합니다.

여기에 문제가 있습니다. SP 쪽에서는 전체 사용자 데이터베이스에 액세스 할 수 없으므로 Shibboleth가 작동합니다. 물론 모든 사용자 정보를 SP의 리소스로 취급 할 수 있지만 응용 프로그램 측면에서 모든 사용자 자격 증명에 대한 명확한 액세스 권한이있는 경우 왜 Shibboleth를 사용 하시겠습니까?

서비스 측면에서 모든 사용자 정보를 저장하는 경우 서비스에 대한 일종의 인증을 갖춘 잘 설계된 관계형 데이터베이스가이 작업에 대한 shibboleth보다 우수하다고 생각합니다.

희망을 얻었습니다.

0

이 그 문제에 대해, 표어 또는 대부분의 SAML/SSO 공급자를위한 일이 아니다 : 등 뭔가 필터 규칙 "그룹의 요청입니다." 당신이 말하는 속성 필터링은 IdP와 SP 사이의 속성을 필터링하는 데 사용됩니다. 기본적으로 말하는 것입니다 : 서비스 제공자 또는 "응용 프로그램"에게 IdP A의 다음 속성을 보겠습니다.

다른 쪽 끝의 SP에게, Shibboleth는 응용 프로그램 B의 사용자가 귀하가 제시 한 데이터를 볼 수 없도록하는 메커니즘을 제공하지 않습니다. 실제로는 어떤 것도 볼 수 없도록해야합니다. 귀하가 귀하의 애플리케이션을 통해 어느정도 노출시키지 않는 한 IdP에 의해 전송 된 데이터.

관련 문제