이 문서에서는 태그를 사용하여 Cloud Logging 로그 버킷을 관리하는 방법을 설명합니다. 조직 또는 프로젝트 수준에서 생성된 태그를 사용하면 리소스에 주석을 작성할 수 있습니다. 리소스에 특정 태그가 있는지 여부에 따라 Identity and Access Management(IAM) 역할을 조건부로 부여하거나 IAM 권한을 조건부로 거부할 수도 있습니다. 태그에 대한 자세한 내용은 태그 개요를 참조하세요.
예를 들어 BigQuery를 사용하여 Cloud Billing 데이터를 분석하는 경우 프로덕션 리소스의 로그 데이터를 저장하는 로그 버킷에는 project:production
태그를, 개발 리소스의 로그 데이터를 저장하는 로그 버킷에는 project:development
태그를 연결할 수 있습니다. 그런 다음 태그를 사용하여 Cloud Billing 데이터를 쿼리하고 개발과 프로덕션 간의 비용 분석을 확인할 수 있습니다.
태그는 로그 버킷에 명시적으로 연결되거나 상위 조직, 폴더, 프로젝트에서 상속될 수 있습니다.
시작하기 전에
태그를 사용하여 로그 버킷을 관리하려면 다음을 수행합니다.
- 태그를 만들고 값을 구성했는지 확인합니다. Resource Manager를 사용하여 태그 정의를 관리합니다. 태그를 만들고 관리하는 방법은 태그 만들기 및 관리를 참조하세요.
-
태그를 사용하여 로그 버킷을 관리하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트나 조직에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이러한 사전 정의된 역할에는 태그를 사용하여 로그 버킷을 관리하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
태그를 사용하여 로그 버킷을 관리하려면 다음 권한이 필요합니다.
-
태그를 로그 버킷에 추가하거나 삭제합니다.
-
resourcemanager.tagValues.{get,list}
-
resourcemanager.tagKeys.{get,list}
-
resourcemanager.projects.get
-
logging.buckets.createTagbinding
-
logging.buckets.deleteTagBinding
-
-
로그 버킷에 연결된 태그를 봅니다.
-
resourcemanager.tagValues.{get,list}
-
resourcemanager.tagKeys.{get,list}
-
logging.buckets.listTagBindings
-
logging.buckets.listEffectiveTags
-
-
태그를 로그 버킷에 추가하거나 삭제합니다.
-
로그 버킷을 관리하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 로그 구성 작성자(
roles/logging.configWriter
) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.이 사전 정의된 역할에는 로그 버킷을 관리하는 데 필요한
logging.buckets.list
권한이 포함되어 있습니다.
로그 버킷에 태그 연결
태그를 로그 버킷에 연결하려면 다음을 수행합니다.
Google Cloud 콘솔
-
Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
태그를 연결할 로그 버킷을 찾습니다.
로그 버킷에서 더보기more_vert를 클릭한 후 버킷 수정을 클릭합니다.
대화상자의 직접 태그 섹션에서 태그가 생성된 리소스를 선택하여 태그를 찾습니다. 예를 들어 프로젝트 수준에서 생성된 태그를 사용하려면 범위로 현재 프로젝트 선택을 선택합니다.
수동 입력 옵션을 선택하여 프로젝트, 조직 또는 태그 ID를 수동으로 검색할 수도 있습니다.
적절한 키-값 쌍을 선택한 후 저장을 클릭합니다.
변경사항을 확인하는 대화상자가 표시됩니다. 확인을 클릭하여 변경사항을 완료합니다.
gcloud
태그를 로그 버킷에 연결하려면 gcloud resource-manager tags bindings create
명령어를 실행하여 태그 바인딩을 만듭니다.
gcloud resource-manager tags bindings create \ --tag-value=TAG_VALUE_ID \ --parent=BUCKET_NAME \ --location=LOCATION
이전 명령어에서 다음을 바꿉니다.
TAG_VALUE_ID: 태그 값의 영구 ID 또는 네임스페이스화된 이름입니다. 예를 들면
tagValues/4567890123
입니다. 태그 식별자에 대한 자세한 내용은 태그 정의 및 식별자를 참조하세요.BUCKET_NAME: 로그 버킷의 이름 예를 들면
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID
입니다.LOCATION: 로그 버킷의 위치
API
태그를 로그 버킷에 연결하려면 tagBindings.create
메서드를 사용합니다.
로그 버킷에 연결된 태그 보기
로그 버킷에 연결된 태그를 보려면 다음을 수행합니다.
Google Cloud 콘솔
-
Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
보려는 태그가 있는 로그 버킷을 찾습니다.
태그 열에는 로그 버킷과 연결된 태그가 나열되어 있습니다. 로그 버킷과 연결된 모든 태그를 보려면 arrow_drop_down 더보기 버튼을 클릭하여 태그 목록을 펼칩니다.
gcloud
gcloud resource-manager tags bindings list
명령어를 실행합니다.
gcloud resource-manager tags bindings list \ --parent=BUCKET_NAME \ --location=LOCATION
이전 명령어에서 다음을 바꿉니다.
BUCKET_NAME: 로그 버킷의 이름 예를 들면
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID
입니다.LOCATION: 로그 버킷의 위치
선택사항: 로그 버킷에서 상속된 태그를 보려면 --effective
플래그를 추가합니다. 이 플래그를 추가하면 다음과 유사한 응답이 반환됩니다.
namespacedTagKey: 961309089256/environment namespacedTagValue: 961309089256/environment/production tagKey: tagKeys/417628178507 tagValue: tagValues/247197504380 inherited: true
모든 태그가 명시적으로 로그 버킷에 연결되고 상속된 태그가 없으면 inherited
필드는 false이고 생략됩니다.
API
버킷의 태그 바인딩 목록을 가져오려면 tagBindings.list
메서드를 사용합니다.
로그 버킷에서 태그 삭제
로그 버킷에 연결된 태그를 삭제하려면 로그 버킷에 연결된 태그 바인딩을 삭제해야 합니다. 태그를 삭제하려면 연결된 모든 리소스에서 태그를 삭제해야 합니다.
Google Cloud 콘솔
-
Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
삭제할 태그가 있는 로그 버킷을 찾습니다.
로그 버킷에서 더보기more_vert를 클릭한 후 버킷 수정을 클릭합니다.
대화상자에서 삭제할 태그 위로 포인터를 가져가고
항목 삭제를 클릭합니다. 저장을 클릭하여 변경사항을 저장합니다.변경사항을 확인하는 대화상자가 표시됩니다. 확인을 클릭하여 변경사항을 완료합니다.
gcloud
gcloud resource-manager tags bindings delete
명령어를 실행합니다.
gcloud resource-manager tags bindings delete \ --tag-value=TAG_VALUE_ID \ --parent=BUCKET_NAME \ --location=LOCATION
이전 명령어에서 다음을 바꿉니다.
TAG_VALUE_ID: 태그 값의 영구 ID 또는 네임스페이스화된 이름입니다. 예를 들면
tagValues/4567890123
입니다. 태그 식별자에 대한 자세한 내용은 태그 정의 및 식별자를 참조하세요.BUCKET_NAME: 로그 버킷의 이름 예를 들면
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID
입니다.LOCATION: 로그 버킷의 위치
API
로그 버킷에서 태그를 삭제하려면 tagBindings.delete
메서드를 사용합니다.
제한사항
IAM 역할 부여를 사용하여 주 구성원이 Google Cloud 프로젝트에서 로그 버킷을 나열할 때 표시되는 로그 버킷을 제어할 수 없습니다. 주 구성원에게는 전체 목록이나 빈 목록이 표시됩니다. 하지만 IAM 조건과 함께 IAM 역할 부여를 사용하여 주 구성원이 로그 버킷에서 수행할 수 있는 작업을 제한할 수 있습니다. 예를 들어 주 구성원이 특정 로그 버킷을 삭제할 수 있는지 여부를 제한할 수 있습니다.
BigQuery에서 Cloud Billing 데이터 내보내기를 사용하는 경우 내보내기에서 태그를 사용할 수 있게 되는 데 최대 1시간이 걸릴 수 있습니다. 1시간 내에 태그가 추가 또는 삭제되었거나 로그 버킷이 1시간 미만 동안 존재한 경우 태그가 내보내기에 표시되지 않을 수 있습니다.
커스텀 역할 및 IAM 조건이 있는 역할 부여
커스텀 IAM 역할을 사용하고 IAM 조건을 역할 부여에 연결하려는 경우 커스텀 역할을 여러 개 만들어야 할 수 있습니다. IAM 조건이 역할 부여에 연결되면 일부 IAM 권한이 무효화됩니다.
Cloud Logging의 경우 역할 부여에 IAM 조건이 포함되면 다음 IAM 권한이 무효화됩니다.
logging.buckets.list
logging.buckets.create
따라서 list
및 create
권한이 있는 역할 하나와 다른 버킷별 권한이 포함된 또 다른 역할을 만들어야 할 수 있습니다.
예를 들어 logging.buckets.delete
및 logging.buckets.update
권한이 포함된 역할 하나를 만들 수 있습니다.
list
및 create
권한이 포함된 역할을 부여하는 경우에는 IAM 조건을 역할 부여에 연결하지 마세요.
delete
및 update
권한이 포함된 역할을 부여하는 경우 권한 부여를 특정 태그가 있는 리소스로 제한하는 IAM 조건을 추가할 수 있습니다.
다음 단계
태그를 사용한 조직 정책 설정 방법 알아보기
Cloud Billing 데이터 내보내기에서 태그를 사용하는 방법에 대한 자세한 내용은 Cloud Billing 데이터 내보내기 문서를 참조하세요.