이 가이드에서는 서비스 계정 리소스의 태그를 만들고 관리하는 방법을 설명합니다.
태그 정보
태그는 Google Cloud 내 리소스에 연결할 수 있는 키-값 쌍입니다. 태그를 사용하면 리소스에 특정 태그가 있는지 여부에 따라 정책을 조건부로 허용하거나 거부할 수 있습니다. 예를 들어 리소스에 특정 태그가 있는지 여부에 따라 Identity and Access Management(IAM) 역할을 조건부로 부여할 수 있습니다. 태그에 대한 자세한 내용은 태그 개요를 참조하세요.
값을 Google Cloud 리소스에 연결하는 태그 바인딩 리소스를 만들어 태그를 리소스에 연결합니다.
필수 권한
필요한 권한은 수행할 작업에 따라 달라집니다.
원하는 권한을 얻으려면 관리자에게 리소스 계층 구조의 적절한 수준에서 제안된 역할을 부여해 달라고 요청하세요.
태그 보기
태그 정의와 리소스에 연결된 태그를 보려면 태그 뷰어 역할(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
서비스 계정에 태그를 연결하는 데 필요한 권한을 얻으려면 서비스 계정에 대한 서비스 계정 관리자(roles/iam.ServiceAccountAdmin
) IAM 역할을 부여해 달라고 관리자에게 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
태그 키 및 값 만들기
태그를 연결하려면 먼저 태그를 만들고 값을 구성해야 합니다. 태그 키 및 태그 값을 만들려면 태그 만들기 및 태그 값 추가를 참조하세요.
서비스 계정에 태그 연결
태그를 만든 후에는 이를 서비스 계정에 연결해야 합니다.
gcloud
서비스 계정에 태그를 연결하려면 gcloud resource-manager tags bindings create
명령어를 사용하여 태그 바인딩 리소스를 만들어야 합니다.
gcloud resource-manager tags bindings create \ --tag-value=TAGVALUE_NAME \ --parent=RESOURCE_ID
다음을 바꿉니다.
TAGVALUE_NAME
: 연결된 태그 값의 영구 ID 또는 네임스페이스 이름입니다(예:tagValues/567890123456
).-
RESOURCE_ID
: API 도메인 이름(//iam.googleapis.com/
)을 포함한 서비스 계정의 고유 ID 또는 이메일입니다. 예를 들어 프로젝트test-project
에서 고유 ID가1029384756
인 서비스 계정의 전체 ID는//iam.googleapis.com/projects/test-project/serviceAccounts/1029384756
입니다.
서비스 계정에 연결된 태그 나열
서비스 계정에 직접 연결되거나 서비스 계정에 상속된 태그 바인딩 목록을 볼 수 있습니다.
gcloud
리소스에 연결된 태그 바인딩 목록을 가져오려면 gcloud resource-manager tags bindings list
명령어를 사용합니다.
gcloud resource-manager tags bindings list \ --parent=RESOURCE_ID
다음을 바꿉니다.
-
RESOURCE_ID
: API 도메인 이름(//iam.googleapis.com/
)을 포함한 서비스 계정의 고유 ID 또는 이메일입니다. 예를 들어 프로젝트test-project
에서 고유 ID가1029384756
인 서비스 계정의 전체 ID는//iam.googleapis.com/projects/test-project/serviceAccounts/1029384756
입니다.
다음과 비슷한 응답이 표시됩니다.
name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456 tagValue: tagValues/567890123456 resource: //iam.googleapis.com/projects/test-project/serviceAccounts/1029384756
서비스 계정에서 태그 분리
서비스 계정에 직접 연결된 태그를 분리할 수 있습니다. 상속된 태그는 동일한 키와 다른 값으로 태그를 연결하여 재정의할 수 있지만 분리할 수는 없습니다. 태그를 삭제하려면 먼저 태그와 연결된 모든 리소스에서 키와 값을 분리해야 합니다.
gcloud
태그 바인딩을 삭제하려면 gcloud resource-manager tags bindings delete
명령어를 사용합니다.
gcloud resource-manager tags bindings delete \ --tag-value=TAGVALUE_NAME \ --parent=RESOURCE_ID
다음을 바꿉니다.
TAGVALUE_NAME
: 연결된 태그 값의 영구 ID 또는 네임스페이스 이름입니다(예:tagValues/567890123456
).-
RESOURCE_ID
: API 도메인 이름(//iam.googleapis.com/
)을 포함한 서비스 계정의 고유 ID 또는 이메일입니다. 예를 들어 프로젝트test-project
에서 고유 ID가1029384756
인 서비스 계정의 전체 ID는//iam.googleapis.com/projects/test-project/serviceAccounts/1029384756
입니다.
태그 키 및 값 삭제
태그 키 또는 값 정의를 삭제할 때는 태그가 서비스 계정에서 분리되었는지 확인하세요. 태그 정의 자체를 삭제하기 전에 태그 바인딩이라는 기존 태그 연결을 삭제해야 합니다. 태그 키와 태그 값을 삭제하려면 태그 삭제를 참조하세요.
Identity and Access Management 조건 및 태그
태그와 IAM 조건을 사용하여 계층 구조 내 사용자에게 역할 바인딩을 조건부로 부여할 수 있습니다. 리소스에 연결된 태그를 변경하거나 삭제하면 조건부 역할 바인딩이 포함된 IAM 정책이 적용되는 경우 해당 리소스에 대한 사용자 액세스 권한이 삭제될 수 있습니다. 자세한 내용은 Identity and Access Management 조건 및 태그를 참조하세요.
다음 단계
- 태그를 지원하는 다른 서비스 참조하기
- IAM에서 태그를 사용하는 방법은 태그 및 액세스 제어 참조하기