IAM 역할 및 조치

Red Hat OpenShift on IBM Cloud 는 IBM Cloud® Identity and Access Management 역할을 사용하여 사용자가 Red Hat OpenShift on IBM Cloud 클러스터, 작업자 노드 및 인그레스 애플리케이션 로드 밸런서(ALB)에서 수행할 수 있는 작업을 결정하도록 구성됩니다.

플랫폼 및 서비스 역할의 목록 및 연관된 조치에 대해서는 다음 표를 검토하십시오.

{{../iam/iam-service-roles.md#containers-kubernetes-roles}}

모든 IBM 서비스 및 관련 역할 및 작업의 목록은 IAM 역할 및 작업을 참조하세요. 계정 및 리소스 설정에 대한 자세한 정보는 사용자, 팀 및 애플리케이션 구성을 위한 우수 사례 를 참조하십시오.

플랫폼 액세스 역할
사용자는 플랫폼 액세스 역할을 사용하여 클러스터, 작업자 풀, 작업자 노드 및 추가 기능과 같은 리소스를 관리할 수 있습니다. 플랫폼 액세스 역할을 통해 허용되는 조치의 예를 들면 클러스터 작성 또는 제거, 서비스를 클러스터에 바인딩, 네트워킹 및 스토리지 리소스 관리, 작업자 노드 추가 등이 있습니다. 이러한 역할에 대한 정책은 리소스 그룹, 지역 또는 클러스터 인스턴스별로 설정할 수 있습니다. 클러스터 내에서 네임스페이스별로 플랫폼 액세스 역할의 범위를 지정할 수 없습니다. 플랫폼 액세스 역할이 Kubernetes 팟(pod), 네임스페이스 또는 서비스와 같은 클러스터 내에서 리소스를 관리하기 위해 Kubernetes API에 대한 액세스 권한을 부여하지 않습니다.
서비스 액세스 역할
서비스 액세스 역할을 사용하여 Red Hat OpenShift on IBM Cloud 클러스터 내에서 Kubernetes 리소스를 관리하기 위한 액세스 권한을 사용자에게 부여하십시오. 서비스 액세스 역할은 클러스터 내의 해당 ‘ Kubernetes ’ RBAC 정책 과 동기화됩니다. 따라서 서비스 액세스 역할은 Kubernetes API, 대시보드 및 CLI(oc)에 대한 액세스 권한을 부여합니다. 서비스 액세스 역할에서 허용되는 작업의 예로는 앱 배포 생성, 네임스페이스 추가, 컨피그맵 설정 등이 있습니다. 서비스 액세스 역할에 대한 정책의 범위는 리소스 그룹, 지역 또는 클러스터 인스턴스별로 지정할 수 있습니다. 또한 서비스 액세스 역할의 범위를 특정 지역의 모든 클러스터, 개별 클러스터 또는 클러스터에 있는 Kubernetes 네임스페이스로 지정할 수도 있습니다.

클러스터 작성 권한

사용할 수 있는 다른 통합 및 서비스에 대한 필수 권한을 포함하여 클러스터를 작성하는 데 필요한 다음 권한을 검토하십시오.

클러스터를 작성하는 데 필요한 IAM 역할입니다.
서비스 또는 리소스 그룹 역할 범위 필수?
Kubernetes Service
  • 관리자 플랫폼 액세스 역할
  • 작성자 또는 관리자 서비스 액세스 역할
클러스터를 작성할 리소스 그룹입니다.
Container Registry 관리자 플랫폼 액세스 역할. 개별 인스턴스 또는 모든 인스턴스. IBM Cloud Container Registry에 대한 정책을 리소스 그룹 레벨로 제한하지 마십시오.
IBM Cloud Object Storage 관리자 플랫폼 액세스 역할 개별 인스턴스 또는 모든 인스턴스.
Secrets Manager
  • 관리자 또는 편집자 플랫폼 액세스 역할
  • 관리자 서비스 액세스 역할
모든 리소스 그룹 암호화를 위해 Secrets Manager 를 사용하려는 경우 필수입니다.
자원 그룹 권한
  • 뷰어 플랫폼 접근 권한
클러스터를 작성할 리소스 그룹입니다.
IAM Identity Service
  • 서비스 ID 작성자
  • 사용자 API키 작성자 역할
  • 뷰어 플랫폼 액세스 역할
클러스터를 작성할 리소스 그룹입니다.
Key Protect 관리자 플랫폼 액세스 역할. 사용할 모든 인스턴스 또는 특정 인스턴스입니다. 암호화를 위해 Key Protect 를 사용하려는 경우 필수입니다.
Hyper Protect Crypto Services 관리자 플랫폼 액세스 역할. 사용할 모든 인스턴스 또는 특정 인스턴스입니다. 암호화에 Hyper Protect Crypto Services 를 사용하려는 경우 필수입니다.
클래식 인프라 수퍼유저 역할. 자세한 정보는 클래식 인프라 역할 을 참조하십시오. 해당사항 없음
VPC 인프라 VPC 인프라 에 대한 관리자 플랫폼 액세스 역할. 사용할 모든 인스턴스 또는 특정 인스턴스입니다.

이전 표에 설명된 권한을 사용자 정의 IAM 역할로 저장하는 것을 고려하십시오. 이러한 방식으로 각 개별 서비스를 지정하는 대신 사용자를 사용자 정의 역할에 지정할 수 있습니다. 자세한 정보는 다음 예제 사용자 정의 역할 또는 사용자 정의 역할 작성 에 대한 IAM 문서를 참조하십시오.

사용자 정의 IAM 역할 예제

다음 표에는 사용 사례 예시와 이에 해당하는 IAM 역할이 나와 있습니다. 이 예제를 사용하거나 사용자 고유의 사용자 정의 역할을 작성할 수 있습니다. 자세한 정보는 사용자 정의 역할 작성을 참조하십시오.

다양한 유스 케이스를 충족하기 위해 지정할 수 있는 역할 유형입니다.
사용자 정의 역할 예제 권한
앱 감사자
  • 클러스터, 리전 또는 리소스 그룹에 대한 ‘Viewer’ 플랫폼 액세스 역할.
  • 클러스터, 리전 또는 리소스 그룹에 대한 ‘Reader’ 서비스 액세스 역할.
앱 개발자 -클러스터에 대한 편집자 플랫폼 액세스 역할.
-네임스페이스로 범위가 지정된 작성자 서비스 액세스 역할.
비용 청구 클러스터, 리전 또는 리소스 그룹에 대한 뷰어 플랫폼 액세스 역할.
클러스터 관리자 -클러스터에 대한 관리자 플랫폼 액세스 역할.
-전체 클러스터에 대한 관리자 서비스 액세스 역할 (네임스페이스로 범위 지정되지 않음).
DevOps 운영자 -클러스터에 대한 운영자 플랫폼 액세스 역할.
-전체 클러스터에 대한 작성자 서비스 액세스 역할 (네임스페이스로 범위 지정되지 않음).
운영자 또는 사이트 신뢰성 엔지니어
  • 클러스터, 리전 또는 리소스 그룹에 대한 관리자 플랫폼 액세스 역할.
  • 클러스터 또는 리전에 대한 리더 서비스 액세스 역할.
  • kubectl top nodes,pods 명령어를 사용할 수 있도록 모든 클러스터 네임스페이스에 대한 관리자 서비스 액세스 역할.

클래식 인프라 역할

‘슈퍼 유저(Super User )’ 인프라 액세스 역할을 가진 사용자는 인프라 작업을 수행할 수 있도록 리전 및 리소스 그룹에 대한 API 키를 설정합니다.

계정 내 다른 사용자가 수행할 수 있는 인프라 관련 작업은 ‘ IBM Cloud ’ IAM 플랫폼 액세스 역할을 통해 승인됩니다.

API 키를 설정하는 사용자에게 슈퍼 유저 권한을 할당할 수 없는 경우에만 다음 표를 사용하여 기존 인프라 권한을 사용자 지정하십시오. 권한 지정에 대한 지시사항은 인프라 권한 사용자 정의를 참조하십시오.

필수 클래식 인프라 권한

표 1: 필수 클래식 인프라 권한
권한 설명
IPMI 원격 관리 작업자 노드를 관리합니다.
서버 추가 작업자 노드를 추가합니다.

참고: 공인 IP 주소가 있는 작업자 노드의 경우, 네트워크 카테고리의 공용 네트워크 포트로 컴퓨팅 추가 권한도 필요합니다.

서버 취소 작업자 노드를 삭제합니다.
OS 다시 로드 및 복구 커널 작업자 노드를 업데이트, 다시 부팅 및 다시 로드합니다.
가상 서버 세부사항 보기 클러스터에 VM 작업자 노드가 있는 경우 필수입니다. VM 작업자 노드의 세부사항을 나열하고 가져옵니다.
하드웨어 세부사항 보기 클러스터에 베어메탈 작업자 노드가 있는 경우 필수입니다. 베어메탈 작업자 노드의 세부사항을 나열하고 가져옵니다.
지원 케이스 추가 클러스터 작성 자동화의 일부로 클러스터 인프라를 프로비저닝하기 위한 지원 케이스가 열립니다.
지원 케이스 편집 클러스터 작성 자동화의 일부로 클러스터 인프라를 프로비저닝하기 위한 지원 케이스가 업데이트됩니다.
지원 케이스 보기 클러스터 작성 자동화의 일부로 클러스터 인프라를 프로비저닝하기 위한 지원 케이스가 사용됩니다.

제안된 클래식 인프라 권한

표 2: 제안된 클래식 인프라 권한
권한 설명
자동 가상 서버 액세스 모든 작업자 노드에 액세스하십시오.
자동 베어메탈 서버 액세스 모든 베어메탈 작업자 노드에 대한 액세스를 지정합니다. 이 권한이 없으면 사용자에게 두 클러스터에 대한 IAM 액세스 권한이 있는 경우에도 하나의 클러스터를 작성하는 사용자는 다른 클러스터의 베어메탈 작업자 노드를 보지 못할 수 있습니다.
공용 네트워크 포트로 컴퓨팅 추가 공용 네트워크에 액세스할 수 있는 포트를 작업자 노드에게 제공합니다.
DNS 관리 공용 로드 밸런서 또는 Ingress 네트워킹을 설정하여 앱 노출
호스트 이름/도메인 편집 공용 로드 밸런서 또는 Ingress 네트워킹을 설정하여 앱 노출
IP 주소 추가 클러스터 로드 밸런싱에 사용되는 공용 또는 사설 서브넷에 IP 주소를 추가합니다.
네트워크 서브넷 라우트 관리 클러스터 로드 밸런싱에 사용되는 공용 및 사설 VLAN과 서브넷을 관리합니다.
포트 제어 관리 앱 로드 밸런싱에 사용되는 포트를 관리합니다.
인증서(SSL) 관리 클러스터 로드 밸런싱에 사용되는 인증서를 설정합니다.
인증서(SSL) 보기 클러스터 로드 밸런싱에 사용되는 인증서를 설정합니다.
스토리지(Storage Layer) 추가/업그레이드 데이터의 지속적 스토리지를 위해 볼륨으로 앱에 연결할 IBM Cloud 파일 또는 블록 스토리지 인스턴스를 작성합니다.
스토리지 관리 데이터의 지속적 스토리지를 위해 볼륨으로 앱에 연결된 IBM Cloud 파일 또는 블록 스토리지 인스턴스를 관리합니다.