이 페이지에서는 Google Cloud 리소스 계층 구조와 Resource Manager로 관리할 수 있는 리소스를 설명합니다.
Google Cloud 리소스 계층 구조의 용도는 두 가지입니다.
- 리소스 수명 주기를 계층 구조의 직속 상위 요소에 결합하는 소유권 계층 구조 제공
- 액세스 제어 및 조직 정책의 연결 지점 및 상속 제공
비유적으로 말하면 Google Cloud 리소스 계층 구조는 항목을 계층적으로 구성하고 관리하는 방식으로, 기존 운영체제의 파일 시스템과 유사합니다. 일반적으로 각 리소스는 단 하나의 상위 요소만 가집니다. 리소스의 이러한 계층적 조직을 사용하면 상위 리소스에서 액세스 제어 정책 및 구성 설정을 설정할 수 있고, 하위 리소스에 해당 정책 및 Identity and Access Management(IAM) 설정이 상속됩니다.
Google Cloud 리소스 계층 구조 세부정보
Google Cloud 리소스는 계층적으로 구성됩니다. 계층 구조에서 최상위 리소스를 제외한 모든 리소스는 단 하나의 상위 요소만을 가집니다. 최하위 수준에 있는 서비스 리소스가 모든 Google Cloud 서비스를 구성하는 기본 구성요소입니다. Compute Engine 가상 머신(VM), Pub/Sub 주제, Cloud Storage 버킷, App Engine 인스턴스가 서비스 리소스의 예시에 해당합니다. 이러한 모든 하위 수준 리소스는 Google Cloud 리소스 계층 구조의 첫 번째 그룹화 메커니즘을 나타내는 프로젝트 리소스를 상위 항목으로 포함합니다.
무료 체험판 사용자, 무료 등급 사용자, Google Workspace 및 Cloud ID 고객을 포함한 모든 사용자가 프로젝트 리소스를 만들 수 있습니다. Google Cloud 무료 프로그램 사용자는 프로젝트 내에서 프로젝트 리소스 및 서비스 리소스만 만들 수 있습니다. 프로젝트 리소스는 계층 구조의 최상위 요소일 수 있지만 무료 체험판 사용자 또는 무료 등급 사용자가 만든 경우에만 해당됩니다. Google Workspace 및 Cloud ID 고객은 조직 및 폴더 리소스와 같은 Google Cloud 리소스 계층 구조의 추가 기능에 액세스할 수 있습니다. Cloud ID 개요에서 자세히 알아보세요. 계층 구조의 맨 위에 있는 프로젝트 리소스에는 상위 리소스가 없지만 도메인에 생성된 리소스는 조직 리소스로 마이그레이션할 수 있습니다. 프로젝트 리소스 마이그레이션에 대한 자세한 내용은 프로젝트 리소스 마이그레이션을 참조하세요.
Google Workspace 및 Cloud ID 고객은 조직 리소스를 만들 수 있습니다. 각 Google Workspace 또는 Cloud ID 계정은 하나의 조직 리소스에 연결됩니다. 조직 리소스가 있으면 Google Cloud 리소스 계층 구조의 최상위 요소이며, 조직에 속하는 모든 리소스는 조직 리소스 아래에 그룹화됩니다. 이는 조직 리소스에 속하는 모든 리소스에 대한 중앙 집중식 가시성 및 제어를 제공합니다.
폴더 리소스는 조직 리소스와 프로젝트 리소스 간의 선택적 그룹화 메커니즘입니다. 폴더를 사용하려면 기본 요건으로 조직 리소스가 있어야 합니다. 폴더 리소스와 하위 프로젝트 리소스는 조직 리소스 아래에 매핑됩니다.
특히 조직 리소스와 폴더 리소스가 포함된 가장 완벽한 형태의 Google Cloud 리소스 계층 구조를 사용하면 회사에서 조직 리소스를 Google Cloud로 매핑하고 액세스 관리 정책(IAM)과 조직 정책에 대한 논리적 연결 지점을 제공할 수 있습니다. IAM 정책과 조직 정책은 계층 구조를 통해 상속되며, 계층 구조에서 각 리소스의 유효 정책은 해당 리소스에 직접 적용된 정책과 상위 항목에서 상속된 정책의 결과입니다.
아래 다이어그램은 완벽한 형태의 Google Cloud 리소스 계층 구조의 대표적인 예시입니다.
조직 리소스
조직 리소스는 조직(예: 회사)을 나타내며, Google Cloud 리소스 계층 구조의 루트 노드입니다(있는 경우). 조직 리소스는 폴더 및 프로젝트 리소스의 계층적 상위 항목입니다. 조직 리소스에 적용된 IAM 액세스 제어 정책은 조직의 모든 리소스에 대한 계층 구조 전체에 적용됩니다.
Google Cloud 사용자에게는 조직 리소스가 필요 없지만 조직 리소스가 없으면 Resource Manager의 일부 기능을 사용할 수 없습니다. 조직 리소스는 Google Workspace 또는 Cloud ID 계정과 긴밀하게 연결됩니다. Google Workspace 또는 Cloud ID 계정을 가진 사용자가 Google Cloud 프로젝트 리소스를 만들면 조직 리소스가 자동으로 프로비저닝됩니다.
Google Workspace 또는 Cloud ID 계정 하나에는 조직 리소스 하나만 프로비저닝됩니다. 한 도메인에 조직 리소스가 생성되면 계정 도메인의 구성원이 만든 모든 새 Google Cloud 프로젝트 리소스는 기본적으로 조직 리소스에 속합니다. 관리형 사용자가 프로젝트 리소스를 만들 경우 이 리소스는 일부 조직 리소스에 있어야 합니다. 사용자가 조직 리소스를 지정하고 올바른 권한을 가지고 있으면 프로젝트가 지정된 조직에 할당됩니다. 그렇지 않으면 사용자와 연결된 조직 리소스에 기본 할당됩니다. 조직 리소스와 연결된 계정은 조직 리소스와 연결되지 않은 프로젝트 리소스를 만들 수 없습니다.
Google Workspace 또는 Cloud ID 계정과 연결
편의상 Google Workspace는 Google Workspace 사용자와 Cloud ID 사용자 모두를 의미합니다.
Google Workspace 또는 Cloud ID 계정은 회사를 나타내며 조직 리소스에 대한 액세스 권한을 갖기 위한 기본 요건입니다. 이는 Google Cloud 컨텍스트에서 ID 관리, 복구 메커니즘, 소유권, 수명 주기 관리 기능을 제공합니다. 다음 그림은 Google Workspace 계정, Cloud ID, Google Cloud 리소스 계층 구조 간의 연결을 보여줍니다.
Google Workspace 최고 관리자는 복구 시 도메인 소유권 확인 및 연락 담당자입니다. 이러한 이유로 Google Workspace 최고 관리자에게는 기본적으로 IAM 역할을 할당할 수 있는 권한이 부여됩니다. Google Cloud와 관련하여 Google Workspace 최고 관리자의 주요 업무는 조직 관리자 IAM 역할을 해당 도메인의 적절한 사용자에게 할당하는 것입니다. 이렇게 하면 일반적으로 사용자가 원하는 Google Workspace와 Google Cloud 관리 책임이 분리됩니다.
조직 리소스의 이점
조직 리소스가 있으면 프로젝트 리소스는 프로젝트를 만든 직원이 아니라 조직에 속하게 됩니다. 즉, 직원이 퇴사해도 프로젝트 리소스가 더 이상 삭제되지 않습니다. 대신 Google Cloud에서 조직 리소스의 수명 주기를 따릅니다.
또한 조직 관리자는 모든 리소스를 중앙에서 제어할 수 있습니다. 또한 회사의 모든 프로젝트 리소스를 보고 관리할 수 있습니다. 이 시행으로 인해 더 이상 비공식 프로젝트 또는 확인되지 않은 관리자가 있을 수 없습니다.
또한 조직 리소스의 모든 프로젝트 및 폴더 리소스에 상속되는 역할을 조직 수준에서 부여할 수 있습니다. 예를 들어 조직 수준에서 네트워크 관리자 역할을 네트워킹 팀에 부여할 수 있습니다. 그러면 모든 개별 프로젝트 리소스에 대한 역할을 부여하지 않고도 회사의 모든 프로젝트 리소스에서 모든 네트워크를 관리하도록 할 수 있습니다.
Cloud Resource Manager API에 의해 노출되는 조직 리소스는 다음으로 구성됩니다.
- 조직의 고유한 식별자인 조직 리소스 ID
- Google Workspace 또는 Cloud ID의 기본 도메인 이름에서 생성되는 표시 이름
- 조직 생성 시간
- 조직의 마지막 수정 시간
- 조직 리소스의 소유자. 소유자는 조직 리소스를 만들 때 지정됩니다. 소유자를 설정한 후에는 변경할 수 없습니다. Directory API에서 지정되는 Google Workspace 고객 ID입니다.
다음 코드 스니펫은 조직 리소스의 구조를 보여줍니다.
{
"creationTime": "2020-01-07T21:59:43.314Z",
"displayName": "my-organization",
"lifecycleState": "ACTIVE",
"name": "organizations/34739118321",
"owner": {
"directoryCustomerId": "C012ba234"
}
}
새로 만든 조직 리소스의 초기 IAM 정책은 프로젝트 생성자 및 결제 계정 생성자 역할을 전체 Google Workspace 도메인에 부여합니다. 즉, 사용자는 조직 리소스가 있기 전과 같이 프로젝트 리소스와 결제 계정을 계속 만들 수 있습니다. 조직 리소스를 만들 때 다른 리소스는 만들어지지 않습니다.
폴더 리소스
폴더 리소스는 선택적으로 프로젝트 간에 추가 그룹화 메커니즘과 격리 경계를 제공합니다. 이는 조직 리소스 내의 하위 조직으로 보일 수 있습니다. 폴더 리소스는 회사 내의 다양한 법인, 부서, 팀을 모델링하는 데 사용할 수 있습니다. 예를 들어 폴더 리소스의 첫 번째 수준을 사용하여 조직 리소스의 주요 부서를 나타낼 수 있습니다. 폴더 리소스에는 프로젝트 리소스와 다른 폴더가 포함될 수 있으므로 각 폴더 리소스에는 다른 팀을 나타내는 다른 하위 폴더가 포함될 수 있습니다. 각 팀 폴더는 다른 애플리케이션을 나타내는 추가적인 하위 폴더를 포함할 수 있습니다. 폴더 리소스 사용에 대한 자세한 내용은 폴더 리소스 만들기 및 관리를 참조하세요.
조직 리소스에 폴더 리소스가 있고 적절한 보기 권한이 있으면 Google Cloud 콘솔에서 폴더 리소스를 볼 수 있습니다. 자세한 내용은 폴더 및 프로젝트 리소스 보기 또는 나열을 참조하세요.
폴더 리소스를 사용하여 관리 권한을 위임할 수 있으므로 부서 책임자에게 해당 부서에 속하는 모든 Google Cloud 리소스의 완전한 소유권을 부여할 수 있습니다. 이와 유사하게 리소스에 대한 액세스 권한은 폴더 리소스별로 제한할 수 있으므로 한 부서의 사용자는 해당 폴더 리소스 내의 Google Cloud 리소스만 액세스하고 만들 수 있습니다.
다음 코드 스니펫은 폴더 리소스의 구조를 보여줍니다.
{
"createTime": "2030-01-07T21:59:43.314Z",
"displayName": "Engineering",
"lifecycleState": "ACTIVE",
"name": "folders/634792535758",
"parent": "organizations/34739118321"
}
조직 및 프로젝트 리소스와 마찬가지로 폴더 리소스도 IAM 및 조직 정책의 정책 상속 지점 역할을 합니다. 폴더 리소스에 부여된 IAM 역할은 해당 폴더에 포함된 모든 프로젝트 및 폴더 리소스에 자동으로 상속됩니다.
프로젝트 리소스
프로젝트 리소스는 기본 수준의 구성 항목입니다. 조직 및 폴더 리소스에는 여러 프로젝트가 포함될 수 있습니다. 프로젝트 리소스는 Google Cloud를 사용하는 데 필요하며, 모든 Google Cloud 서비스 생성, 사용 설정, 사용, API 관리, 결제 사용 설정, 공동작업자 추가 및 삭제, 권한 관리를 위한 기반을 형성합니다.
모든 프로젝트 리소스는 다음으로 구성됩니다.
- 식별자 2개:
- 프로젝트 리소스의 고유 식별자인 프로젝트 리소스 ID
- 프로젝트를 만들 때 자동으로 할당되는 프로젝트 리소스 번호. 읽기 전용입니다.
- 변경 가능한 표시 이름 1개
- 프로젝트 리소스의 수명 주기 상태(예: ACTIVE 또는 DELETE_REQUESTED)
- 프로젝트를 필터링하는 데 사용할 수 있는 라벨 컬렉션
- 프로젝트 리소스가 생성된 시간
다음 코드 스니펫은 프로젝트 리소스의 구조를 보여줍니다.
{
"createTime": "2020-01-07T21:59:43.314Z",
"lifecycleState": "ACTIVE",
"name": "my-project",
"parent": {
"id": "634792535758",
"type": "folder"
},
"projectId": "my-project",
"labels": {
"my-label": "prod"
},
"projectNumber": "464036093014"
}
대부분의 Google Cloud 리소스와 상호작용하려면 모든 요청에 대해 프로젝트 리소스 식별 정보를 제공해야 합니다. 프로젝트 리소스는 프로젝트 리소스 ID 또는 프로젝트 리소스 번호(코드 스니펫의 projectId
및 projectNumber
)로 식별할 수 있습니다.
프로젝트 리소스 ID는 프로젝트 리소스를 만들 때 선택한 커스텀 이름입니다. 프로젝트 리소스가 필요한 API를 활성화하면 프로젝트 리소스 ID를 사용하여 프로젝트 리소스를 만들거나 프로젝트 리소스를 선택하라는 메시지가 표시됩니다. UI에 표시되는 name
문자열은 프로젝트 리소스 ID와 동일하지 않습니다.
프로젝트 리소스 번호는 Google Cloud에 의해 자동으로 생성됩니다. 프로젝트 리소스 ID와 프로젝트 리소스 번호 모두 Google Cloud 콘솔의 프로젝트 리소스 대시보드에서 확인할 수 있습니다. 프로젝트 리소스에 대한 프로젝트 식별자 및 기타 관리 작업을 가져오는 방법은 프로젝트 리소스 만들기 및 관리를 참조하세요.
새로 만든 프로젝트 리소스의 초기 IAM 정책은 소유자 역할을 프로젝트 생성자에게 부여합니다.
IAM 정책 상속
Google Cloud는 사용자가 특정 Google Cloud 리소스에 대한 세부적인 액세스 권한을 부여하고 다른 리소스에 대한 무단 액세스를 방지할 수 있는 IAM을 제공합니다. IAM을 사용하면 리소스에 IAM 정책을 설정하여 어떠한 리소스에 대해 누구(사용자)에게 어떠한 액세스 권한(역할)이 있는지 제어할 수 있습니다.
IAM 정책은 조직 수준, 폴더 수준, 프로젝트 수준, 리소스 수준(일부 경우)에서 설정할 수 있습니다. 리소스는 상위 리소스의 정책을 상속합니다. 조직 수준에서 정책을 설정하면 모든 하위 폴더와 프로젝트 리소스로 정책이 상속되며, 프로젝트 수준에서 정책을 설정하면 모든 하위 리소스로 정책이 상속됩니다.
리소스의 유효 정책은 해당 리소스에 설정된 정책과 상위 리소스에서 상속된 정책의 합집합입니다. 이 상속은 하위 수준으로 전이됩니다. 다시 말해 리소스는 프로젝트에서 정책을 상속하고, 프로젝트는 조직 리소스에서 정책을 상속합니다. 따라서 조직 리소스 수준 정책도 리소스 레벨에 적용됩니다.
예를 들어 위의 리소스 계층 구조 다이어그램에서 프로젝트 편집자 역할을 bob@example.com에 부여하는 정책을 폴더 'Department Y'에 설정하면 Bob은 프로젝트 'Development project', 'Test project', '"Production project'에 대한 편집자 역할을 갖게 됩니다. 반대로 프로젝트 'Test project'에 대한 인스턴스 관리자 역할을 alice@example.com에 할당하면 Alice는 프로젝트의 Compute Engine 인스턴스만 관리할 수 있습니다.
역할은 항상 상속되며 리소스 계층 구조의 상위 수준에서 부여된 하위 수준 리소스에 대한 권한을 명시적으로 삭제할 수 없습니다. 위 예시의 'Test project'에서 Bob의 프로젝트 편집자 역할을 삭제하더라도 Bob은 이 역할을 여전히 'Department Y' 폴더에서 상속받으므로 'Test project'에 대한 이 역할의 권한을 여전히 갖게 됩니다.
IAM 정책 계층 구조는 Google Cloud 리소스 계층 구조와 동일한 경로를 따릅니다. 리소스 계층 구조를 변경하면 정책 계층 구조도 변경됩니다. 예를 들어 프로젝트를 조직 리소스로 이동하면 프로젝트의 IAM 정책이 해당 조직 리소스의 IAM 정책을 상속하도록 업데이트됩니다. 마찬가지로, 프로젝트 리소스를 한 폴더 리소스에서 다른 폴더 리소스로 이동하면 상속된 권한이 변경됩니다. 원래의 상위 리소스에서 프로젝트 리소스에 상속된 권한은 프로젝트 리소스가 새로운 폴더 리소스로 이동할 때 상실됩니다. 대상 폴더 리소스에 설정된 권한은 이동될 때도 프로젝트 리소스에 상속됩니다.
직접 사용해 보기
Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
무료로 시작하기