20.3. 사용자 정의 리소스 정의에 대한 클러스터 역할 생성


클러스터 범위의 CRD(사용자 정의 리소스 정의)를 생성한 후 권한을 부여할 수 있습니다. admin, edit, view 기본 클러스터 역할을 사용하는 경우 해당 규칙에 대한 클러스터 역할 집계를 활용하십시오.

중요

이러한 각 역할에 대한 권한을 명시적으로 할당해야 합니다. 권한이 더 많은 역할은 권한이 더 적은 역할의 규칙을 상속하지 않습니다. 역할에 규칙을 할당하는 경우 권한이 더 많은 역할에 해당 동사를 할당해야 합니다. 예를 들어 보기 역할에 "get crontabs" 권한을 부여하는 경우 edit 및 admin 역할에도 부여해야 합니다. admin 또는 edit 역할은 일반적으로 프로젝트 템플릿 을 통해 프로젝트를 생성한 사용자에게 할당됩니다.

사전 요구 사항

  • CRD를 생성합니다.

프로세스

  1. CRD의 클러스터 역할 정의 파일을 생성합니다. 클러스터 역할 정의는 각 클러스터 역할에 적용되는 규칙이 포함된 YAML 파일입니다. OpenShift Container Platform 컨트롤러는 사용자가 지정하는 규칙을 기본 클러스터 역할에 추가합니다.

    클러스터 역할 정의에 대한 YAML 파일의 예

    apiVersion: rbac.authorization.k8s.io/v1 1
    kind: ClusterRole
    items:
      - metadata:
          name: aggregate-cron-tabs-admin-edit 2
          labels:
            rbac.authorization.k8s.io/aggregate-to-admin: "true" 3
            rbac.authorization.k8s.io/aggregate-to-edit: "true" 4
        rules:
          - apiGroups: ["stable.example.com"] 5
            resources: ["crontabs"] 6
            verbs: ["get", "list", "watch", "create",
                    "update", "patch", "delete", "deletecollection"] 7
      - metadata:
          name: aggregate-cron-tabs-view 8
          labels:
            # Add these permissions to the "view" default role.
            rbac.authorization.k8s.io/aggregate-to-view: "true" 9
            rbac.authorization.k8s.io/aggregate-to-cluster-reader: "true" 10
        rules:
          - apiGroups: ["stable.example.com"] 11
            resources: ["crontabs"] 12
            verbs: ["get", "list", "watch"] 13

    1
    apiextensions.k8s.io/v1beta1 API를 사용합니다.
    2 8
    정의의 이름을 지정합니다.
    3
    관리 기본 역할에 권한을 부여하려면 이 라벨을 지정합니다.
    4
    편집 기본 역할에 권한을 부여하려면 이 라벨을 지정합니다.
    5 11
    CRD의 그룹 이름을 지정합니다.
    6 12
    이러한 규칙이 적용되는 CRD의 복수형 이름을 지정합니다.
    7 13
    역할에 부여된 권한을 나타내는 동사 를 지정합니다. 예를 들어 adminedit 역할에는 읽기 및 쓰기 권한을 적용하고 view 역할에는 읽기 권한만 적용합니다.
    9
    view 기본 역할에 권한을 부여하려면 이 라벨을 지정합니다.
    10
    cluster-reader 기본 역할에 권한을 부여하려면 이 라벨을 지정합니다.
  2. 클러스터 역할을 생성합니다.

    oc create -f <file-name>.yaml
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.