리소스 계층 구조

이 페이지에서는 Google Cloud Platform(GCP) 리소스 계층 구조와 Resource Manager를 사용하여 관리할 수 있는 리소스에 대해 설명합니다.

GCP 리소스 계층 구조의 목적은 다음 두 가지입니다.

  • 리소스 수명 주기를 계층 구조의 직속 상위 요소에 결합하는 소유권 계층 구조 제공
  • 액세스 제어 및 조직 정책의 연결 지점 및 상속 제공

비유적으로 말하면 GCP 리소스 계층 구조는 항목을 계층적으로 구성하고 관리하는 방식으로, 기존 운영체제의 파일 시스템과 유사합니다. 각 리소스는 단 하나의 상위 항목만 가집니다. 리소스의 이러한 계층적 조직을 사용하면 상위 리소스에서 액세스 제어 정책 및 구성 설정을 설정할 수 있고, 하위 리소스에 해당 정책 및 IAM 설정이 상속됩니다.

GCP 리소스 계층 구조 세부정보

최하위 수준에 있는 리소스가 모든 GCP 서비스를 구성하는 기본 요소입니다. Compute Engine 가상 머신(VM), Cloud Pub/Sub 주제, Cloud Storage 버킷, App Engine 인스턴스가 리소스의 예에 해당합니다. 프로젝트만 이러한 모든 하위 수준 리소스의 상위 항목이 될 수 있으며, GCP 리소스 계층 구조의 첫 번째 그룹화 메커니즘을 나타냅니다.

G Suite 및 Cloud ID 고객은 중앙 집중식 공개 및 제어와 같은 이점과 폴더와 같은 추가 그룹화 메커니즘을 제공하는 GCP 리소스 계층 구조의 추가 기능에 액세스할 수 있습니다. Google에서는 Cloud ID 관리 도구를 출시했습니다. Cloud ID 사용 방법에 관한 자세한 내용은 Cloud ID로 이전을 참조하세요.

GCP 리소스는 계층적으로 구성됩니다. 계층 구조 하단부터 프로젝트가 첫 번째 수준이고 여기에 다른 리소스가 포함됩니다. 조직을 제외한 모든 리소스에는 정확히 한 개의 상위 요소가 있습니다. 조직은 계층 구조의 최상위 요소이며 상위 요소가 없습니다.

조직 리소스는 GCP 리소스 계층 구조의 루트 노드이며 조직에 속하는 모든 리소스는 조직 노드 아래에 그룹화됩니다. 이는 조직에 속하는 모든 리소스에 대한 중앙 집중식 가시성 및 제어를 제공합니다.

폴더는 프로젝트 기반의 추가 그룹화 메커니즘입니다. 폴더를 사용하려면 선행 조건으로 조직 리소스가 있어야 합니다. 폴더와 프로젝트는 모두 조직 리소스 아래 매핑됩니다.

특히 조직 리소스와 폴더를 포함하는 가장 완벽한 형태의 GCP 리소스 계층 구조를 사용하면 회사에서 조직을 GCP로 매핑할 수 있고 액세스 관리 정책(Cloud Identity and Access Management) 및 조직 정책에 대한 논리적 연결 지점을 제공할 수 있습니다. Cloud IAM 정책과 조직 정책은 계층 구조를 통해 상속되며, 계층 구조의 각 노드에서 유효 정책은 노드에서 직접 적용되는 정책과 상위 항목에서 상속된 정책의 결과입니다.

아래 다이어그램은 완벽한 형태의 GCP 리소스 계층 구조의 대표적인 예입니다.

리소스 계층 구조

조직 리소스

조직 리소스는 조직(예: 회사)을 의미하며 GCP 리소스 계층 구조에서 루트 노드로 사용됩니다. 조직 리소스는 프로젝트 리소스 및 폴더의 계층적 상위 항목입니다. 조직 리소스에 적용된 IAM 액세스 제어 정책은 조직의 모든 리소스에 대한 계층 구조 전체에 적용됩니다.

GCP 사용자는 조직 리소스가 필요하지 않습니다. 사용자는 G Suite 또는 Cloud ID 고객인 경우에만 조직 리소스를 획득합니다. 조직 리소스는 G Suite 또는 Cloud ID 계정과 긴밀하게 연결됩니다. 각 G Suite 또는 Cloud ID 계정은 프로비저닝된 조직을 단 하나만 가질 수 있습니다. 한 도메인에 대한 조직 리소스가 생성된 후 계정 도메인의 구성원이 만든 모든 GCP 프로젝트는 기본적으로 조직 리소스에 속합니다.

편의상 G Suite는 G Suite 사용자와 Cloud ID 사용자를 모두 의미합니다.

G Suite 또는 Cloud ID 계정은 회사를 나타내며 조직 리소스에 대한 액세스 권한을 갖기 위한 선행 조건입니다. 이는 GCP 컨텍스트에서 ID 관리, 복구 메커니즘, 소유권, 수명 주기 관리 기능을 제공합니다. 아래 그림은 G Suite 계정, Cloud ID, GCP 리소스 계층 구조 간의 연결을 보여줍니다.

G Suite 조직


G Suite 최고 관리자는 복구 시 도메인 소유권 확인 및 연락 담당자입니다. 이러한 이유로 G Suite 최고 관리자에게는 기본적으로 Cloud IAM 역할을 할당할 수 있는 권한이 부여됩니다. GCP와 관련된 G Suite 최고 관리자의 기본 업무는 조직 관리자 IAM 역할을 도메인의 적절한 사용자에게 할당하는 것입니다. 이렇게 하면 일반적으로 사용자가 원하는 것처럼 G Suite 관리 책임과 GCP 관리 책임을 구분할 수 있습니다.

조직 리소스의 이점

조직 리소스가 있으면 프로젝트가 프로젝트를 만든 직원이 아니라 조직에 속하게 됩니다. 즉, 직원이 퇴사해도 프로젝트가 더 이상 삭제되지 않습니다. 대신 Google Cloud Platform에서 조직의 수명 주기를 따릅니다.

또한 조직 관리자는 모든 리소스를 중앙에서 제어할 수 있습니다. 또한 회사의 모든 프로젝트를 보고 관리할 수 있습니다. 이 시행으로 인해 더 이상 비공식 프로젝트 또는 확인되지 않은 관리자가 있을 수 없습니다.

또한 조직 리소스의 모든 프로젝트 및 폴더에 상속되는 역할을 조직 수준에서 부여할 수 있습니다. 예를 들어 조직 수준에서 네트워크 관리자 역할을 네트워킹팀에 부여할 수 있습니다. 그러면 모든 개별 프로젝트에 대한 역할을 부여하지 않고도 회사의 모든 프로젝트에서 모든 네트워크를 관리히도록 할 수 있습니다.

Resource Manager API를 사용하여 만든 조직 리소스는 다음으로 구성됩니다.

  • 조직의 고유한 식별자인 조직 ID
  • G Suite 또는 Cloud Identity의 기본 도메인 이름에서 생성되는 표시 이름
  • 조직의 생성 시간
  • 조직의 마지막 수정 시간
  • 조직 소유자. 소유자는 조직 리소스를 만들 때 지정됩니다. 소유자를 설정한 후에는 변경할 수 없습니다. Directory API에서 지정되는 G Suite 고객 ID입니다.

다음 코드 스니펫은 조직 리소스의 구조를 보여줍니다.

{
  "displayName": "myorganization",
  "organizationId":"34739118321",
  "createTime": "2016-01-07T21:59:43.314Z"
  "owner": {
    "directoryCustomerId": "C012BA234"
   }
}

새로 만든 조직 리소스의 초기 IAM 정책은 프로젝트 생성자 및 결제 계정 생성자 역할을 전체 G Suite 도메인에 부여합니다. 즉, 사용자는 조직이 존재하기 전에 했던 것처럼 프로젝트 및 결제 계정을 계속 만들 수 있습니다. 조직 리소스를 만들 때 다른 리소스는 만들어지지 않습니다.

폴더 리소스

폴더 리소스는 프로젝트 간에 추가 그룹화 메커니즘과 격리 경계를 제공합니다. 이는 조직 내에서 하위 조직으로 보일 수 있습니다. 폴더는 회사 내의 다양한 법인, 부서, 팀을 모델링하는 데 사용할 수 있습니다. 예를 들어 폴더의 첫 번째 수준을 사용하여 조직의 주요 부서를 나타낼 수 있습니다. 폴더는 프로젝트와 다른 폴더를 포함할 수 있으므로 각 폴더는 다른 팀을 나타내는 다른 하위 폴더를 포함할 수 있습니다. 각 팀 폴더는 다른 애플리케이션을 나타내는 추가적인 하위 폴더를 포함할 수 있습니다. 폴더 사용에 관한 자세한 내용은 폴더 만들기 및 관리를 참조하세요.

조직에 폴더 리소스가 존재하고 적절한 보기 권한이 있는 경우 해당 폴더를 Google Cloud Platform 콘솔에서 볼 수 있습니다. 자세한 내용은 폴더 및 프로젝트 보기 또는 나열을 참조하세요.

폴더를 사용하여 관리 권한을 삭제할 수 있으므로 부서 책임자에게 해당 부서에 속하는 모든 GCP 리소스의 완전한 소유권을 부여할 수 있습니다. 이와 유사하게 리소스에 대한 액세스 권한은 폴더별로 제한할 수 있으므로 한 부서의 사용자는 해당 폴더 내의 클라우드 리소스만 액세스하고 만들 수 있습니다.

다음 코드 스니펫은 폴더의 구조를 보여줍니다.

{
 "name" : "folders/my-folder",
 "parent" : "organizations/my-organization",
 "displayName" : "Engineering",
 "lifecycleState" : "ACTIVE",
 "createTime": "2016-01-07T21:59:43.314Z"
}

조직 및 프로젝트와 마찬가지로 폴더는 IAM 및 조직 정책에 대한 정책 상속 지점의 역할을 합니다. 폴더에 부여된 IAM 역할은 해당 폴더에 포함된 모든 프로젝트 및 폴더에 자동으로 상속됩니다.

프로젝트 리소스

프로젝트 리소스는 기본 수준의 구성 항목입니다. 조직 및 폴더는 여러 프로젝트를 포함할 수 있습니다. 프로젝트는 Google Cloud Platform을 사용하는 데 필요하며 모든 GCP 서비스를 만들고 사용 설정하고 사용하며, API를 관리하고, 결제를 사용 설정하고, 공동작업자를 추가 및 삭제하고, 권한을 관리하기 위한 기반을 형성합니다.

모든 프로젝트는 다음으로 구성됩니다.

  • 식별자 2개:
    1. 프로젝트의 고유한 식별자인 프로젝트 ID
    2. 프로젝트를 만들 때 자동으로 할당되는 프로젝트 번호. 읽기 전용입니다.
  • 변경 가능한 표시 이름 1개
  • 프로젝트의 수명 주기 상태(예: ACTIVE 또는 DELETE_REQUESTED)
  • 프로젝트를 필터링하는 데 사용할 수 있는 라벨 컬렉션
  • 프로젝트가 생성된 시간

다음 코드 스니펫은 프로젝트의 구조를 보여줍니다.

{
  "name": "myproject",
  "projectId": "my-project-123",
  "labels":
   {
     "my-label": "prod"
   },
   "projectNumber": "464036093014",
   "lifecycleState": "ACTIVE",
   "createTime": "2016-01-07T21:59:43.314Z"
}

대부분의 GCP 리소스와 상호작용하려면 모든 요청에 대해 프로젝트 식별 정보를 제공해야 합니다. 프로젝트는 프로젝트 ID 또는 프로젝트 번호(코드 스니펫의 projectIdprojectNumber)로 식별할 수 있습니다.

프로젝트 ID는 프로젝트를 만들 때 선택한 커스텀 이름입니다. 프로젝트가 필요한 API를 활성화하면 프로젝트 ID를 사용하여 프로젝트를 만들거나 프로젝트를 선택하라는 메시지가 표시됩니다(UI에 표시되는 name 문자열이 프로젝트 ID와 동일하지 않음).

프로젝트 번호는 GCP에 의해 자동으로 생성됩니다. 프로젝트 ID와 프로젝트 번호 모두 Google Cloud Platform 콘솔의 프로젝트 대시보드에서 확인할 수 있습니다. 프로젝트에 대한 프로젝트 식별자 및 기타 관리 작업을 가져오는 방법은 프로젝트 만들기 및 관리를 참조하세요.

새로 만든 프로젝트 리소스의 초기 IAM 정책은 소유자 역할을 프로젝트 생성자에게 부여합니다.

IAM 정책 상속

Google Cloud Platform은 사용자가 특정 Google Cloud Platform 리소스에 대한 세부적인 액세스 권한을 부여하고 다른 리소스에 대한 무단 액세스를 방지할 수 있는 Cloud Identity and Access Management(IAM)를 제공합니다. IAM을 사용하면 리소스에 IAM 정책을 설정하여 어떠한 리소스에 대해 누구(사용자)에게 어떠한 액세스 권한(역할)이 있는지 제어할 수 있습니다.

IAM 정책은 조직 수준, 폴더 수준, 프로젝트 수준, 리소스 수준(일부 경우)에서 설정할 수 있습니다. 리소스는 상위 노드의 정책을 상속합니다. 조직 수준에서 정책을 설정하면 모든 하위 폴더로 정책이 상속되며, 프로젝트 수준에서 정책을 설정하면 모든 하위 리소스로 정책이 상속됩니다.

리소스의 유효 정책은 해당 리소스에 설정된 정책과 상위 리소스에서 상속된 정책의 합집합입니다. 이 상속은 하위 수준으로 전이됩니다. 다시 말해 리소스는 프로젝트에서 정책을 상속하고, 프로젝트는 조직에서 정책을 상속합니다. 따라서, 조직 수준 정책은 리소스 레벨에도 적용됩니다.

리소스 계층 구조


예를 들어 위의 리소스 계층 구조 다이어그램에서 프로젝트 편집자 역할을 bob@example.com에 부여하는 정책을 폴더 'Dept Y'에 설정하면 Bob은 프로젝트 'Dev GCP','Test GCP', 'Production'에 대한 편집자 역할을 갖게 됩니다. 반대로 프로젝트 'Test GCP'에 대한 인스턴스 관리자 역할을 alice@example.com에 부여하면 해당 프로젝트에서 Compute Engine 인스턴스만 관리할 수 있습니다.

Cloud IAM 정책 계층 구조는 GCP 리소스 계층 구조와 동일한 경로를 따릅니다. 리소스 계층 구조를 변경하면 정책 계층 구조도 변경됩니다. 예를 들어 프로젝트를 조직으로 이동하면 프로젝트의 IAM 정책이 해당 조직의 IAM 정책을 상속하도록 업데이트됩니다. 이와 유사하게 프로젝트를 폴더 간에 이동하면 상속된 권한이 변경됩니다. 원래의 상위 항목에서 프로젝트에 상속된 권한은 프로젝트가 새로운 폴더로 이동할 때 상실됩니다. 대상 폴더에서 설정된 권한은 이동될 때도 프로젝트에 상속됩니다.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Resource Manager 문서