PolicyAdministrationPoint

1 개요[ | ]

PolicyAdministrationPoint, Policy Administration Service for OpenStack
정책 관리 포인트, OpenStack를 위한 정책 관리 서비스

이 문서는 OpenStack 클라우드를 위한 정책 관리 포인트(PAP) 서비스의 모델을 설명합니다. 이 서비스는 별도의 독립형 OpenStack 서비스로 존재할 수도 있고, Keystone에 통합될 수도 있습니다. PAP 서비스는 현재 OpenStack 서비스(Nova, Cinder, Glance 등)에 분산되어 있는 인가 정책을 유지하고 업데이트하는 역할을 담당합니다.

정책 관리의 중앙집중화의 장점은 다음과 같습니다:

  • 정책의 유지보수가 용이해집니다.
  • 정책을 동적으로 수정 및 적용할 수 있습니다(즉시 또는 주기적으로).
  • PAP가 각 역할과 관련된 모든 정책을 알기 때문에, 사람들과 서비스는 자신이 할 수 있는 일을 알 수 있습니다.
  • Openstack 대시보드(Horizon)는 사용자 역할에 따라 자신을 조정하여 사용가능한 기능만을 보여줄 수 있습니다.
  • 관리자들이 특정 기능/서비스에 접근하기 위해 필요한 역할을 알 수 있습니다.

2 작동 방식[ | ]

각 OpenStack 모듈은 자체 인가 시스템(정책 집행 포인트(PEP)와 정책 결정 포인트(PDP) 포함)을 계속 구현할 것입니다. PEP는 각 요청에 대해 PDP가 반환한 결정을 집행하는 역할을 합니다. PDP는 PAP와 Keystone과 다음과 같이 통신합니다:

  • 1. 현재처럼 Keystone과 통신하여, 받은 토큰을 기반으로 사용자 속성, 역할 또는 프로젝트/테넌트를 가져옵니다. 이 경우, Keystone은 정책 정보 포인트(PIP)로 작동합니다. 또한 요청에 대한 환경적 및 맥락적 정보를 제공할 수 있습니다.
  • 2. PAP와 통신하여 최신 인가 정책을 가져옵니다. 성능 목적으로, 정책은 각 서비스에 의해 캐시되어야 합니다. 게시-구독 메커니즘을 통해 정책이 업데이트될 때 PDP에게 알립니다.

조회된 정보를 통해 각 PDP는 요청에 대한 인가 결정을 내리며, 이 결정은 수락 또는 거절일 수 있으며, 이를 PEP에 반환합니다.

3 제안된 API[ | ]

PAP는 관리자가 정책을 관리할 수 있는 인터페이스를 가질 것입니다(CRUD 작업). 정책은 현재 policy.json 파일에 저장된 형식으로 작성될 수 있습니다. 이는 이미 이러한 파일을 사용하는 서비스의 변경을 최소화합니다. PAP 서비스에는 두 가지 유형의 쿼리도 가능합니다:

  • 1. Horizon은 사용자의 인터페이스를 사용자 역할에 맞게 커스터마이징하기 위해 PAP에 쿼리하여 특정 역할에 대해 사용 가능한 기능을 확인할 수 있습니다.
  • 2. 프로젝트 관리자는 특정 서비스에서 주어진 작업에 접근 권한을 부여하기 위해 필요한 역할을 쉽게 확인할 수 있습니다.

이러한 쿼리는 보안상의 이유로 보호되지만, PAP가 모든 OpenStack 서비스의 정책을 중앙에서 관리하기 때문에 쉽게 구현될 수 있습니다.

4 미해결 이슈[ | ]

  • 1. 현재 인가된 작업이 활성화되어 있을 때, 수정된 정책이 더 이상 그 사용자가 권한이 없다고 명시할 경우 어떻게 할 것인가. PDP에서 PEP로 이 작업을 종료하라는 콜백 메커니즘을 제공할 것인가, 아니면 애플리케이션이 종료하고 재시작되게 할 것인가?
  • 2. PDP 코드가 Keystone의 스코프 내에서 작성되고 배포될 경우, 서비스에 영향을 미치지 않고 모델과 메커니즘을 변경할 수 있습니다. 왜냐하면 서비스는 계속해서 PDP를 호출하고 이에 따라 행동할 것이기 때문입니다. 하지만, 현재 상황이 그렇게 되어 있는가?

5 Congress는 어떻게 되는가?[ | ]

이 청사진은 Congress 프로젝트를 보완하는 것입니다. PAP와 Congress 모두 관리자가 인가 정책을 생성할 수 있는 인터페이스를 가지고 있지만, 목적이 다릅니다:

  • Congress는 클라우드 서비스의 거버넌스 및 준수를 제공하는 것을 목표로 합니다. 이는 높은 수준의 정책이 시행되도록 하기 위해 OpenStack 서비스에 정책을 동적으로 생성하고 보내거나 기존 정책을 수정할 수 있습니다.
  • PAP는 현재의 정책 메커니즘을 개선하여, 연합된 클라우드와 Horizon의 대시보드 간의 정책 교환을 가능하게 하는 것을 목표로 합니다.
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}