3.2. 정책 이해
Barbican은 정책을 사용하여 키 추가 또는 삭제와 같은 시크릿에 대해 작업을 수행할 수 있는 사용자를 결정합니다. 이러한 제어를 구현하기 위해 이전에 만든 keystone 프로젝트 역할(예: 이전에 만든 생성자 )은 Barbican 내부 권한에 매핑됩니다. 결과적으로 해당 프로젝트 역할에 할당된 사용자는 해당 barbican 권한을 수신합니다.
3.2.1. 기본 정책 보기 링크 복사링크가 클립보드에 복사되었습니다!
기본 정책은 코드에 정의되어 있으며 일반적으로 수정할 필요가 없습니다. barbican 소스 코드에서 기본 정책을 생성하여 이를 생성할 수 있습니다.
추가 구성 요소가 다운로드 및 설치될 수 있으므로 프로덕션 환경 외 시스템에서 다음 단계를 수행합니다. 이 예제에서는
queens분기로 전환하므로 다른 버전을 사용하는 경우 이 값을 적용해야 합니다.git clone https://github.com/openstack/barbican cd /home/stack/barbican git checkout origin/stable/queens tox -e genpolicy
git clone https://github.com/openstack/barbican cd /home/stack/barbican git checkout origin/stable/queens tox -e genpolicyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면 기본 설정
etc/barbican/policy.yaml.sample이 포함된 하위 디렉터리에 정책 파일이 생성됩니다. 이 경로는 시스템의/etc디렉터리가 아닌 리포지토리의 하위 디렉터리를 참조합니다. 이 파일의 내용은 다음 단계에서 설명합니다.생성한
policy.yaml.sample파일은 barbican에서 사용하는 정책을 설명합니다. 이 정책은 사용자가 시크릿 및 시크릿 메타데이터와 상호 작용하는 방법을 정의하는 네 가지 다른 역할로 구현됩니다. 사용자는 특정 역할에 할당함으로써 이러한 권한을 받습니다.-
admin- 시크릿을 삭제, 생성/편집할 수 있습니다. -
Creator- 시크릿을 만들고 읽을 수 있습니다. 시크릿을 삭제할 수 없습니다. -
관찰자- 데이터를 읽을 수 있습니다. audit- 메타데이터만 읽을 수 있습니다. 시크릿을 읽을 수 없습니다.예를 들어 다음 항목은 각 프로젝트의
admin,observer,creatorkeystone 역할을 나열합니다. 오른쪽에는role:admin,role:observer,role:creator권한이 할당됩니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 역할은 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"
secret:delete": "rule:admin_or_creator and rule:secret_project_match"Copy to Clipboard Copied! Toggle word wrap Toggle overflow