2016-12-21 15 views
1

XACML은 주제, 리소스, env 및 작업과 같은 다양한 범주를 기반으로 리소스에 액세스 할 수 있도록 세분화 된 컨트롤을 제공 할 수 있음을 알고 있습니다.XACML : 리소스의 속성에 대한 액세스를 제어하는 ​​방법

하지만 평가가 이루어지면 리소스를 가져 오도록 결정한 후 사용자/대상이 액세스 할 수있는 리소스의 필드/속성을 제어 할 수 있습니까?

예를 들어 다음 필드가있는 고객이라는 리소스가 있습니다.

고객 : {이름, isVip, PHONENUMBER} 나는이 정보에 액세스하는 판매 대리인이있는 경우

지금, 나는 단지 몇 선택한 판매 대리점에 VIP 고객의 PHONENUMBER을 보여주고 싶다.

일반 판매 에이전트에 의해 호출 :

이는 GET 고객 정보 API에 대한 응답해야 {이름, isVip} 선택한 판매 에이전트에 의해 호출

: {이름, isVip, phoneNumber}

XACML로이를 수행 할 수 있습니까? 그렇다면 어떻게?

답변

1

예!

리소스를 정의하는 방법과 정책을 작성하는 방법은 모두 중요합니다. 귀하의 경우에는 "고객"유형의 오브젝트가 있고 유형은 "필드"인 오브젝트가 있습니다. Name, isVip 및 phoneNumber는 Customer 객체의 모든 필드입니다.

다음과 같은 정책을 작성할 수 있습니다

  • 판매 에이전트가 고객의 PHONENUMBER 필드를 볼 수 있습니다
  • 판매 에이전트들이 그에게 할당 된 경우, 같은 지역에있는 고객의 고객 개체를 볼 수 있습니다 고객

시행 방법은? 당신이보아야 할 것은 당신이 ... 그리고 도중에 나가는 길에 집행을 할 수 있다는 것입니다. 즉, 당신은 물을 수 있습니다

  • 앨리스 판매 에이전트보기 고객 레코드 # 123 수 있습니까?
  • 허가는

응용 프로그램은 다음 레코드를 가져옵니다. 레코드가 PEP를 통해 다시 기본 시스템에서 제공, 당신은 다음에 대한 액세스를 제어 3 개 섹션 가치가있는 것을 발견, 기록을 검사 한 다음은 PDP 질문 :

  • 수 앨리스는 판매 대리점에보기 섹션 # 고객 레코드 # 123의 1, # 2, # 3?
  • 허가가 거부를 그런데

거부, 후자는 다중 결정 요청의 한 예이다. MDP herehere에 대한 자세한 내용을 볼 수 있습니다.