1.4. 키 관리자 정책 보기
Barbican은 정책을 사용하여 키 추가 또는 삭제와 같은 시크릿에 대해 작업을 수행할 수 있는 사용자를 결정합니다. 이러한 제어를 구현하기 위해 이전에 만든 생성자
와 같은 keystone 프로젝트 역할은 barbican 내부 권한에 매핑됩니다. 결과적으로 해당 프로젝트 역할에 할당된 사용자에게는 해당 barbican 권한이 부여됩니다.
기본 정책은 코드로 정의되며 일반적으로 수정 사항이 필요하지 않습니다. 정책 변경이 이루어지지 않은 경우 해당 환경의 기존 컨테이너를 사용하여 기본 정책을 볼 수 있습니다. 기본 정책을 변경하고 기본값을 표시하려면 별도의 시스템을 사용하여 openstack-barbican-api
컨테이너를 먼저 가져옵니다.
사전 요구 사항
- OpenStack Key Manager가 배포 및 실행 중
절차
Red Hat 인증 정보를 사용하여 podman에 로그인합니다.
podman login username: ******** password: ********
openstack-barbican-api
컨테이너를 가져옵니다.podman pull \ registry.redhat.io/rhosp-rhel8/openstack-barbican-api:17.1
현재 작업 디렉터리에 정책 파일을 생성합니다.
podman run -it \ registry.redhat.io/rhosp-rhel8/openstack-barbican-api:17.1 \ oslopolicy-policy-generator \ --namespace barbican > barbican-policy.yaml
검증
barbican-policy.yaml
파일을 검토하여 barbican에서 사용하는 정책을 확인합니다. 이 정책은 사용자가 시크릿 및 시크릿 메타데이터와 상호 작용하는 방법을 정의하는 네 가지 역할로 구현됩니다. 사용자는 특정 역할에 할당되어 이러한 권한을 받습니다.
admin
- admin 역할은 모든 프로젝트의 시크릿을 읽고, 만들고, 편집하고, 삭제할 수 있습니다.
Creator
- 작성자 역할은 작성자의 범위를 지정하는 프로젝트에 있는 시크릿을 읽고, 만들고, 편집하고, 삭제할 수 있습니다.
관찰자
- 관찰자 역할은 비밀을 읽을 수 있습니다.
audit
- 감사 역할은 메타데이터만 읽을 수 있습니다. 감사 역할은 시크릿을 읽을 수 없습니다.
예를 들어 다음 항목은 각 프로젝트에 대한 admin
,
observed , creator
keystone 역할을 나열합니다. 오른쪽에는 role:admin
,role:observer
, role:creator
권한이 할당됩니다.
# #"admin": "role:admin" # #"observer": "role:observer" # #"creator": "role:creator"
이러한 역할은 barbican을 통해 함께 그룹화할 수도 있습니다. 예를 들어 admin_or_creator
를 지정하는 규칙은 rule:admin
또는 rule:creator
의 멤버에 적용할 수 있습니다.
파일에 secret:put
및 secret:delete
작업이 있습니다. 오른쪽에는 이러한 작업을 실행할 수 있는 권한이 있는 역할을 확인합니다. 다음 예에서 secret:delete
는 admin
및 creator
역할 멤버만 시크릿 항목을 삭제할 수 있음을 의미합니다. 또한 규칙에 따라 해당 프로젝트의 admin
또는 creator
역할의 사용자가 해당 프로젝트의 시크릿을 삭제할 수 있습니다. 프로젝트 일치는 secret_project_match
규칙에 의해 정의되며, 정책에도 정의되어 있습니다.
secret:delete": "rule:admin_or_creator and rule:secret_project_match"