Skip to main content

Key Concepts

KakaoCloud IAM uses Role Based Access Control (RBAC) to manage permissions for users, organizations, and projects through predefined roles.

Resource

Resource refers to computing assets like instances, storage, networks that can be created in a project, or services provided by KakaoCloud.

ItemDescription
OrganizationThe highest concept in the KakaoCloud hierarchy, where projects, users, etc., can be grouped into an abstracted space
Project    A higher unit owning service-level resources
- Must belong to a specific organization
- Resource quotas are set at the project level
- Users must acquire project roles to access resources
ServiceIndividual products provided by KakaoCloud
- All resources within a service are created and managed under a project
- e.g. VM, VPC, Object Storage, etc.

IAM roles

KakaoCloud IAM is categorized into Organization-level and Project level scopes.

CategoryDescription
OrganizationIAM service for managing the organization
- Manage users, roles, groups, and projects
- Navigate to the organization IAM service:
  ㄴ KakaoCloud Console > IAM > Organization
ProjectIAM service managed per project
- View or manage project members and their roles
- Navigate to the project IAM service:
  ㄴ KakaoCloud Console > Dashboard > Go to Project Management

User

A user is an account that can log in to the KakaoCloud Console. A user can be assigned roles in specific projects and can also belong to one or more groups.

FieldDescription
UserA KakaoCloud account that can log in to the console
- Can access both KakaoCloud Console and APIs
- Must be unique within the organization
Project roleA user who holds a project role (Project Admin, Project Member, Project Reader) in a specific project
- Users must be assigned a project role to access project resources
Group memberA user who belongs to a group
- Inherits IAM roles based on group permissions
- Group roles are immediately revoked if the user is removed from the group or the group is deleted
- See Group below for more information

Group

A group is a collection of users who share the same roles. By adding or removing permissions at the group level, you can efficiently manage IAM roles for multiple users at once.
When a role is assigned to a group, all group members inherit the role. When a role is removed from a group, it is immediately revoked from all members.
Note that individually assigned roles remain unaffected.

For more details on managing groups, refer to the Create and manage group guide.

Group structure
Group structure

Group policies
  • You can add multiple users to a group, and users can belong to multiple groups.
  • Only user accounts can be added to a group. Service accounts are not supported.
  • Groups cannot contain other groups.
  • If a group is deleted or a user is removed, the group-granted roles are immediately revoked.
  • API tokens issued to removed group members are immediately expired. (This does not apply if the user has other independently assigned roles.)

Service account

Service account is a user-created account that is not an actual IAM user account but can be used to issue authentication tokens required for calling KakaoCloud APIs.
Project members can use service account API tokens to call APIs and access or control resources in KakaoCloud services.
The service account ID follows the format {user-defined}-project-name@kc.serviceaccount.com. Service accounts belong to the project IAM scope and are automatically granted the Project Member role.
However, since service accounts are not KakaoCloud user accounts, they cannot log in to the console and do not appear in the organization user list.
For more details on creating and managing service accounts, refer to Manage service account.

   Item   Description
 Service accountAn account for issuing authentication tokens to call KakaoCloud APIs
- User-created and not an actual IAM user account
- ID format: {user-defined}-project-name@kc.serviceaccount.com

Service account credentials

You can create IAM access keys and S3 access keys from a service account.
Using the access key ID and secret access key of a created key, you can issue an API authentication token.
For more details on managing service account credentials, refer to Manage service account.

Service account quota

You can create up to 100 service accounts per project, including those in a deactivated state.
Each service account can have up to 2 IAM access keys and 2 S3 access keys per key type.
Note that service accounts are not counted toward the quota.

Service agent account

A service agent account is automatically created when using certain KakaoCloud services.
It is used by KakaoCloud services in the background to access resources or process user requests.
For example, when you add a node pool in the KakaoCloud Kubernetes Engine service, a Kubernetes Engine service agent account creates instances in the Virtual Machine service.

The ID format for a service agent account is project-name@service-name.kc.serviceaccount.com.
Service agent accounts cannot be created or deleted manually. However, deleting the project will also delete all associated service agent accounts.

You can view the list of service agents created in a project via the KakaoCloud Console:
Dashboard > Go to Project Management > Service Agent

IAM role

An IAM role in KakaoCloud is a collection of permissions.
When a user is granted a role, all the permissions associated with that role are automatically granted to the user.

Basic roles

Basic roles are predefined roles provided by KakaoCloud.
They are divided into organization roles and project roles, and users can have multiple roles assigned.
For more details, see Manage roles.

Organization roles

Organization roles consist of Org Admin, Org Reader, Billing Admin, Billing Manager, Billing Viewer, Trail Viewer, Alert Center Organization Manager, and Alert Center Organization Viewer.

info
  • The Org Owner is the user who applied for the creation of the organization. By default, the Org Admin and Billing Admin roles are assigned to this user.
  • You can transfer ownership to another user, who will then be assigned the same roles.
  • Only Org Owner can request the creation or deletion of an organization.

Organization roles

RoleDescription
Org AdminManages the organization and projects (excluding resources)
- Can register and delete users in the organization
- Can create and delete groups, and create projects
- Can manage responses and change question types in Helpdesk general inquiries
- Includes all permissions of the Org Reader role
Org ReaderCan view users and IAM roles in the organization and projects (cannot manage project resources)
Billing AdminManages payment methods and credits in the Billing service
- Includes all permissions of the Billing Manager role
Billing ManagerCan view project cost estimates and billing information in the Billing service
- Includes all permissions of the Billing Viewer role
Billing ViewerCan view resource usage and cost estimates for projects in the Billing service
Trail ViewerCan view organization events (e.g., project creation/deletion, console login/logout, billing views)
- For more details, see Manage IAM roles in Cloud Trail
- For event types, see Organization events viewable in Cloud Trail
Alert Center Organization ManagerManages organization-level alert policies and channels, and views alert history in Alert Center
- See Manage IAM roles in Alert Center
- For alertable events, refer to Alert policies in Alert Center
Alert Center Organization ViewerViews organization-level alert policies, channels, and history in Alert Center
- See Manage IAM roles in Alert Center for more information

Organization management permissions by role

PermissionOrg AdminOrg ReaderBilling AdminBilling ManagerBilling Viewer
Edit organization information
Register/delete users
Add/remove IAM roles
View organization/project info & IAM roles
Manage groups
Manage Helpdesk general inquiries
Configure login settings & IdP integration
Configure security settings
Add/remove billing roles
Manage payment methods
Manage credits
View billing statements
View all project cost estimates
View specific project cost estimates

Project role

Project roles include Project Admin, Project Member, Project Reader, and service-specific roles. These roles define permissions to manage project members or access project resources.
To access a specific project resource, the user must be granted a project role.
Assigning or removing project roles requires Org Admin or Project Admin privileges.

Types of project roles

RoleDescription
Project AdminHas full access and control over all project resources
- Can create, read, update, and delete project resources
- Can manage project settings
- Can assign, modify, and revoke project roles for users
- Can manage service accounts and agents
- Includes all permissions of the Project Member role
Project MemberHas permission to access and manage project resources
- Can create, read, update, and delete project resources
Project ReaderHas read-only access to project resources
- Can only view project resources
ObjectStorage ManagerCan create and list buckets in Object Storage
- Bucket management depends on role permissions per bucket
- See IAM roles for Object Storage
ObjectStorage ViewerCan list objects in Object Storage
- Bucket management depends on role permissions per bucket
- See IAM roles for Object Storage
Kubeflow AdminCan create, view, update, and delete Kubeflow service resources
Alert Center Project ManagerManages project-level alert policies, channels, and notifications in Alert Center
- See Manage IAM roles in Alert Center
- See Alert policies
Alert Center Project ViewerViews project-level alert policies, channels, and notification history in Alert Center
- See Manage IAM roles in Alert Center

Permissions by project role

PermissionOrg AdminProject AdminProject MemberProject Reader
Create/delete projects
Edit project info
Manage project roles
Manage service accounts
Full CRUD on all project resources
CRUD on owned resources
View owned resources
Project Member permissions by service

Permissions for Project Members may vary depending on the service. Refer to the user guide for each service for detailed information.

Group permissions

Group permissions are permissions granted to user groups by assigning organization or project roles. All group members automatically inherit the roles assigned to their group.
Group permissions allow administrators to manage multiple users and roles more efficiently.
For more information, refer to Create and manage group.