이것은 좋은 질문이다. 짧은 대답은 사용 사례에 달려 있습니다. 여기에 옳고 그름이 없습니다. 단일 정책 또는 단일 규칙으로 모든 API를 보호 할 수 있습니다.
- 요구 사항이
- 정책 설계
- 정책 제작
- 정책 평가
- 정책 감사
- 정책 조정
를 수집 :
말했다 즉, 전체 정책 라이프 사이클에 대해 생각
각 단계에서 책임자는 누구입니까? 같은 사람들 이요? 다른 팀? 회사에서 XACML의 사용을 어떻게 확장하고 싶습니까? 중앙 제작 팀이 필요하십니까? 10, 100, 1000 API를 지원해야 할 때 작동합니까? 대답은 아니오 일 것입니다.
이렇게하면 API 소유자가 고유 한 정책을 작성하도록 할 수 있습니다. 그들은 정책에서 정의한 것을 선택하고, 허용되는 것은 무엇이며, 그렇지 않은 것은 선택합니다.
그런 다음 "정책 패키저"역할을 원합니다. 그 사람은 작성된 모든 정책을 수집하고 조합합니다.
- 응용 프로그램 정책 (API에 소유자에 의해 쓰여진 것)
- 운영 정책 (글로벌 체크에 대한 것들 오전 9시 전에 접근 또는 불량 국가로부터 어떤 액세스 예 : 다른 정책의 유형이 없습니다. ..) 정책 세트 policy 세트를 포함 할 수 있기 때문에이 정책 (또는 정책 세트를 결합 할 수 있습니다 세트 글로벌 정책에서
- 준수 & 규제 정책 (HL7, PCI-DSS 및 기타 규정)
에 대한 것들) . 필요에 따라 결합 알고리즘을 선택할 수 있습니다. 일반적으로는 first-applicable
입니다. 이는 처음에 적용되는 정책/규칙이 전반적으로 승리한다는 것을 의미합니다. 좀 더 보수적 인 선택은 deny-unless-permit
일 수 있습니다. 정책은 명시 적으로 액세스를 허용하지 않는 한 모든 요청을 거부합니다.
이전 예제를 바탕으로 API 당 3 가지 정책을 작성하고 싶습니다. 정책 참조 및 정책 세트 참조를 사용하여 정책을 연결하고 다시 사용할 수 있습니다.
Axiomatics (면책 조항 : 본인이 속한 회사 임)은 XACML 및 속성 기반 액세스 제어에 대한 워크샵을 제공합니다.
PolicySet조차도 Policy Combination Algorithm을 가질 수 있기 때문에 혼란 스럽 습니다만, 정책이 목표와 일치하는지, 그 REST 모듈 중 하나를 말하면, 무엇이든 결합 할 필요는 없습니다 - 규칙은 그 정책 ... – faboolous