11.4. 액세스 제어에 정책 파일 사용


중요

Red Hat은 사용자 지정 역할 또는 정책을 지원하지 않습니다. 구문 오류 또는 잘못된 권한 부여는 보안 또는 유용성에 부정적인 영향을 미칠 수 있습니다. 프로덕션 환경에서 사용자 지정 역할 또는 정책이 필요한 경우 지원 예외는 Red Hat 지원팀에 문의하십시오.

기본 규칙을 재정의하려면 적절한 OpenStack 서비스에 대한 policy.json 파일을 편집합니다. 예를 들어 Compute 서비스의 nova 디렉터리에는 컨테이너 내부에서 볼 때 컨테이너화된 서비스에 대한 파일의 올바른 위치인 policy.json 이 있습니다.

참고
  • 프로덕션 환경에서 구현하기 전에 스테이징 환경에서 정책 파일에 대한 변경 사항을 철저히 테스트해야 합니다.
  • 액세스 제어 정책에 대한 변경 사항이 리소스의 보안을 의도하지 않게 손상시키지 않는지 확인해야 합니다. 또한 policy.json 파일에 대한 모든 변경 사항은 즉시 적용되며 서비스를 다시 시작할 필요가 없습니다.

예: 고급 사용자 역할 생성

keystone 역할의 권한을 사용자 지정하려면 서비스의 policy.json 파일을 업데이트합니다. 즉, 사용자 클래스에 할당하는 권한을 보다 세밀하게 정의할 수 있습니다. 이 예제에서는 다음 권한으로 배포에 대한 고급 사용자 역할을 생성합니다.

  • 인스턴스를 시작합니다.
  • 인스턴스를 중지합니다.
  • 인스턴스에 연결된 볼륨을 관리합니다.

이 역할의 목적은 특정 사용자에게 관리자 액세스 권한을 부여하지 않고 추가 권한을 부여하는 것입니다. 이러한 권한을 사용하려면 사용자 지정 역할에 다음 권한을 부여해야 합니다.

  • 인스턴스를 시작합니다. "os_compute_api:servers:start": "role:PowerUsers"
  • 인스턴스를 중지: "os_compute_api:servers:stop": "role:PowerUsers"
  • 특정 볼륨을 사용하도록 인스턴스를 구성합니다. "os_compute_api:servers:create:attach_volume": "role:PowerUsers"
  • 인스턴스에 연결된 볼륨을 나열합니다. "os_compute_api:os-volumes-attachments:index": "role:PowerUsers"
  • 볼륨 연결: "os_compute_api:os-volumes-attachments:create": "role:PowerUsers"
  • 연결된 볼륨의 세부 정보 보기: "os_compute_api:os-volumes-attachments:show": "role:PowerUsers"
  • 인스턴스에 연결된 볼륨 변경: "os_compute_api:os-volumes-attachments:update": "role:PowerUsers"
  • 인스턴스에 연결된 볼륨 삭제: "os_compute_api:os-volumes-attachments:delete": "role:PowerUsers"
참고

policy.json 파일을 수정할 때 기본 정책을 재정의합니다. 결과적으로 PowerUsers 의 멤버는 이러한 작업을 수행할 수 있는 유일한 사용자입니다. admin 사용자가 이러한 권한을 보유할 수 있도록 하려면 admin_or_power_user에 대한 규칙을 만들 수 있습니다. 일부 기본 조건부 논리를 사용하여 역할:PowerUsers 또는 role:Admin 을 정의할 수도 있습니다.

  1. 사용자 지정 keystone 역할을 생성합니다.

    $ openstack role create PowerUsers
    +-----------+----------------------------------+
    | Field     | Value                            |
    +-----------+----------------------------------+
    | domain_id | None                             |
    | id        | 7061a395af43455e9057ab631ad49449 |
    | name      | PowerUsers                      |
    +-----------+----------------------------------+
  2. 기존 사용자를 역할에 추가하고 프로젝트에 역할을 할당합니다.

    $ openstack role add --project [PROJECT_NAME] --user [USER_ID] [PowerUsers-ROLE_ID]
    참고

    역할 할당은 하나의 프로젝트와만 페어링됩니다. 즉, 사용자에게 역할을 할당할 때 동시에 대상 프로젝트도 정의합니다. 사용자가 동일한 역할을 수신하도록 하려면 다른 프로젝트에 대해 역할을 다시 할당해야 하지만 다른 프로젝트를 대상으로 하는 경우 역할을 다시 할당해야 합니다.

  3. 기본 nova 정책 설정을 확인합니다.

    $ oslopolicy-policy-generator --namespace nova
  4. /var/lib/config-data/puppet-generated/nova/etc/nova/policy.json 에 다음 항목을 추가하여 새 PowerUsers 역할에 대한 사용자 지정 권한을 생성합니다.

    참고

    배포 전에 정책 변경 사항을 테스트하여 예상대로 작동하는지 확인합니다.

    {
    "os_compute_api:servers:start": "role:PowerUsers",
    "os_compute_api:servers:stop": "role:PowerUsers",
    "os_compute_api:servers:create:attach_volume": "role:PowerUsers",
    "os_compute_api:os-volumes-attachments:index": "role:PowerUsers",
    "os_compute_api:os-volumes-attachments:create": "role:PowerUsers",
    "os_compute_api:os-volumes-attachments:show": "role:PowerUsers",
    "os_compute_api:os-volumes-attachments:update": "role:PowerUsers",
    "os_compute_api:os-volumes-attachments:delete": "role:PowerUsers"
    }

    이 파일을 저장할 때 변경 사항을 구현하고 nova 컨테이너를 다시 시작합니다. PowerUsers keystone 역할에 추가된 사용자에게는 이러한 권한이 부여됩니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.