VPC 리소스의 태그 만들기 및 관리

VPC 네트워크는 Resource Manager 태그를 지원하는 다음 리소스를 사용합니다.

Resource Manager 태그네트워크 태그와 다릅니다. 이 문서에서 태그라는 용어는 Resource Manager 태그를 참조하는 데 사용됩니다.

태그를 지원하는 모든 서비스의 목록은 태그를 지원하는 서비스를 참조하세요.

방화벽 정책 규칙에서 태그 사용에 대한 자세한 내용은 방화벽 태그를 참조하세요.

태그 정보

태그는 Google Cloud 내 리소스에 연결할 수 있는 키-값 쌍입니다. 태그를 사용하면 리소스에 특정 태그가 있는지 여부에 따라 정책을 조건부로 허용하거나 거부할 수 있습니다. 예를 들어 리소스에 특정 태그가 있는지 여부에 따라 Identity and Access Management(IAM) 역할을 조건부로 부여할 수 있습니다. 태그에 대한 자세한 내용은 태그 개요를 참조하세요.

값을 Google Cloud 리소스에 연결하는 태그 바인딩 리소스를 만들어 태그를 리소스에 연결합니다.

자동화 및 청구 목적으로 Virtual Private Cloud 내에서 VPC 리소스를 그룹화하려면 라벨을 사용합니다. 태그와 라벨은 서로 독립적으로 작동하며 리소스에 모두 적용할 수 있습니다.

필수 권한

필요한 권한은 수행할 작업에 따라 달라집니다.

원하는 권한을 얻으려면 관리자에게 리소스 계층 구조의 적절한 수준에서 제안된 역할을 부여해 달라고 요청하세요.

태그 보기

태그 정의와 리소스에 연결된 태그를 보려면 태그 뷰어 역할(roles/resourcemanager.tagViewer) 또는 다음 권한이 포함된 다른 역할이 필요합니다.

필수 권한

  • resourcemanager.tagKeys.get
  • resourcemanager.tagKeys.list
  • resourcemanager.tagValues.list
  • resourcemanager.tagValues.get
  • listTagBindings: 적절한 리소스 유형. 예를 들면 Compute Engine 인스턴스에 연결된 태그를 보려면 compute.instances.listTagBindings가 필요합니다.
  • listEffectiveTags
  • : 적절한 리소스 유형. 예를 들어 Compute Engine 인스턴스에 연결되거나 상속된 모든 태그를 보려면 compute.instances.listEffectiveTags가 필요합니다.

조직 수준에서 태그를 보려면 조직 리소스에 대한 조직 뷰어 역할(roles/resourcemanager.organizationViewer)이 필요합니다.

태그 관리

태그 정의를 생성, 업데이트, 삭제하려면 태그 관리자 역할(roles/resourcemanager.tagAdmin)이나 다음 권한이 포함된 다른 역할이 필요합니다.

필수 권한

  • resourcemanager.tagKeys.create
  • resourcemanager.tagKeys.update
  • resourcemanager.tagKeys.delete
  • resourcemanager.tagKeys.list
  • resourcemanager.tagKeys.get
  • resourcemanager.tagKeys.getIamPolicy
  • resourcemanager.tagKeys.setIamPolicy
  • resourcemanager.tagValues.create
  • resourcemanager.tagValues.update
  • resourcemanager.tagValues.delete
  • resourcemanager.tagValues.list
  • resourcemanager.tagValues.get
  • resourcemanager.tagValues.getIamPolicy
  • resourcemanager.tagValues.setIamPolicy

조직 수준에서 태그를 관리하려면 조직 리소스에 대한 조직 뷰어 역할(roles/resourcemanager.organizationViewer)이 필요합니다.

리소스의 태그 관리

리소스에 연결된 태그를 추가하고 삭제하려면 태그 값태그 값이 연결된 리소스 모두에 태그 사용자 역할(roles/resourcemanager.tagUser)이나 동등한 권한을 가지 다른 역할이 필요합니다. 태그 사용자 역할에는 다음 권한이 포함됩니다.

필수 권한

  • 태그 값을 연결할 리소스에 필요한 권한
    • 리소스별 createTagBinding 권한(예: Compute Engine 인스턴스의 경우 compute.instances.createTagBinding)
    • 리소스별 deleteTagBinding 권한(예: Compute Engine 인스턴스의 경우 compute.instances.deleteTagBinding)
  • 태그 값에 필요한 권한:
    • resourcemanager.tagValueBindings.create
    • resourcemanager.tagValueBindings.delete
  • 프로젝트 및 태그 정의를 볼 수 있는 권한:
    • resourcemanager.tagValues.get
    • resourcemanager.tagValues.list
    • resourcemanager.tagKeys.get
    • resourcemanager.tagKeys.list
    • resourcemanager.projects.get

VPC 리소스에 태그를 연결하려면 Compute 네트워크 관리자 역할(roles/compute.networkAdmin)이 필요합니다.

태그 키 및 값 만들기

태그를 연결하려면 먼저 태그를 만들고 값을 구성해야 합니다. 태그 키 및 태그 값을 만들려면 태그 만들기태그 값 추가를 참조하세요.

VPC 리소스에 태그 연결

태그를 만든 후에는 VPC 리소스에 연결해야 합니다.

gcloud

VPC 리소스에 태그를 연결하려면 gcloud resource-manager tags bindings create 명령어를 사용하여 태그 바인딩 리소스를 만들어야 합니다.

      gcloud resource-manager tags bindings create \
          --tag-value=TAGVALUE_NAME \
          --parent=RESOURCE_ID \
          --location=LOCATION
      

다음을 바꿉니다.

  • TAGVALUE_NAME: 연결된 태그 값의 영구 ID 또는 네임스페이스 이름입니다(예: tagValues/567890123456).
  • RESOURCE_ID: 리소스 유형(//compute.googleapis.com/)을 식별하는 API 도메인 이름을 포함한 리소스의 전체 ID입니다. 리소스에는 이름이 아닌 숫자 ID를 사용해야 합니다. 예를 들어 서브넷 ID의 형식은 다음과 유사합니다. //compute.googleapis.com/projects/123/regions/us-central1/subnetworks/456. 네트워크 ID의 형식은 다음과 유사합니다. //compute.googleapis.com/projects/123/global/networks/789.
  • LOCATION: 리소스 위치입니다. 태그를 폴더나 프로젝트와 같은 전역 리소스에 연결하는 경우 이 플래그를 생략합니다. 리전별 또는 영역별 리소스에 태그를 연결하는 경우에는 위치를 지정해야 합니다(예: us-central1(리전) 또는 us-central1-a(영역)).

VPC 리소스에 연결된 태그 나열

VPC 리소스에 직접 연결되거나 VPC 리소스에 의해 상속된 태그 바인딩 목록을 볼 수 있습니다.

gcloud

리소스에 연결된 태그 바인딩 목록을 가져오려면 gcloud resource-manager tags bindings list 명령어를 사용합니다.

      gcloud resource-manager tags bindings list \
          --parent=RESOURCE_ID \
          --location=LOCATION
      

다음을 바꿉니다.

  • RESOURCE_ID: 리소스 유형(//compute.googleapis.com/)을 식별하는 API 도메인 이름을 포함한 리소스의 전체 ID입니다. 리소스에는 이름이 아닌 숫자 ID를 사용해야 합니다. 예를 들어 서브넷 ID의 형식은 다음과 유사합니다. //compute.googleapis.com/projects/123/regions/us-central1/subnetworks/456. 네트워크 ID의 형식은 다음과 유사합니다. //compute.googleapis.com/projects/123/global/networks/789.
  • LOCATION: 리소스 위치입니다. 폴더나 프로젝트와 같은 전역 리소스에 연결된 태그를 보는 경우에는 이 플래그를 생략합니다. 리전별 또는 영역별 리소스에 연결된 태그를 보는 경우에는 위치를 지정해야 합니다(예: us-central1(리전) 또는 us-central1-a(영역)).

다음과 비슷한 응답이 표시됩니다.

name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
          tagValue: tagValues/567890123456
          resource: //compute.googleapis.com/projects/7890123456/subnetworks/subnetwork-ID
      

VPC 리소스에서 태그 분리

VPC 리소스에 직접 연결된 태그를 분리할 수 있습니다. 상속된 태그는 동일한 키와 다른 값으로 태그를 연결하여 재정의할 수 있지만 분리할 수는 없습니다. 태그를 삭제하려면 먼저 태그와 연결된 모든 리소스에서 키와 값을 분리해야 합니다.

gcloud

태그 바인딩을 삭제하려면 gcloud resource-manager tags bindings delete 명령어를 사용합니다.

      gcloud resource-manager tags bindings delete \
          --tag-value=TAGVALUE_NAME \
          --parent=RESOURCE_ID \
          --location=LOCATION
      

다음을 바꿉니다.

  • TAGVALUE_NAME: 연결된 태그 값의 영구 ID 또는 네임스페이스 이름입니다(예: tagValues/567890123456).
  • RESOURCE_ID: 리소스 유형(//compute.googleapis.com/)을 식별하는 API 도메인 이름을 포함한 리소스의 전체 ID입니다. 리소스에는 이름이 아닌 숫자 ID를 사용해야 합니다. 예를 들어 서브넷 ID의 형식은 다음과 유사합니다. //compute.googleapis.com/projects/123/regions/us-central1/subnetworks/456. 네트워크 ID의 형식은 다음과 유사합니다. //compute.googleapis.com/projects/123/global/networks/789.
  • LOCATION: 리소스 위치입니다. 태그를 폴더나 프로젝트와 같은 전역 리소스에 연결하는 경우 이 플래그를 생략합니다. 리전별 또는 영역별 리소스에 태그를 연결하는 경우 위치를 지정해야 합니다(예: us-central1(리전) 또는 us-central1-a(영역)).

태그 키 및 값 삭제

태그 키나 값 정의를 삭제할 때 태그가 VPC 리소스에서 분리되었는지 확인합니다. 태그 정의 자체를 삭제하기 전에 태그 바인딩이라는 기존 태그 연결을 삭제해야 합니다. 태그 키와 태그 값을 삭제하려면 태그 삭제를 참조하세요.

Identity and Access Management 조건 및 태그

태그와 IAM 조건을 사용하여 계층 구조 내 사용자에게 역할 바인딩을 조건부로 부여할 수 있습니다. 리소스에 연결된 태그를 변경하거나 삭제하면 조건부 역할 바인딩이 포함된 IAM 정책이 적용되는 경우 해당 리소스에 대한 사용자 액세스 권한이 삭제될 수 있습니다. 자세한 내용은 Identity and Access Management 조건 및 태그를 참조하세요.

다음 단계