DevSecOps 툴체인에서 액세스하는 클라우드 리소스에 대한 IAM 액세스 관리하기

IBM Cloud® Identity and Access Management (IAM)을 통해 관리자는 뷰어, 편집자, 운영자, 관리자 등의 특정 역할을 사용자 및 서비스 ID에 할당할 수 있습니다. 이는 Continuous Delivery, Secrets Manager, Container Registry, Cloud Object Storage 와 같은 리소스와 Kubernetes 클러스터 및 Code Engine 와 같은 배포 대상에 대한 액세스 수준을 정의합니다.

IBM Cloud DevSecOps 파이프라인에서는 배우의 역할에 따라 서로 다른 IAM 권한 세트가 필요합니다. 크게 IBM Cloud DevSecOps 파이프라인의 역할은 두 가지 주요 유형으로 분류할 수 있습니다:

  • 파이프라인 관리자 이러한 역할은 DevSecOps 파이프라인, 도구 체인 및 관련 리소스를 관리하고 구성하는 역할을 담당합니다. 파이프라인 관리자는 툴체인, Continuous Delivery, Container Registry, Secrets Manager 과 같은 리소스에 대한 편집자 또는 관리자 역할을 포함하여 파이프라인을 구성, 관리 및 문제 해결을 위한 광범위한 권한이 필요합니다. 이를 통해 파이프라인 구성, 도구 체인 통합 구성, 클라우드 서비스 통합, 보안 도구 통합을 할 수 있습니다.

  • 파이프라인 러너 이러한 역할은 DevSecOps 파이프라인, 도구 체인 및 관련 리소스를 실행하는 역할을 담당합니다. 파이프라인을 실행하는 파이프라인 러너는 빌드 실행, 애플리케이션 배포, 필요한 리소스 액세스에 중점을 둔 제한된 권한이 필요합니다. 이 역할은 운영자, 작성자 또는 리더와 같은 제한된 권한을 제공하여 중요한 구성을 수정하지 않고도 필요한 서비스(예: Kubernetes, Code Engine, Cloud Object Storage )와 상호 작용할 수 있도록 합니다.

DevSecOps 파이프라인 및 리소스에 대한 액세스 권한은 두 가지 주요 접근 방식으로 부여할 수 있습니다.

  • 액세스 그룹 기반 접근 방식
  • 서비스 ID 기반 접근 방식

두 방법 모두 IBM Cloud 에서 안전한 액세스 관리를 지원합니다. API 키를 액세스 그룹에 매핑하는 방식은 중앙 집중식 역할 관리에 이상적이며, 서비스 ID API 키는 자동화된 DevSecOps 워크플로우 인증을 위한 보다 유연하고 안전한 방법을 제공합니다.

액세스 그룹 기반 접근 방식

이 접근 방식은 미리 정의된 역할 및 권한이 있는 서비스인 액세스 그룹에 사용자를 할당하는 것입니다. 관리자는 액세스 그룹을 사용하여 권한을 중앙에서 관리함으로써 여러 사용자에 걸쳐 일관성과 확장성을 보장할 수 있습니다. 이 방법은 액세스 그룹에 대한 변경 사항이 모든 사용자에게 자동으로 적용되므로 액세스 관리가 간편합니다. 액세스 그룹 내의 사용자가 만든 API 키는 할당된 권한을 자동으로 상속합니다.

다음은 파이프라인 관리자 역할에 필요한 다양한 권한 집합을 요약한 표입니다:

리소스 / 서비스 IAM 권한 참고
IAM Identity Service 사용자 API 키 생성자, 서비스 ID 생성자, 운영자
사용자 관리 편집자
IAM 액세스 그룹 서비스 편집자
리소스 그룹 뷰어
IBM Cloud 툴체인 편집자
Continuous Delivery 편집자
Secrets Manager 관리자, 운영자 새 비밀 관리자 인스턴스를 만들고 권한을 생성하려면 관리자 역할이 필요합니다. 비밀 관리자 인스턴스에서 비밀 그룹을 만들려면 관리자 역할이 필요합니다.
Cloud Object Storage 작가, 편집자
Container Registry 관리자 네임스페이스를 만들려면 관리자 역할이 필요합니다 Container Registry

다음은 파이프라인 러너 역할에 필요한 다양한 권한 집합을 요약한 표입니다:

리소스 / 서비스 IAM 권한 참고
리소스 그룹 뷰어
IBM Cloud 툴체인 파이프라인 러너, 운영자 하위 파이프라인을 시작하려면 운영자 역할이 필요합니다
Secrets Manager 독자 비밀 메타데이터를 보려면 리더 역할이 필요합니다
Cloud Object Storage 객체 작성자, 리더
Container Registry 리더, 작가 Container Registry 에 네임스페이스를 만들려면 관리자 역할이 필요합니다(아직 없는 경우)

배포 대상을 IBM Cloud Kubernetes Service (IKS) 또는 IBM Cloud Code Engine 으로 설정하고, 파이프라인 관리자와 파이프라인 러너에 대해 서로 다른 IAM 권한이 필요합니다.

다음은 파이프라인 관리자 역할에 필요한 다양한 권한 집합을 요약한 표입니다:

리소스 / 서비스 IAM 권한 참고
IBM Kubernetes Service 관리자, 편집자
Code Engine 관리자, 편집자

다음은 파이프라인 러너 역할에 필요한 다양한 권한 집합을 요약한 표입니다:

리소스 / 서비스 IAM 권한 참고
IBM Kubernetes Service 작성자, 운영자
Code Engine 작성자, 운영자

서비스 ID 기반 접근 방식

서비스 ID는 DevSecOps 파이프라인과 같은 자동화된 프로세스를 인증하고 권한을 부여하는 데 사용되는 비인간 ID입니다. 서비스 ID API 키는 개별 사용자 계정에 연결하지 않고 파이프라인이나 서비스에 특정 권한을 부여합니다. 이 접근 방식은 파이프라인이 필요한 권한으로만 작동하도록 하여 무단 액세스의 위험을 줄이는 동시에 IBM Cloud 서비스와의 원활한 통합을 가능하게 함으로써 보안을 강화합니다.

다음은 파이프라인 관리자 역할에 필요한 다양한 권한 집합을 요약한 표입니다:

리소스 / 서비스 IAM 권한 참고
IAM Identity Service 사용자 API 키 생성자, 서비스 ID 생성자, 운영자
사용자 관리 편집자
IAM 액세스 그룹 서비스 편집자
리소스 그룹 관리자
IBM Cloud 툴체인 관리자
Continuous Delivery 편집자
Secrets Manager 관리자, 운영자 새 비밀 관리자 인스턴스를 만들고 권한을 생성하려면 관리자 역할이 필요합니다. 비밀 관리자 인스턴스에서 비밀 그룹을 만들려면 관리자 역할이 필요합니다.
Cloud Object Storage 작성자, 관리자
Container Registry 관리자 네임스페이스를 만들려면 관리자 역할이 필요합니다 Container Registry

다음은 파이프라인 러너 역할에 필요한 다양한 권한 집합을 요약한 표입니다:

리소스 / 서비스 IAM 권한 참고
리소스 그룹 뷰어
IBM Cloud 툴체인 PipelineRunner, 연산자 하위 파이프라인을 시작하려면 운영자 역할이 필요합니다
Secrets Manager 독자 비밀 메타데이터를 보려면 리더 역할이 필요합니다
Cloud Object Storage 객체 작성자, 리더
Container Registry 리더, 작가 Container Registry 에 네임스페이스를 만들려면 관리자 역할이 필요합니다(아직 없는 경우)

다음은 배포 대상을 IBM Cloud Kubernetes Service (IKS) 또는 IBM Cloud Code Engine 으로 기준으로 파이프라인 관리자 및 파이프라인 러너에 필요한 다양한 IAM 권한이 요약된 표입니다:

다음은 파이프라인 관리자 역할에 필요한 다양한 권한 집합을 요약한 표입니다:

리소스 / 서비스 IAM 권한 참고
IBM Kubernetes Service 관리자, 운영자
Code Engine 관리자, 운영자

다음은 파이프라인 러너 역할에 필요한 다양한 권한 집합을 요약한 표입니다:

리소스 / 서비스 IAM 권한 참고
IBM Kubernetes Service 작성자, 운영자
Code Engine 작성자, 운영자