루트 구획 아래에 하위 구획을 생성하여 리소스 관리 계획에 맞는 방식으로 클라우드 리소스를 구성할 수 있습니다. 또한 구획을 생성할 때 사용자 그룹이 해당 구획의 리소스에 대해 수행할 수 있는 작업을 지정하는 정책을 생성하여 구획에 대한 액세스를 제어할 수 있습니다.
구획을 작성할 때 아래 사항에 유의하여 작성해야 합니다.
테넌시 설정을 계획할 때 또 다른 주요 고려 사항은 누가 어떤 리소스에 액세스해야 하는지입니다. 서로 다른 사용자 그룹이 리소스에 액세스해야 하는 방법을 정의하면 리소스를 가장 효율적으로 구성하는 방법을 계획하는 데 도움이 되며 액세스 정책을 더 쉽게 작성하고 유지 관리할 수 있습니다.
예를 들어 다음과 같은 요구 사항이 있는 사용자 그룹 또는 사용자가 있을 수 있습니다.
관련하여 몇 가지 샘플 정책은 공통 정책 을 참고하여 작성할 수 있습니다.
조직이 작거나 아직 Oracle Cloud Infrastructure를 평가하는 개념 증명 단계에 있는 경우 모든 리소스를 루트 구획(테넌시)에 배치하는 것을 고려할 수 있습니다. 이 접근 방식을 사용하면 모든 리소스를 쉽고 빠르게 보고 관리할 수 있습니다. 여전히 정책을 작성하고 그룹을 생성하여 액세스가 필요한 사용자에게만 특정 리소스에 대한 권한을 제한할 수 있습니다.
단일 구획 접근 방식을 위한 설정 작업 예시
회사에 별도로 관리하려는 여러 부서가 있거나 회사에 개별적으로 관리하기 쉬운 여러 개별 프로젝트가 있는 경우 이 접근 방식을 고려하십시오.
이 접근 방식에서는 해당 프로젝트에 대한 액세스 정책을 설정할 수 있는 각 구획(프로젝트)에 대한 전용 관리자 그룹을 추가할 수 있습니다. (사용자 및 그룹은 여전히 테넌시 수준에서 추가되어야 합니다.) 루트 구획 또는 다른 프로젝트에 대한 관리자 권한을 허용하지 않으면서 한 그룹에 모든 리소스에 대한 제어 권한을 부여할 수 있습니다. 이러한 방식으로 회사의 여러 그룹이 자체 리소스에 대한 자체 “하위 클라우드”를 설정하고 독립적으로 관리할 수 있습니다.
다중 구획 접근 방식을 위한 설정 작업 예시
Allow group ProjectA_Admins to manage all-resources in compartment ProjectA
이 시나리오의 목표는 다양한 IAM 구성 요소가 함께 작동하는 방식과 정책의 기본 기능을 확인하는 것입니다.
시나리오 배경
Acme Company는 Oracle Cloud Infrastructure를 사용하기 위해 등록 하고 Wenpei라는 직원이 기본 관리자가 될 것임을 Oracle에 알립니다(계정 등록). 이에 대한 응답으로 Oracle에서는 테넌시 설정하는 단계에서 다음과 같은 절차를 자동으로 진행합니다.(이 단계에서 계정 등록 외에 별도로 사용자가 수행하는 작업은 없습니다.)
Allow group Administrators to manage all-resources in tenancy
기본 관리자로 지정된 사용자 Wenpei는 다음으로 여러 그룹과 사용자를 생성합니다(다음 다이어그램 참조).
다음으로 Wenpei는 구획을 생성하여 리소스를 함께 그룹화합니다(다음 다이어그램 참조).
그런 다음 Wenpei는 각 구획의 관리자에게 필요한 액세스 수준을 부여하는 정책을 만들고 정책을 테넌시에 연결합니다. 테넌시의 정책은 관리할 수 있는 액세스 권한이 있는 사용자만 업데이트하거나 삭제할 수 있습니다. 이 시나리오에서는 관리자 그룹만 해당됩니다.
정책 관련 요구 사항
정책 예시
Allow group NetworkAdmins to manage virtual-network-family in compartment Networks
Allow group NetworkAdmins to manage instance-family in compartment Networks
Allow group A-Admins,B-Admins to use virtual-network-family in compartment Networks
Allow group A-Admins to manage all-resources in compartment Project-A
Allow group B-Admins to manage all-resources in compartment Project-B
A-Admins 및 B-Admins는 Networks 구획에서 virtual-network-family를 사용할 수 있습니다. 그러나 해당 구획에서 인스턴스를 생성할 수 없습니다. Project-A 또는 Project-B 구획에서만 인스턴스를 생성할 수 있습니다. 구획은 물리적 그룹이 아닌 논리적 그룹이므로 동일한 VCN을 구성하거나 상주하는 리소스가 다른 구획에 속할 수 있습니다.
정책 관련 요구 사항
Acme Company는 Project-A 및 Project-B 구획의 관리자가 해당 구획의 리소스를 사용할 수 있는 사용자를 결정하도록 하려고 합니다. 따라서 Wenpei는 A-Users와 B-Users라는 두 개의 그룹을 더 만듭니다. 그런 다음 구획 관리자에게 해당 그룹에서 사용자를 추가 및 제거하는 데 필요한 필수 액세스 권한을 부여하는 6개의 명령문을 추가합니다.
정책 예시
Allow group A-Admins to use users in tenancy where target.group.name='A-Users'
Allow group A-Admins to use groups in tenancy where target.group.name='A-Users'
Allow group B-Admins to use users in tenancy where target.group.name='B-Users'
Allow group B-Admins to use groups in tenancy where target.group.name='B-Users'
Allow group A-Admins,B-Admins to inspect users in tenancy
Allow group A-Admins,B-Admins to inspect groups in tenancy
위 정책은 프로젝트 관리자가 새 사용자를 만들 거나 사용자의 자격 증명을 관리하도록 허용하지 않습니다. 다만, 각 프로젝트 관리자는 A-Users 및 B-Users 그룹에 속할 수 있는 기존 사용자를 결정할 수 있습니다. 마지막 두 문은 A-Admins 및 B-Admins가 모든 사용자 및 그룹을 나열하고 어떤 사용자가 어떤 그룹에 있는지 확인하는 데 필요합니다.
다이어 그램
다이어 그램에 적용된 모든 정책
Allow group Administrators to manage all-resources in tenancy
Allow group NetworkAdmins to manage virtual-network-family in compartment Networks
Allow group NetworkAdmins to manage instance-family in compartment Networks
Allow group A-Admins, B-Admins to use virtual-network-family in compartment Networks
Allow group A-Admins to manage all-resources in compartment Project-A
Allow group B-Admins to manage all-resources in compartment Project-B
Allow group A-Admins to use users in tenancy where target.group.name=’A-Users’
Allow group A-Admins to use groups in tenancy where target.group.name=’A-Users’
Allow group B-Admins to use users in tenancy where target.group.name=’B-Users’
Allow group B-Admins to use groups in tenancy where target.group.name=’B-Users’
Allow group A-Admins, B-Admins to inspect users in tenancy
Allow group A-Admins, B-Admins to inspect groups in tenancy
이 시점에서 Alex는 관리자 그룹에 속해 있으며 이제 새 사용자를 만들 수 있는 액세스 권한이 있습니다. 따라서 그는 Leslie, Jorge 및 Cheri라는 이름의 사용자를 생성하고 이들을 각각 NetworkAdmins, A-Admins 및 B-Admins 그룹에 배치합니다. 또한 Alex는 결국 프로젝트 A 및 프로젝트 B의 관리자에 의해 A-Users 및 B-Users 그룹에 추가될 다른 사용자를 생성합니다.
다이어 그램
다이어 그램 적용된 모든 정책
Allow group Administrators to manage all-resources in tenancy
Allow group NetworkAdmins to manage virtual-network-family in compartment Networks
Allow group NetworkAdmins to manage instance-family in compartment Networks
Allow group A-Admins, B-Admins to use virtual-network-family in compartment Networks
Allow group A-Admins to manage all-resources in compartment Project-A
Allow group B-Admins to manage all-resources in compartment Project-B
Allow group A-Admins to use users in tenancy where target.group.name=’A-Users’
Allow group A-Admins to use groups in tenancy where target.group.name=’A-Users’
Allow group B-Admins to use users in tenancy where target.group.name=’B-Users’
Allow group B-Admins to use groups in tenancy where target.group.name=’B-Users’
Allow group A-Admins, B-Admins to inspect users in tenancy
Allow group A-Admins, B-Admins to inspect groups in tenancy
이번 포스팅에서는 OCI의 테넌시 설정시 참고하실 수 있도록 모범사례를 통해 각 요구사항에 맞는 테넌시를 설정하는 방법에대해 알아보았습니다. 테넌시 설정을 고려하고 계시는 사용자에게 도움이 되셨으면 좋겠습니다.
이 글은 개인적으로 얻은 지식과 경험을 작성한 글로 내용에 오류가 있을 수 있습니다. 또한 글 속의 의견은 개인적인 의견으로 특정 회사를 대변하지 않습니다.
Younghwan Cho GETTING-STARTED
oci tenancy best practices setting compartment policy sandbox 테넌시 기본설정 설정 계정설정 구획