이 문서에서는 태그를 사용하여 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
이전 명령어에서 다음을 바꿉니다.
TAG_VALUE_ID: 태그 값의 영구 ID 또는 네임스페이스화된 이름입니다. 예를 들면
tagValues/4567890123
입니다. 태그 식별자에 관한 자세한 내용은 태그 정의 및 식별자를 참고하세요.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 데이터 내보내기 문서를 참고하세요.