태그 개요

Google Cloud 리소스 계층 구조는 리소스를 트리 구조로 구성하는 방법입니다. 이 계층 구조는 리소스를 규모에 맞춰 관리하는 데 도움이 되지만 조직 구조, 리전, 워크로드 유형, 비용 센터를 포함한 몇 가지 비즈니스 차원만 모델링합니다. 계층 구조에는 여러 비즈니스 차원을 함께 계층화할 수 있는 유연성이 없습니다.

태그를 사용하면 리소스의 주석을 만들 수 있으며 리소스에 특정 태그가 있는지 여부에 따라 정책을 조건부로 허용하거나 거부합니다. 태그 및 조건부 정책 적용을 사용하여 리소스 계층 구조 전반을 세밀하게 제어할 수 있습니다.

태그 및 라벨

라벨은 리소스의 주석을 만드는 별도의 방법입니다. 다음 표에는 태그와 라벨 간의 몇 가지 차이점이 나와 있습니다.

태그 라벨
리소스 구조 태그 키, 태그 값, 태그 binding 모두 개별 리소스입니다. 자체 리소스가 아닌 리소스의 메타데이터입니다.
정의 조직 또는 프로젝트 수준에서 정의됩니다. 각 리소스에서 정의합니다.
액세스 제어 태그 관리 및 연결에는 Identity and Access Management(IAM) 역할이 필요합니다. 라벨 연결에는 서비스 리소스에 따라 달라지는 IAM 역할이 필요합니다.
연결 기본 요건 태그를 리소스에 연결하려면 먼저 태그 키와 태그 값을 정의해야 합니다. 연결 기본 요건이 없습니다.
상속 태그 바인딩은 Google Cloud 계층 구조의 리소스 하위 항목에 상속됩니다. 리소스의 하위 요소에서 상속하지 않습니다.
삭제 요구사항 태그에 대한 태그 바인딩이 없으면 태그를 삭제할 수 없습니다. 언제든지 리소스에서 삭제할 수 있습니다.
이름 지정 요구사항 태그 값태그 키 요구사항 라벨 요구사항
키-값 이름 길이 최대 256자(영문기준) 최대 63자(영문 기준)
허용 및 거부 정책 지원 허용 정책 조건거부 정책 조건에서 태그를 참조할 수 있습니다. 허용 및 거부 정책이 지원되지 않음
조직 정책 지원 조직 정책 조건부 제약조건에서 일부 리소스의 태그를 참조할 수 있습니다. 지원되는 조직 정책이 없습니다.
Cloud Billing 통합 지불 거절, 감사, 기타 비용 할당 분석을 수행하고 Cloud Billing 비용 데이터를 BigQuery로 내보냅니다. Cloud Billing에서 라벨별로 리소스 필터링하고, Cloud Billing 데이터를 BigQuery로 내보냅니다.

라벨에 대한 자세한 내용은 라벨 만들기 및 관리를 참조하세요.

태그 생성

태그는 키-값 쌍으로 구성됩니다. 태그 키 리소스를 조직 또는 프로젝트 리소스 아래에 만들 수 있으며 태그 값은 키에 연결된 리소스입니다(예: 값이 productiondevelopment인 태그 키 environment).

태그 관리

관리자는 태그를 리소스에 생성, 업데이트, 삭제, 첨부할 수 있는 권한을 가진 사람을 제한하여 태그 사용을 제어할 수 있습니다. 값 추가 또는 제거, 설명 업데이트와 같이 편집할 개별 태그를 선택할 수 있습니다. 이렇게 하면 태그를 세밀하게 제어할 수 있습니다.

태그에는 태그에 대한 정보를 가져올 때 표시되는 설명이 있을 수 있습니다. 설명은 태그를 리소스에 연결하는 사용자가 태그의 목적을 이해하는 데 도움이 됩니다.

상위 프로젝트 또는 조직에서 각 태그 키는 고유해야 합니다. 이렇게 하면 리소스에 바인딩된 각 태그 값이 태그 키와 고유한 페어링을 만듭니다.

정책 및 태그

태그와 IAM 조건을 함께 사용하여 다음 작업을 할 수 있습니다.

태그 값을 만든 후에는 리소스에 태그 값을 바인딩할 수 있습니다. 그런 다음 태그 키가 리소스에 바인딩되었는지 여부를 기준으로 리소스를 식별하는 조건이 있는 IAM 정책을 만들 수 있습니다. 태그 및 IAM 조건 사용에 대한 자세한 내용은 태그 및 조건부 액세스를 참고하세요.

조직 정책을 사용한 필수 태그 적용

조직 정책을 사용하여 리소스에 필수 태그를 적용할 수 있습니다. 필수 태그를 적용하면 조직의 태그 지정 정책을 준수하는 리소스만 만들 수 있습니다. 즉, 리소스는 정책에 지정된 필수 태그 키의 태그 값과 바인딩됩니다. 자세한 내용은 태그를 적용하는 맞춤 제약 조건 설정을 참고하세요.

필수 태그 적용은 다음 리소스 유형에 지원됩니다.

  • Resource Manager 프로젝트 및 폴더
  • Filestore 인스턴스
  • PostgreSQL용 AlloyDB 클러스터 및 백업 리소스
  • 워크플로 워크플로

태그 상속

태그 값이 리소스에 연결되면 기본적으로 리소스의 모든 하위 요소가 동일한 태그 값을 상속합니다. 하위 리소스에서 상속된 태그 값을 재정의할 수 있습니다. 상속된 태그 값을 재정의하려면 다른 태그 값을 하위 리소스에 바인딩합니다. 다른 태그 값은 상속된 태그 값과 동일한 태그 키를 사용해야 합니다.

예를 들어 environment: development 태그를 폴더에 적용하고 이 폴더에 team-ateam-b라는 두 개의 하위 폴더가 있다고 가정해 보겠습니다. 다른 태그인 environment: testteam-b 폴더에 적용할 수도 있습니다. 따라서 team-a 폴더의 프로젝트와 기타 리소스는 environment: development 태그를 상속하고 team-b 폴더의 프로젝트와 기타 리소스는 environment: test 태그를 상속합니다.

team-b 폴더에서 environment: test 태그를 삭제하면 이 폴더와 해당 리소스가 environment: development 태그를 상속합니다.

리소스에 연결되고 리소스에서 상속하는 모든 태그를 통칭하여 유효 태그라고 합니다. 리소스의 효과적인 태그는 리소스에 직접 연결된 태그와 계층 구조 전체에서 리소스의 모든 상위 항목에 연결된 모든 태그의 조합입니다.

IAM 조건과 함께 태그를 사용하는 경우 IAM 조건에서 사용하는 각 태그 키에 대해 안전한 기본 태그 값을 만드는 것이 좋습니다. 조직 내 모든 리소스에 상속되도록 해당 태그 값을 조직에 바인딩하여 안전한 기본 태그 값을 적용합니다. 관련 리소스에서 상속된 바인딩을 명시적으로 재정의하여 태그 값만 변경합니다. 예를 들어 enforcement 태그 키의 on 태그 값에 따라 달라지는 IAM 조건이 있고 태그 키에도 off 태그 값이 있다고 가정해 보겠습니다. 태그 값 enforcement: off를 조직에 바인딩하여 조직 내의 모든 리소스에 상속되는 안전한 기본값을 만듭니다. 조직 내에서 선택한 리소스에 대해서만 태그 값 enforcement: on을 바인딩합니다.

그런 다음 enforcement: on 또는 enforcement: off인 경우에는 리소스에 영향을 미치고 enforcement: default인 경우에는 안전하다는 조건으로 enforcement 태그 키를 처리하는 정책을 작성할 수 있습니다. enforcement 태그 키가 리소스에서 삭제된 경우 리소스는 상위 리소스에서 enforcement의 태그 값을 상속할 수 있습니다. 상위 리소스에 enforcement 태그 키가 없으면 리소스가 조직 리소스에서 enforcement: default를 상속합니다.

안전한 기본 태그를 사용하면 도움이 될 수 있지만 의도하지 않은 동작을 방지하려면 리소스를 이동하거나 태그를 삭제하기 전에 태그 및 조건부 정책을 먼저 검토하는 것이 좋습니다.

태그 키 및 값 삭제

태그 값을 삭제하려면 먼저 태그 값을 사용하는 모든 리소스 바인딩을 삭제해야 합니다.

태그 값이 삭제되지 않도록 보호

태그 보존 조치를 태그 값에 연결하여 태그 값에 추가 보호 레이어를 만들 수 있습니다. 태그 보존 조치는 태그 바인딩과 마찬가지로 사용자가 태그 값을 삭제하는 것을 방지합니다.

일부 리소스는 리소스에 연결된 각 태그 값에 태그 보존 조치를 자동으로 만듭니다. 태그 값을 삭제하려면 먼저 이 태그 보존 조치를 삭제해야 합니다.

다음 단계