본문으로 건너뛰기

주요 개념

카카오클라우드 IAM은 역할 기반 접근 제어(Role Based Access Control, RBAC) 방식을 사용하여, 미리 정의된 역할을 기반으로 사용자, 조직, 프로젝트의 권한을 제어합니다.

리소스

리소스는 프로젝트에 생성할 수 있는 인스턴스, 스토리지, 네트워크 등의 컴퓨팅 자원이나 카카오클라우드에서 제공하는 서비스를 추상화한 단위입니다.

그림. 카카오클라우드 리소스 계층 구조 카카오클라우드 리소스 계층 구조

항목설명
조직카카오클라우드 계층 구조에서 최상위 개념으로 프로젝트, 사용자 등을 하나의 조직으로 구성할 수 있는 추상화된 공간
프로젝트    서비스 레벨의 리소스를 소유하는 상위 단위
- 반드시 특정 조직에 소속되어야 함
- 자원 할당량은 프로젝트 단위로 설정됨
- 사용자는 자원에 접근하기 위해 프로젝트 역할을 획득해야 함
서비스카카오클라우드에서 제공하는 개별 상품
- 서비스 내 모든 자원은 프로젝트 하위에 생성되어 관리
- 예시: VM, VPC, Object Storage 등

IAM 역할

카카오클라우드의 IAM은 조직 전체의 IAM을 관리하는 IAM 서비스와 프로젝트 단위로 관리하는 Project Management 서비스로 구분됩니다.

   구분   설명
IAM 서비스조직을 관리하는 IAM 서비스
- 사용자, 역할, 그룹, 프로젝트를 관리
- 조직 IAM 서비스로 이동하는 방법:
  ㄴ 카카오클라우드 콘솔 Management > IAM
Project Management 서비스프로젝트별로 관리하는 IAM 서비스
- 프로젝트 구성원과 프로젝트 역할을 조회하거나 관리
- 프로젝트 IAM 서비스로 이동하는 방법:
  ㄴ 카카오클라우드 콘솔 대시보드 > Project Management로 이동

IAM 서비스 역할별 권한

기능조직 관리자(Admin)조직 리더(Reader)IAM 조직 관리자 (Admin)IAM 조직 뷰어 (Viewer)
프로젝트 생성, 삭제, 수정✓        ✓            
프로젝트 상세 정보 조회
사용자 초대, 삭제, 역할 편집
사용자 상세 정보 조회
IAM 역할 정보 조회
그룹 생성, 삭제, 역할 편집
그룹 상세 정보 조회
자격 증명 데이터 조회
조직 관리 설정 (로그인 설정, 보안 설정)
조직 관리 정보 조회 (로그인 설정, 보안 설정)

Project Management 서비스 역할별 권한

기능프로젝트 관리자(Admin)프로젝트 멤버(Member)프로젝트 리더(Reader)IAM 프로젝트 관리자 (Admin)IAM 프로젝트 뷰어 (Viewer)
프로젝트 사용자 역할 할당, 제거, 수정✓                        ✓            
프로젝트 사용자 및 역할 목록 조회
그룹 역할 할당, 제거, 편집
그룹 역할 정보 조회
서비스 계정 생성, 삭제, 자격 증명 관리
서비스 계정 조회, 자격 증명 조회
서비스 에이전트 조회

사용자

사용자카카오클라우드 콘솔에 로그인할 수 있는 계정 단위입니다. 사용자는 특정 프로젝트의 역할을 가질수 있고 동시에 그룹 구성원일 수 있습니다.

   항목   설명
 사용자콘솔에 로그인할 수 있는 카카오클라우드 계정 단위
- 카카오클라우드 콘솔 및 API 모두 이용 가능
- 소속된 조직 내에서 고유해야 함
 프로젝트 역할특정 프로젝트에서 프로젝트 역할(프로젝트 관리자, 프로젝트 멤버, 프로젝트 리더)을 가진 사용자
- 프로젝트 역할을 획득해야만 해당 프로젝트 리소스에 접근 가능
 그룹 구성원특정 그룹에 소속된 사용자
- 그룹 구성원은 그룹 권한에 따라 역할 획득
- 그룹이 삭제되거나 그룹 구성원에서 삭제될 경우 즉시 그룹 권한 회수
- 자세한 설명은 하단의 그룹 참고

그룹

그룹은 특정 역할을 함께 공유하는 사용자들로 구성된 집합입니다. 그룹 구성원인 사용자에게 그룹 권한을 일괄로 추가하거나 삭제하여 IAM 역할을 간편하게 관리할 수 있습니다. 그룹 권한을 추가하면 그룹 구성원에게 해당 IAM 역할이 부여되며, 권한을 삭제하면 역할이 즉시 회수됩니다. 단, 사용자에게 직접 추가한 역할은 그대로 유지됩니다.
그룹 관리에 대한 자세한 내용은 그룹 생성 및 관리 문서를 참고하시기 바랍니다.

그림. 그룹 구조 그룹 구조

그룹 정책
  • 그룹에 여러 사용자를 추가할 수 있으며, 사용자는 여러 그룹에 포함될 수 있습니다.
  • 그룹에는 사용자만 추가할 수 있으며, 서비스 계정은 추가할 수 없습니다.
  • 그룹은 다른 그룹을 포함할 수 없습니다.
  • 그룹을 삭제하거나 그룹 구성원을 내보내는 경우, 자동으로 부여받은 그룹 권한도 즉시 회수됩니다.
  • 그룹을 삭제하거나 그룹 구성원을 내보내는 경우, 해당 그룹 구성원의 API 인증 토큰은 즉시 만료됩니다. 단, 별도로 할당된 IAM 역할이 있는 경우 해당하지 않습니다.

서비스 계정

서비스 계정은 사용자가 직접 생성하는 계정으로, 실제 IAM 사용자 계정은 아니며 카카오클라우드 API 호출에 필요한 인증 토큰을 발급할 수 있는 계정입니다. 프로젝트 구성원들이 서비스 계정 API 인증 토큰으로 API를 호출하여, 카카오클라우드 서비스의 리소스에 접근하거나 이를 제어하기 위한 계정입니다.
서비스 계정의 아이디 형식은 {직접 입력}-프로젝트 이름@kc.serviceaccount.com입니다. 서비스 계정은 생성할 때 원하는 프로젝트 역할을 선택할 수 있습니다. 단, 서비스 계정은 카카오클라우드의 사용자 계정이 아니기 때문에, 해당 계정으로 콘솔에 로그인할 수 없으며 조직 사용자 목록에서 조회되지 않습니다.
서비스 계정 생성 및 관리에 대한 자세한 설명은 서비스 계정 관리 참고하시기 바랍니다.

   항목    설명
 서비스 계정카카오클라우드 API 호출에 필요한 인증 토큰을 발급할 수 있는 계정
- 사용자가 직접 생성하는 계정으로, 실제 IAM 사용자 계정은 아님
- 아이디 형식: {직접 입력}-프로젝트 이름@kc.serviceaccount.com

서비스 계정 자격증명

서비스 계정에서 IAM 액세스 키, S3 액세스 키 생성이 가능합니다. 생성한 액세스 키의 액세스 키 ID, 보안 액세스 키를 사용하여 API 인증 토큰을 발급할 수 있습니다. 서비스 계정의 자격증명 관리에 대한 자세한 내용은 서비스 계정 관리를 참고하시기 바랍니다.

서비스 계정 할당량

서비스 계정은 비활성화 상태의 계정을 포함해 프로젝트 당 최대 100개까지 생성할 수 있습니다. 서비스 계정 IAM 액세스 키와 S3 액세스 키는 키 별로 최대 2개까지 생성할 수 있습니다. 단, 서비스 계정은 할당량에 포함되지 않습니다.

서비스 에이전트 계정

서비스 에이전트 계정은 카카오클라우드의 특정 서비스 이용 시 자동으로 생성되는 계정입니다. 카카오클라우드 서비스 백그라운드에서 직접 리소스에 접근하거나, 사용자의 요청 사항을 수행하기 위해 사용됩니다. 예를 들어 카카오클라우드 Kubernetes Engine 서비스에서 노드 풀을 추가하면, Kubernetes Engine 서비스 에이전트 계정이 Virtual Machine 서비스의 인스턴스를 생성합니다.
서비스 에이전트 계정의 아이디 형식은 프로젝트 이름@서비스 이름.kc.serviceaccount.com입니다. 서비스 에이전트는 사용자가 직접 생성하거나 삭제할 수 없습니다. 단, 프로젝트를 삭제할 시 해당 프로젝트의 모든 서비스 에이전트가 함께 삭제됩니다.

프로젝트에 생성된 서비스 에이전트 목록은 카카오클라우드 콘솔 > 대시보드 > Project Management로 이동 > 서비스 에이전트 메뉴에서 조회할 수 있습니다.

IAM 역할

카카오클라우드의 IAM 역할은 권한의 모음입니다. 사용자에게 특정 역할을 부여하면, 해당 역할이 가진 권한이 사용자에게 자동으로 부여됩니다.

기본 역할

기본 역할은 카카오클라우드에서 기본으로 제공하는 역할입니다. 기본 역할의 유형은 조직 역할프로젝트 역할로 나뉘며, 한 사용자에게 여러 역할을 추가할 수 있습니다. 역할 관리에 대한 자세한 내용은 역할 관리 문서를 참고하시기 바랍니다.

조직 역할

조직 역할은 조직 수준의 서비스를 이용하기 위한 역할들로 구성됩니다.

안내

조직 소유자는 조직 생성을 신청한 사용자로 선정됩니다. 선정된 사용자 계정에게는 조직 관리자, 빌링 관리자 역할이 할당 됩니다.
조직 소유자 이양을 통해 다른 사용자를 조직 소유자로 선정할 수 있습니다. 선정된 사용자는 마찬가지로 조직 관리자, 빌링 관리자 역할이 할당 됩니다.
조직 생성/삭제 신청조직 소유자로 신청할 수 있습니다.

조직 역할

역할설명
조직 관리자(Admin)조직과 프로젝트(리소스 제외)를 관리하는 역할
- 조직에 사용자 등록 및 삭제 가능
- 그룹 생성 및 삭제, 프로젝트 생성 가능
- 헬프데스크 문의 가능
- 조직 리더 역할의 모든 권한 포함
조직 리더(Reader)조직 및 프로젝트의 사용자 조회와 IAM 역할 조회 가능 (프로젝트의 리소스 관리는 불가)
IAM 조직 관리자 (Admin)IAM 서비스 리소스를 관리 하는 역할
- 조직의 사용자, 그룹 관리 가능
- 프로젝트 관리, 조직 로그인 보안 설정 가능
- IAM 조직 관리자에 대한 자세한 내용은 IAM 서비스의 IAM 역할 참고
IAM 조직 뷰어 (Viewer)IAM 서비스 리소스를 조회 하는 역할
- 조직의 사용자, 그룹 조회 가능
- 프로젝트 조회, 조직 로그인 보안 조회 가능
- IAM 조직 뷰어에 대한 자세한 내용은 IAM 서비스의 IAM 역할 참고
빌링 관리자(Admin)Billing 서비스에서 결제 수단, 크레딧 등록 및 관리
- 빌링 매니저 역할의 모든 권한 포함
빌링 매니저(Manager)Billing 서비스에서 프로젝트의 예상 요금 및 청구서 조회
- 빌링 뷰어 역할의 모든 권한 포함
빌링 뷰어(Viewer)Billing 서비스에서 프로젝트의 리소스 사용량 및 예상 요금 조회
트레일 뷰어(Viewer)조직 이벤트(프로젝트 생성/삭제, 콘솔 로그인/로그아웃, 빌링 조회) 조회 가능
- 트레일 뷰어에 대한 자세한 내용은 Cloud Trail의 IAM 역할 관리참고
- 조회할 수 있는 이벤트에 대한 자세한 내용은 Cloud Trail의 조회할 수 있는 조직 이벤트 참고
Alert Center 조직 매니저(Manager)Alert Center에서 조직 단위의 알림 정책 관리, 수신 채널 관리 및 발신 내역을 조회
- Alert Center 조직 매니저에 대한 자세한 내용은 Alert Center의 IAM 역할 관리 참고
- 알림 등록 가능한 이벤트에 대한 자세한 내용은 Alert Center의 알림 정책 참고
Alert Center 조직 뷰어(Viewer)Alert Center에서 조직 단위의 알림 정책, 수신 채널, 발신 내역을 조회
- Alert Center 조직 뷰어에 대한 자세한 내용은 Alert Center의 IAM 역할 관리 참고

프로젝트 역할

프로젝트 역할은 프로젝트 수준의 서비스를 이용하기 위한 역할들로 구성됩니다.

프로젝트 역할 유형

   역할   설명
프로젝트 관리자(Admin)소속 프로젝트 내 리소스 접근 및 관리 권한을 가지는 역할
- 프로젝트 리소스 CRUD(생성, 조회, 수정, 삭제) 가능
- 사용자의 프로젝트 역할 추가, 삭제, 변경 가능
- 프로젝트 멤버의 모든 권한 포함
프로젝트 멤버(Member)소속 프로젝트 내 리소스 접근 및 관리 권한을 가지는 역할
- 프로젝트 리소스 CRUD(생성, 조회, 수정, 삭제) 가능
프로젝트 리더(Reader)소속 프로젝트 내 리소스의 조회 권한만을 가지는 역할
- 프로젝트 리소스 read(조회) 가능
IAM 프로젝트 관리자 (Admin)Project Management 서비스 리소스를 관리 하는 역할
- 프로젝트의 사용자, 그룹 관리 가능
- 서비스 계정 및 자격 증명 관리 기능
- IAM 프로젝트 관리자에 대한 자세한 내용은 IAM 서비스의 IAM 역할 참고
IAM 프로젝트 뷰어 (Viewer)Project Management 서비스 리소스를 조회 하는 역할
- 프로젝트의 사용자, 그룹 조회 가능
- 서비스 계정 및 자격 증명 조회 가능
- IAM 프로젝트 뷰어에 대한 자세한 내용은IAM 서비스의 IAM 역할 참고
Object Storage 매니저(Manager)- Object Storage 서비스에서 버킷을 생성 및 목록을 조회. 단, 버킷 관리는 버킷 별 역할 권한 설정에 따라 동작
- Object Storage 매니저에 대한 자세한 내용은 Object Storage의 IAM 역할 참고
Object Storage 뷰어(Viewer)- Object Storage 서비스에서 목록을 조회. 단, 버킷 관리는 버킷 별 역할 권한 설정에 따라 동작
- Object Storage 뷰어에 대한 자세한 내용은 Object Storage의 IAM 역할 참고
File Storage 매니저(Manager)- File Storage 서비스의 모든 자원을 생성, 조회, 수정, 삭제할 수 있습니다.
- File Storage 매니저에 대한 자세한 내용은 File Storage의 IAM 역할 참고
File Storage 뷰어(Viewer)- File Storage 서비스의 모든 자원을 조회할 수 있습니다.
- File Storage 뷰어 대한 자세한 내용은 File Storage의 IAM 역할 참고
Kubeflow 관리자(Admin)Kubeflow 서비스 리소스 CRUD(생성, 조회, 수정, 삭제) 가능
Alert Center 프로젝트 매니저(Manager)- Alert Center에서 프로젝트 단위의 알림 정책 관리, 수신 채널 관리 및 발신 내역을 조회
- Alert Center 프로젝트 매니저에 대한 자세한 내용은 Alert Center의 IAM 역할 관리 참고
- 알림 등록 가능한 이벤트에 대한 자세한 내용은 Alert Center의 알림 정책 참고
Alert Center 프로젝트 뷰어(Viewer)- Alert Center에서 프로젝트 단위의 알림 정책, 수신 채널, 발신 내역을 조회
- Alert Center 프로젝트 뷰어에 대한 자세한 내용은 Alert Center의 IAM 역할 관리참고
DNS 매니저(Manager)- DNS 서비스에서 프로젝트 단위의 리소스를 생성, 조회, 수정, 삭제 가능
- DNS 매니저에 대한 자세한 내용은 DNS 서비스의 IAM 역할 관리참고
DNS 뷰어(Viewer)- DNS 서비스에서 프로젝트 단위의 리소스를 조회 가능
- DNS 뷰어에 대한 자세한 내용은 DNS 서비스의 IAM 역할 관리참고

그룹 권한

그룹 권한은 사용자 그룹에 조직, 프로젝트 역할을 부여하여 그룹 구성원이 획득한 권한입니다. 그룹 구성원은 그룹에 설정된 권한을 자동으로 획득합니다. 그룹 권한은 다수의 사용자와 역할을 한 번에 연결할 수 있어 관리가 쉽습니다.
그룹 관리에 대한 자세한 내용은 그룹 생성 및 관리 문서를 참고하시기 바랍니다.