IAM Overview

페이지 이동경로

IAM

카카오 i 클라우드(Kakao i Cloud)의 IAM(Identity and Access Management)은 리소스 접근 및 제어 권한을 사용자 또는 그룹에 세부적으로 할당하고 관리할 수 있는 서비스입니다.
IAM은 사용자에게 특정 역할을 부여하여 접근 권한을 제어하기 때문에 리소스를 안전하게 관리할 수 있습니다. 예를 들어, 특정 사용자에게 빌링(Biling) 매니저 역할만을 부여하면 빌링 기능을 제외한 조직 내 프로젝트 리소스에 접근할 수 없도록 하여 청구서 조회나 결제 수단 관리만 수행하도록 설정할 수 있습니다.

IAM 주요 개념

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

리소스

리소스는 프로젝트에 생성한 CPU, 메모리, 스토리지 등의 컴퓨팅 자원이나 카카오 i 클라우드에서 제공하는 서비스를 추상화한 단위입니다.

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

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

IAM 레벨

카카오 i 클라우드의 IAM 레벨은 조직과 프로젝트 단위로 구분됩니다.

IAM 레벨

항목 설명
조직 레벨 IAM 조직을 관리하는 IAM 서비스
- 사용자, 역할, 그룹, 프로젝트를 관리
- 조직 레벨 IAM 서비스로 이동하는 방법:
  ㄴ 카카오 i 클라우드 콘솔 상단에서 프로젝트 이름 클릭 후, 조직 또는 프로젝트 이동하기 팝업창에서 조직 이름 클릭
프로젝트 레벨 IAM 각 프로젝트 별로 관리하는 IAM 서비스
- 프로젝트 구성원과 프로젝트 역할을 조회하거나 관리
- 프로젝트 레벨 IAM 서비스로 이동하는 방법:
  ㄴ 카카오 i 클라우드 콘솔 상단에서 프로젝트 이름 클릭 후, 조직 또는 프로젝트 이동하기 팝업창에서 프로젝트 이름 클릭

사용자

사용자는 카카오 i 클라우드 콘솔에 로그인할 수 있는 계정 단위입니다. 사용자는 특정 프로젝트 구성원이면서 동시에 그룹 구성원일 수 있습니다.

IAM 사용자

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

그룹

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

그림. 그룹 구조 이미지 그룹 구조

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

서비스 계정

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

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

API 인증 토큰

서비스 계정에 생성한 액세스 키와 액세스 보안 키를 사용하여 API 인증 토큰을 발급할 수 있습니다. 액세스 키와 액세스 보안 키 관리에 대한 자세한 내용은 IAM > 서비스 계정 관리하기 문서를 참고하시기 바랍니다.

서비스 계정 할당량

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

서비스 에이전트 계정

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

프로젝트에 생성된 서비스 에이전트 목록은 카카오 i 클라우드 콘솔 > IAM(프로젝트 레벨) > Service Account 탭에서 조회할 수 있습니다.

IAM 역할

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

기본 역할

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

조직 레벨 역할

조직 레벨 역할은 조직 소유자, 조직 관리자, 빌링 관리자, 빌링 매니저, 빌링 뷰어, 트레일 뷰어로 구성됩니다. 조직 소유자는 조직 생성을 신청한 사용자에게 자동으로 부여되는 최상위 역할이며, 조직 관리자는 조직 내 모든 IAM 사용자와 역할을 관리할 수 있는 권한을 가지는 역할입니다.
Billing 서비스 관련 역할인 빌링 관리자, 빌링 매니저, 빌링 뷰어는 요금과 결제를 관리할 수 있는 권한을 가지며, 트레일 뷰어는 Cloud Trail 서비스에 한정된 권한을 가집니다. 빌링 관리자, 빌링 매니저, 빌링 뷰어 역할에 따른 Billing 서비스 이용에 대한 자세한 내용은 Billing > Overview 문서를 참고하시기 바랍니다.

조직 레벨 역할

역할 설명
조직 소유자 조직 생성을 신청한 사용자가 자동으로 획득하는 역할
- 조직 생성 시 조직 관리자, 빌링 관리자 역할을 함께 획득
- 조직 소유자 역할은 삭제가 불가능하며, 다른 사용자에게 역할 이양 필요
조직 관리자 조직과 프로젝트(리소스 제외)를 관리하는 역할
- 조직에 사용자 등록 및 삭제 가능
- 그룹 생성 및 삭제, 프로젝트 생성 가능
헬프데스크 일반 문의글의 답변 상태 및 질문 유형 변경 가능
빌링 관리자 Billing 서비스에서 결제 수단, 크레딧 등록 및 관리
- 빌링 매니저 역할의 모든 권한 포함
빌링 매니저 Billing 서비스에서 조직 내 모든 프로젝트의 리소스 사용량 및 예상요금 조회
- 빌링 뷰어 역할의 모든 권한 포함
빌링 뷰어 Billing 서비스에 접근하여 특정 프로젝트의 리소스 사용량 및 예상요금 조회
트레일 뷰어 Cloud Trail 서비스 한정 역할
- 조직 이벤트(프로젝트 생성/삭제, 콘솔 로그인/로그아웃, 빌링 조회) 및 프로젝트 이벤트 조회 가능
- 조회할 수 있는 이벤트에 대한 자세한 내용은 Cloud Trail > Overview 문서 참고

조직 레벨 역할별 조직 관리 권한

권한 조직 소유자 조직 관리자 빌링 관리자 빌링 매니저 빌링 뷰어
조직 생성/삭제 신청        
조직 정보 수정        
사용자 등록/삭제        
IAM 역할 추가/삭제        
그룹 관리        
헬프데스크 일반 문의 답변 관리        
IdP 연동 및 로그인 정보 설정        
빌링 역할 추가/삭제        
결제수단 관리        
크레딧 관리        
청구서 조회      
전체 프로젝트 예상요금 조회      
특정 프로젝트 예상요금 조회    

프로젝트 레벨 역할

프로젝트 레벨 역할은 프로젝트 관리자와 프로젝트 멤버로 구성됩니다. 프로젝트 구성원을 관리하거나, 프로젝트 리소스에 접근할 수 있는 권한을 가집니다. 특정 프로젝트에 접근하려면 반드시 해당 프로젝트 레벨 역할이 있어야 합니다.
사용자에게 프로젝트 역할 추가 및 삭제하기는 조직 관리자 또는 해당 프로젝트 관리자만 가능합니다.

프로젝트 역할 유형

역할 설명
프로젝트 관리자 소속 프로젝트 내 모든 리소스 접근 및 관리 권한을 가지는 역할
- 프로젝트 리소스 CRUD(생성, 수정, 삭제) 가능
- 사용자의 프로젝트 레벨 역할 추가, 삭제, 변경 가능
- 프로젝트 멤버의 모든 권한 포함
프로젝트 멤버 소속 프로젝트 내 모든 리소스 접근 및 관리 권한을 가지는 역할
- 프로젝트 리소스 CRUD(생성, 수정, 삭제) 가능

프로젝트 레벨 역할별 권한

권한 조직 소유자 조직 관리자 프로젝트 관리자 프로젝트 멤버
프로젝트 생성/삭제      
프로젝트 정보 수정      
프로젝트 레벨 역할 관리    
프로젝트 내 전체 리소스 CRUD    
프로젝트 내 소유한 리소스 CRUD    

서비스별 프로젝트 멤버 권한

서비스마다 프로젝트 멤버의 권한이 상이합니다. 자세한 내용은 서비스별 관련 문서를 참고하시기 바랍니다.

그룹 권한

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

사용 가이드

안내
카카오 i 클라우드의 IAM 서비스에 대한 자세한 사용 가이드는 IAM > How-to Guides를 참고하시기 바랍니다.

IAM 사용 가이드

문서 설명
조직 생성 및 관리하기 조직 생성 및 삭제와 관리하는 방법을 설명합니다.
프로젝트 생성 및 관리하기 프로젝트 생성 및 삭제와 관리하는 방법을 설명합니다.
사용자 관리하기 사용자 등록 및 삭제와 정보를 조회하는 방법을 설명합니다.
그룹 관리하기 그룹을 생성 및 삭제하고, 그룹 구성원 및 권한 관리를 설명합니다.
역할 관리하기 조직·빌링 역할을 추가하거나 삭제하는 방법을 설명합니다.
서비스 계정 관리하기 서비스 계정 및 액세스 키를 관리하는 방법을 설명합니다.
IdP OAuth 연동하기 IdP OAuth 연동 기능을 사용하여 외부 Idp 계정으로 카카오 i 클라우드에 로그인하는 방법을 설명합니다.
IdP SAML 연동하기 IdP SAML 연동 기능을 사용하여 외부 Idp 계정으로 카카오 i 클라우드에 로그인하는 방법을 설명합니다.