이 글에서는 Oracle Cloud Infrastructure(OCI)의 ID 및 액세스 관리(IAM) 구성 요소를 소개하고, OCI 클라우드 리소스를 효과적으로 관리하는 데 유용한 주요 기능들을 살펴봅니다.
또한 특정 리소스에 대해 사용자 그룹에 할당할 수 있는 액세스 유형과, OCI를 Oracle Identity Cloud Service(IDCS)와 연동하는 페더레이션 방법까지 함께 안내합니다.
IAM의 주요 구성 요소
IAM은 다음과 같은 구성 요소로 이루어져 있습니다.
리소스(Resource)
리소스는 OCI에서 생성되는 객체를 의미합니다. 컴퓨트 인스턴스, 블록 스토리지, 가상 클라우드 네트워크(VCN), 서브넷 등이 대표적인 예입니다.
사용자(User)
사용자는 하나 이상의 그룹에 소속되며, 해당 그룹에 적용된 테넌시 및 컴파트먼트 정책에 따라 제한된 권한으로 OCI 리소스에 접근할 수 있습니다.
그룹(Group)
그룹은 동일한 OCI 리소스에 접근 권한을 갖는 사용자들의 집합입니다. 한 명의 사용자는 여러 그룹에 동시에 속할 수 있습니다.
동적 그룹(Dynamic Group)
동적 그룹은 보안을 강화하고 키를 서버가 아닌 클라이언트 측에서 관리할 수 있도록 지원합니다. 동적 그룹은 컴파트먼트 내의 특정 인스턴스를 연결할 수 있으며, 동적 그룹에 정책을 할당하면 해당 인스턴스가 API를 통해 리소스에 접근하도록 허용할 수 있습니다.
컴파트먼트(Compartment)
컴파트먼트는 전역 논리 컨테이너로서, Compute, Storage, Network, Load Balancer 등 다양한 리소스에 대한 정책 적용과 액세스 제어를 가능하게 합니다. 예를 들어 정책을 활용해 관리자 외의 사용자는 해당 컴파트먼트에서 생성된 리소스를 사용하지 못하도록 제한할 수 있습니다.
테넌시(Tenancy)
테넌시는 기본 루트 컴파트먼트로서 모든 OCI 리소스를 포함합니다. 테넌시 내에서 관리자는 하나 이상의 컴파트먼트, 사용자, 그룹을 생성할 수 있으며, 그룹이 특정 컴파트먼트의 리소스를 사용할 수 있도록 하는 정책을 할당할 수 있습니다.
정책(Policy)
정책은 그룹 및 컴파트먼트 수준에서 누가 어떤 리소스에 접근할 수 있는지를 정의합니다. 액세스 수준은 다음 네 단계로 나뉩니다.
- Inspect: 리소스 목록 조회
- Read: 리소스 세부 정보 읽기
- Use: 리소스 사용
- Manage: 리소스 생성·수정·삭제 포함 전체 관리
리전(Region)
리전은 IAM 리소스가 위치하는 지리적 위치입니다. IAM 서비스 리소스는 전역적으로 관리되므로 하나의 테넌시가 여러 리전에 걸쳐 존재할 수 있습니다. 홈 리전에서 변경한 사항은 Oracle이 자동으로 모든 리전에 전파합니다.
페더레이션(Federation)
페더레이션은 두 개 이상의 당사자가 ID 공급자(IdP)와 서비스 공급자(SP) 역할을 하며 상호 신뢰를 맺는 메커니즘입니다. 사용자와 그룹은 ID 공급자 측에서 관리되며, IDCS는 기본적으로 OCI에 대한 페더레이션 기능을 제공합니다.
IAM 리소스
이 섹션에서는 리소스의 범위, 리소스 식별자, 리소스 제한에 대해 설명합니다.
리소스 범위
IAM은 리소스를 전역(global)으로 정의하기 때문에, 모든 리전과 가용성 도메인 구성 요소 전반에서 사용할 수 있습니다.
리소스 식별자(OCID)
OCI 리소스는 고유한 이름(OCID)으로 식별되며, 다음과 같은 형식을 따릅니다.
ocid1.<resource-type>.<realm>.[region][.future-use].<unique-ID>OCID의 각 자리 표시자는 다음 요소를 나타냅니다.
- ocid1: OCID 버전
- resource-type: 리소스 유형(instance, volume, VCN, subnet, user, group 등)
- realm: 일련의 리전 집합으로, 가용성 도메인과 엔터티를 공유합니다. realm 값은 다음과 같습니다.
- oc1: 상업용 리얼름
- oc2: Government Cloud 리얼름
- oc3: Federal Government Cloud 리얼름
리소스 제한
IAM 제한(limit)은 가용성 도메인 내에서 생성할 수 있는 최대 컴퓨트 인스턴스 수 등 IAM 리소스의 할당량(quota)을 제어합니다.
리전별 테넌시 제한과 사용량을 확인하려면 다음 단계를 따르세요.
- IAM 콘솔을 엽니다.
- User 메뉴를 열고 Tenancy를 클릭합니다.
- Service Limits를 클릭합니다.
특정 리소스가 서비스 제한에 도달한 경우, 제한 증가를 요청하여 필요에 따라 새 리소스를 계속 생성할 수 있습니다.
서비스 제한 증가를 요청하려면 다음 단계를 수행하세요.
- Help 메뉴에서 Support로 이동한 후 Request service limit increase를 클릭합니다.
- 다음 정보를 입력합니다.
- 주 담당자 연락처 정보
- 서비스 카테고리
- 리소스
- 요청 사유
- Submit Request를 클릭합니다.
ID 공급자와의 페더레이션
OCI는 다음 구성 요소 및 ID 공급자와의 페더레이션을 지원합니다.
- IDCS
- Microsoft Active Directory
- Microsoft Azure Active Directory
- Okta
- SAML(Security Assertion Markup Language) 2.0 프로토콜을 지원하는 ID 공급자
이 글의 예제에서는 ID 공급자로 IDCS를 사용합니다.
IDCS와 페더레이션하는 절차
1단계: IDCS에서 필요한 정보 가져오기
- 관리자 권한으로 OCI IDCS 콘솔에 로그인합니다.
- IDCS 콘솔에서 Applications를 클릭합니다.
- COMPUTEBAREMETAL을 클릭합니다.
- Configuration을 클릭합니다.
- General Information을 확장하여 Client ID를 확인합니다.
- Show Secret을 클릭하여 Client Secret을 확인합니다.
- Client ID와 Client Secret을 저장해 둡니다.
2단계: OCI에 ID 공급자 추가
- OCI 로그인 자격 증명으로 콘솔에 로그인합니다.
- Governance and Administration 탐색 메뉴를 열고 Identity > Federation을 클릭합니다.
- Add identity provider를 클릭합니다.
- 다음 정보를 입력합니다.
- Name: 모든 ID 공급자 중에서 고유한 이름이어야 합니다. Oracle이 이 이름을 테넌시에 등록하며 이후 수정할 수 없습니다.
- Description: 명확한 설명을 입력합니다.
- IDCS Base URL: 리소스 URL을 입력합니다.
- Client ID: 앞서 수집한 클라이언트 식별자를 입력합니다.
- Client secret: 앞서 수집한 클라이언트 시크릿을 입력합니다.
- Show Advanced Options를 클릭하고 다음 정보를 입력합니다.
- Encrypt Assertion: IdP에서 오는 어설션 암호화를 활성화하려면 체크박스를 선택합니다. 선택하지 않으면 IDCS 측에서 어설션 암호화를 별도로 구성해야 합니다.
- Tags: 리소스 생성 권한이 있다면 태그를 적용할 수 있습니다. 정의된 태그를 적용하려면 해당 태그 네임스페이스를 사용할 권한이 필요합니다.
- Continue를 클릭합니다.
- IDCS 그룹과 OCI IAM 그룹 간의 매핑을 정의합니다. IDCS 그룹은 0개, 1개 또는 여러 개의 IAM 그룹에 매핑할 수 있으며, 그 반대 방향의 매핑도 가능합니다.
설정이 완료되면 Federation 페이지의 테넌시 목록에 해당 ID 공급자가 표시됩니다. Oracle은 각 그룹 매핑에 OCID를 할당합니다.
3단계: 그룹에 대한 IAM 정책 구성
조직의 표준 절차에 따라 각 그룹에 필요한 IAM 정책을 설정합니다.
4단계: 페더레이션 사용자에게 테넌시 이름과 로그인 URL 제공
페더레이션 사용자에게 테넌시 이름과 로그인 URL을 안내합니다. URL 형식은 다음과 유사합니다.
https://console.us-cshburn-1.oraclecloud.com콘솔에서 ID 공급자 관리
이 섹션에서는 ID 공급자 삭제 방법과 IDCS에 대한 그룹 매핑의 추가, 수정, 삭제 방법을 설명합니다.
ID 공급자 삭제
ID 공급자를 삭제하려면 다음 단계를 수행합니다.
- 테넌시에서 ID 공급자를 삭제합니다.
- Governance and Administration 탐색 메뉴를 열고 Identity > Federation을 클릭하여 테넌시의 ID 공급자 목록을 확인합니다.
- 삭제할 ID 공급자를 클릭하여 상세 정보를 엽니다.
- Delete를 클릭하고 삭제를 확정합니다.
- IDCS 계정에서 테넌시를 삭제합니다.
- IDCS 콘솔을 열고 페더레이션 계정으로 로그인합니다.
- Applications를 클릭하여 애플리케이션 목록을 표시합니다.
- 해당 테넌시를 찾아 이름을 클릭하면 상세 페이지로 이동합니다.
- Deactivate를 클릭하고 비활성화를 확정합니다.
- Remove를 클릭하고 삭제를 확정합니다.
IDCS 그룹 매핑 추가
IDCS에 대한 그룹 매핑을 추가하려면 다음 단계를 수행합니다.
- Governance and Administration 탐색 메뉴를 열고 Identity를 클릭하여 테넌시의 ID 공급자 목록을 표시합니다.
- Federation을 클릭한 후 IDCS 페더레이션 이름을 클릭하여 상세 정보를 엽니다.
- Edit Provider Details를 클릭합니다.
- 매핑을 최소 하나 이상 추가합니다.
- + Add Mapping을 클릭합니다.
- Identity Provider Group 목록에서 IDCS 그룹을 선택합니다.
- IAM group을 선택하여 OCI 그룹 목록을 불러옵니다.
- 새 IAM 그룹을 만들지 않고 IAM에 새 OCI 그룹을 생성해 IdP 그룹과 바로 매핑하려면 New OCI Group을 선택합니다.
- 각 매핑마다 4번 단계를 반복하고, 모든 매핑을 추가한 후 Submit을 클릭합니다.
그룹 매핑 수정 또는 삭제
그룹 매핑을 수정하거나 삭제하려면 다음 단계를 수행합니다.
- Governance and Administration 탐색 메뉴를 열고 Identity > Federation을 클릭하여 테넌시의 ID 공급자 목록을 표시합니다.
- 수정할 ID 공급자를 클릭하여 상세 정보를 확인합니다.
- Edit Mapping을 클릭합니다.
- 매핑을 수정하거나 X를 클릭하여 해당 매핑을 삭제합니다.
- Submit을 클릭합니다.
결론
이 글에서는 다양한 IAM 구성 요소가 어떻게 함께 작동하는지 살펴보고, OCI에서 여러 IDCS 계정을 페더레이션으로 연동하는 방법을 소개했습니다.
궁금한 점이나 의견이 있다면 피드백 탭을 통해 남겨주세요. 지금 바로 채팅으로 문의할 수도 있습니다.
Oracle의 데이터베이스 서비스에 대해 더 알아보세요.