11.5. 예: 특성을 기반으로 액세스 제한
Red Hat은 사용자 지정 역할 또는 정책을 지원하지 않습니다. 구문 오류 또는 잘못된 권한 부여는 보안 또는 유용성에 부정적인 영향을 미칠 수 있습니다. 프로덕션 환경에서 사용자 지정 역할 또는 정책이 필요한 경우 지원 예외는 Red Hat 지원팀에 문의하십시오.
해당 API 호출을 수행하는 사용자의 특성에 따라 API 호출에 대한 액세스를 제한하는 정책을 생성할 수 있습니다. 예를 들어 다음 기본 규칙은 관리 컨텍스트에서 실행되는 경우 또는 토큰의 사용자 ID가 대상과 연결된 사용자 ID와 일치하는 경우 키 쌍 삭제가 허용됨을 나타냅니다.
"os_compute_api:os-keypairs:delete": "rule:admin_api or user_id:%(user_id)s"
참고: * 새로 구현된 기능은 각 릴리스마다 모든 서비스에 보장되는 것은 아닙니다. 따라서 대상 서비스의 기존 정책의 규칙을 사용하여 규칙을 작성하는 것이 중요합니다. 이러한 정책 보기에 대한 자세한 내용은 기존 정책 검토를 참조하십시오. * 모든 정책은 릴리스 간 호환성을 보장하지 않으므로 배포될 모든 버전에 대해 프로덕션이 아닌 환경에서 엄격하게 테스트해야 합니다.
위의 예제를 기반으로 리소스를 소유하고 있는지 여부에 따라 사용자에 대한 액세스를 확장하거나 제한하도록 API 규칙을 만들 수 있습니다. 또한 아래 예제와 같이 속성을 다른 제한 사항과 결합하여 규칙을 형성할 수 있습니다.
"admin_or_owner": "is_admin:True or project_id:%(project_id)s"
위의 예제를 고려할 때 관리자와 사용자로 제한되는 고유한 규칙을 생성한 다음 해당 규칙을 사용하여 추가 작업을 제한할 수 있습니다.
"admin_or_user": "is_admin:True or user_id:%(user_id)s" "os_compute_api:os-instance-actions": "rule:admin_or_user"
추가 리소스