23.6. 클라우드 사용자를 위한 metadef API 액세스 활성화
메타데이터 정의(metadef) API에 대한 쓰기 액세스 권한을 사용하는 클라우드 관리자는 기본 관리자 전용 정책을 재정의하여 모든 사용자가 해당 API에 액세스할 수 있도록 할 수 있습니다. 그러나 이러한 유형의 구성에서는 고객 이름 및 내부 프로젝트와 같은 실수로 민감한 리소스 이름을 누출시킬 가능성이 있습니다. 관리자는 모든 사용자에 대해 읽기 액세스만 활성화된 경우에도 이전에 생성된 리소스를 식별하기 위해 시스템을 감사해야 합니다.
절차
클라우드 관리자로 언더클라우드에 로그인하여 정책 재정의를 위한 파일을 생성합니다. 예를 들면 다음과 같습니다.
$ cat open-up-glance-api-metadef.yaml
모든 사용자에게 metadef API 읽기-쓰기 액세스를 허용하도록 정책 덮어쓰기 파일을 구성합니다.
GlanceApiPolicies: { glance-metadef_default: { key: 'metadef_default', value: '' }, glance-get_metadef_namespace: { key: 'get_metadef_namespace', value: 'rule:metadef_default' }, glance-get_metadef_namespaces: { key: 'get_metadef_namespaces', value: 'rule:metadef_default' }, glance-modify_metadef_namespace: { key: 'modify_metadef_namespace', value: 'rule:metadef_default' }, glance-add_metadef_namespace: { key: 'add_metadef_namespace', value: 'rule:metadef_default' }, glance-delete_metadef_namespace: { key: 'delete_metadef_namespace', value: 'rule:metadef_default' }, glance-get_metadef_object: { key: 'get_metadef_object', value: 'rule:metadef_default' }, glance-get_metadef_objects: { key: 'get_metadef_objects', value: 'rule:metadef_default' }, glance-modify_metadef_object: { key: 'modify_metadef_object', value: 'rule:metadef_default' }, glance-add_metadef_object: { key: 'add_metadef_object', value: 'rule:metadef_default' }, glance-delete_metadef_object: { key: 'delete_metadef_object', value: 'rule:metadef_default' }, glance-list_metadef_resource_types: { key: 'list_metadef_resource_types', value: 'rule:metadef_default' }, glance-get_metadef_resource_type: { key: 'get_metadef_resource_type', value: 'rule:metadef_default' }, glance-add_metadef_resource_type_association: { key: 'add_metadef_resource_type_association', value: 'rule:metadef_default' }, glance-remove_metadef_resource_type_association: { key: 'remove_metadef_resource_type_association', value: 'rule:metadef_default' }, glance-get_metadef_property: { key: 'get_metadef_property', value: 'rule:metadef_default' }, glance-get_metadef_properties: { key: 'get_metadef_properties', value: 'rule:metadef_default' }, glance-modify_metadef_property: { key: 'modify_metadef_property', value: 'rule:metadef_default' }, glance-add_metadef_property: { key: 'add_metadef_property', value: 'rule:metadef_default' }, glance-remove_metadef_property: { key: 'remove_metadef_property', value: 'rule:metadef_default' }, glance-get_metadef_tag: { key: 'get_metadef_tag', value: 'rule:metadef_default' }, glance-get_metadef_tags: { key: 'get_metadef_tags', value: 'rule:metadef_default' }, glance-modify_metadef_tag: { key: 'modify_metadef_tag', value: 'rule:metadef_default' }, glance-add_metadef_tag: { key: 'add_metadef_tag', value: 'rule:metadef_default' }, glance-add_metadef_tags: { key: 'add_metadef_tags', value: 'rule:metadef_default' }, glance-delete_metadef_tag: { key: 'delete_metadef_tag', value: 'rule:metadef_default' }, glance-delete_metadef_tags: { key: 'delete_metadef_tags', value: 'rule:metadef_default' } }
참고rule:metadef_default
를 사용하도록 모든 metadef 정책을 구성해야 합니다. 정책 및 정책 구문에 대한 자세한 내용은 이 정책 장을 참조하십시오.오버클라우드를 배포할 때
-e
옵션을 사용하여 배포 명령에 새 정책 파일을 추가합니다.$ openstack overcloud deploy -e open-up-glance-api-metadef.yaml