액세스 제어

Monitoring은 액세스를 제어해 Cloud Identity & Access Management(Cloud IAM) 역할과 권한을 사용해 작업공간의 데이터를 모니터링합니다.

개요

Monitoring을 사용하려면 작업공간에 부여된 적절한 Cloud IAM 권한이 있어야 합니다.

일반적으로 한 API의 REST 메소드마다 연결된 권한이 하나씩 있는데 특정 메소드를 사용하려면 해당하는 권한이 있어야 합니다. 권한은 사용자에게 직접 부여되지 않습니다. 대신 역할을 통해 간접적으로 부여되며 역할에 따라 여러 권한이 그룹화되기 때문에 관리가 더욱 쉬워집니다. 이 개념에 대한 자세한 내용은 역할, 권한, 관련 개념을 다룬 Cloud IAM 문서를 참조하세요.

일반적인 권한 조합 역할은 사전 정의되어 있으나 Cloud IAM 커스텀 역할을 만들어 자체적인 권한 조합을 만들 수도 있습니다.

사전 정의된 역할

Monitoring에 사전 정의된 Cloud IAM 역할은 다음과 같습니다. 이 역할은 Monitoring 관련 권한만 부여합니다.

Monitoring

다음 역할은 일반적인 Monitoring 권한을 부여합니다.

역할 ID
역할 이름
설명
roles/monitoring.viewer
모니터링 뷰어
Stackdriver Monitoring 콘솔 및 API에 대한 읽기 전용 액세스 권한을 제공합니다.
roles/monitoring.editor
모니터링 편집자
Stackdriver Monitoring 콘솔 및 API에 대한 읽기 전용 액세스 권한을 제공하며 작업공간에 모니터링 데이터를 기록할 수 있습니다.
roles/monitoring.admin
모니터링 관리자
모든 Monitoring 기능에 대한 전체 액세스 권한을 제공합니다.

쓰기 전용 액세스를 위해 서비스 계정에서 사용되는 역할은 다음과 같습니다.

역할 ID
역할 이름
설명
roles/monitoring.metricWriter
모니터링 측정항목 작성자
작업공간에 모니터링 데이터를 쓸 수 있습니다. Stackdriver Monitoring 콘솔에는 액세스할 수 없습니다. 서비스 계정용입니다.

알림 정책

다음 역할은 알림 정책 관련 권한만 부여합니다.

역할 ID
역할 이름
설명
roles/monitoring.alertPolicyViewer
모니터링 경고 정책 뷰어
알림 정책에 대한 읽기 전용 액세스 권한을 제공합니다.
roles/monitoring.alertPolicyEditor
모니터링 경고 정책 편집자
알림 정책에 대한 읽기/쓰기 액세스 권한을 제공합니다.

알림 채널

다음 역할은 알림 채널 관련 권한만 부여합니다.

역할 ID
역할 이름
설명
roles/monitoring.notificationChannelViewer
모니터링 알림 채널 뷰어
알림 채널에 대한 읽기 전용 액세스 권한을 제공합니다.
roles/monitoring.notificationChannelEditor
모니터링 알림 채널 편집자
알림 채널에 대한 쓰기 액세스 권한을 제공합니다.

Google Cloud Platform

다음 역할은 Monitoring을 포함하여 Google Cloud Platform(GCP)의 여러 서비스 및 리소스 관련 권한을 부여합니다.

역할 ID
역할 이름
설명
roles/viewer
프로젝트 뷰어
Stackdriver Monitoring 콘솔 및 API에 대한 읽기 전용 액세스 권한을 제공합니다.
roles/editor
프로젝트 편집자
Stackdriver Monitoring 콘솔 및 API에 대한 읽기-쓰기 액세스 권한을 제공합니다.
roles/owner
프로젝트 소유자
Stackdriver Monitoring 콘솔 및 API에 대한 전체 액세스 권한을 제공합니다.

커스텀 역할

권한 목록을 포함한 커스텀 역할을 만들 수도 있습니다. 역할과 권한에 대한 자세한 내용은 이 페이지의 권한 및 역할커스텀 역할을 참조하세요.

권한 및 역할

이 섹션에는 Monitoring에 적용되는 Cloud IAM 권한 및 역할이 나와 있습니다.

API 권한

Monitoring API 메소드마다 다음 표와 같은 특정 Cloud IAM 권한이 필요합니다.

Monitoring API 메소드 권한 리소스 유형
projects.alertPolicies.create monitoring.alertPolicies.create project1
projects.alertPolicies.delete monitoring.alertPolicies.delete AlertPolicy
projects.alertPolicies.get monitoring.alertPolicies.get AlertPolicy
projects.alertPolicies.list monitoring.alertPolicies.list project1
projects.alertPolicies.patch monitoring.alertPolicies.update AlertPolicy
projects.groups.create monitoring.groups.create project1
projects.groups.delete monitoring.groups.delete Group
projects.groups.get monitoring.groups.get Group
projects.groups.list monitoring.groups.list project1
projects.groups.update monitoring.groups.update Group
projects.groups.members.list monitoring.groups.get Group
projects.metricDescriptors.create monitoring.metricDescriptors.create 프로젝트
projects.metricDescriptors.delete monitoring.metricDescriptors.delete MetricDescriptor
projects.metricDescriptors.get monitoring.metricDescriptors.get MetricDescriptor
projects.metricDescriptors.list monitoring.metricDescriptors.list 프로젝트
projects.monitoredResourceDescriptors.get monitoring.monitoredResourceDescriptors.get MonitoredResourceDescriptor
projects.monitoredResourceDescriptors.list monitoring.monitoredResourceDescriptors.list 프로젝트
projects.notificationChannelDescriptors.get monitoring.notificationChannelDescriptors.get NotificationChannelDescriptor
projects.notificationChannelDescriptors.list monitoring.notificationChannelDescriptors.list project1
projects.notificationChannels.create monitoring.notificationChannels.create project1
projects.notificationChannels.delete monitoring.notificationChannels.delete NotificationChannel
projects.notificationChannels.get monitoring.notificationChannels.get NotificationChannel
projects.notificationChannels.getVerificationCode monitoring.notificationChannels.getVerificationCode NotificationChannel
projects.notificationChannels.list monitoring.notificationChannels.list project1
projects.notificationChannels.patch monitoring.notificationChannels.update NotificationChannel
projects.notificationChannels.sendVerificationCode monitoring.notificationChannels.sendVerificationCode NotificationChannel
projects.notificationChannels.verify monitoring.notificationChannels.verify NotificationChannel
projects.timeSeries.create monitoring.timeSeries.create 프로젝트
projects.timeSeries.list monitoring.timeSeries.list 프로젝트
projects.uptimeCheckConfigs.create monitoring.uptimeCheckConfigs.create UptimeCheckConfig
projects.uptimeCheckConfigs.delete monitoring.uptimeCheckConfigs.delete UptimeCheckConfig
projects.uptimeCheckConfigs.get monitoring.uptimeCheckConfigs.get UptimeCheckConfig
projects.uptimeCheckConfigs.list monitoring.uptimeCheckConfigs.list UptimeCheckConfig
projects.uptimeCheckConfigs.patch monitoring.uptimeCheckConfigs.update UptimeCheckConfig

1 프로젝트가 작업공간이어야 합니다.

Stackdriver Monitoring 콘솔 권한

Stackdriver Monitoring 콘솔의 각 기능을 사용하려면 해당 기능을 구현하는 데 사용된 API에 대한 권한이 필요합니다. 예를 들어 그룹을 검색하는 기능에는 그룹 및 그룹 멤버에 적용 가능한 listget 메소드에 대한 권한이 필요합니다. 필요한 권한이 취소되면 Stackdriver Monitoring 콘솔 기능이 작동하지 않을 수 있습니다.

다음 표에는 Stackdriver Monitoring 콘솔을 사용하는 데 필요한 권한이 나와 있습니다.

Stackdriver Monitoring 콘솔 활동 필수 권한 리소스 유형
전체 읽기 전용 액세스 roles/monitoring.viewer 역할에 포함된 권한 project1
콘솔에 대한 읽기-쓰기 액세스 roles/monitoring.editor 역할에 포함된 권한 project1
콘솔에 대한 전체 액세스 roles/monitoring.admin 역할에 포함된 권한 project1

1 프로젝트가 작업공간이어야 합니다.

역할

다음 표에는 Monitoring 액세스 권한을 부여하는 Cloud IAM 역할과 각 역할과 연결된 권한이 나와 있습니다. 역할 중 다수가 추가 권한으로 보장됩니다. 예를 들어 roles/monitoring.editor 역할에는 roles/monitoring.viewer 역할에 대한 모든 권한과 추가 권한 집합이 포함됩니다.

역할은 프로젝트 수준에서만 할당될 수 있으며 프로젝트가 작업공간이어야 합니다.

Monitoring

Monitoring 역할에 포함된 권한은 다음과 같습니다.

역할 ID
역할 이름
포함된 권한
roles/monitoring.viewer
모니터링 뷰어
monitoring.alertPolicies.get
monitoring.alertPolicies.list
monitoring.analyzedMetrics.get1
monitoring.analyzedMetrics.list1
monitoring.dashboards.get
monitoring.dashboards.list
monitoring.groups.get
monitoring.groups.list
monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.get
monitoring.monitoredResourceDescriptors.list
monitoring.notificationChannelDescriptors.get
monitoring.notificationChannelDescriptors.list
monitoring.notificationChannels.get
monitoring.notificationChannels.list
monitoring.publicWidgets.get
monitoring.publicWidgets.list
monitoring.timeSeries.list
monitoring.uptimeCheckConfigs.get
monitoring.uptimeCheckConfigs.list
resourcemanager.projects.get
resourcemanager.projects.list
stackdriver.projects.get
roles/monitoring.editor
모니터링 편집자
monitoring.alertPolicies.create
monitoring.alertPolicies.delete
monitoring.alertPolicies.get
monitoring.alertPolicies.list
monitoring.alertPolicies.update
monitoring.analyzedMetrics.create1
monitoring.analyzedMetrics.delete1
monitoring.dashboards.create
monitoring.dashboards.delete
monitoring.dashboards.get
monitoring.dashboards.list
monitoring.dashboards.update
monitoring.groups.create
monitoring.groups.delete
monitoring.groups.get
monitoring.groups.list
monitoring.groups.update
monitoring.metricDescriptors.create
monitoring.metricDescriptors.delete
monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.get
monitoring.monitoredResourceDescriptors.list
monitoring.notificationChannelDescriptors.list
monitoring.notificationChannelDescriptors.get
monitoring.notificationChannels.create
monitoring.notificationChannels.delete
monitoring.notificationChannels.get
monitoring.notificationChannels.list
monitoring.notificationChannels.sendVerificationCode
monitoring.notificationChannels.update
monitoring.notificationChannels.verify
monitoring.publicWidgets.create
monitoring.publicWidgets.delete
monitoring.publicWidgets.get
monitoring.publicWidgets.list
monitoring.publicWidgets.update
monitoring.timeSeries.create
monitoring.timeSeries.list
monitoring.uptimeCheckConfigs.create
monitoring.uptimeCheckConfigs.delete
monitoring.uptimeCheckConfigs.get
monitoring.uptimeCheckConfigs.list
monitoring.uptimeCheckConfigs.update
resourcemanager.projects.get
resourcemanager.projects.list
stackdriver.projects.edit
stackdriver.projects.get
stackdriver.resourceMetadata.write
roles/monitoring.admin
모니터링 관리자
roles/monitoring.editor의 권한 및 다음과 같은 추가 권한
monitoring.notificationChannels.getVerificationCode

1 Stackdriver Monitoring 콘솔을 지원하려면 필요한 권한입니다. 커스텀 역할에서는 사용할 수 없습니다.

쓰기 전용 액세스를 위해 서비스 계정에서 사용되는 역할은 다음과 같습니다.

역할 ID
역할 이름
포함된 권한
roles/monitoring.metricWriter
모니터링 측정항목 작성자
monitoring.metricDescriptors.create
monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.get
monitoring.monitoredResourceDescriptors.list
monitoring.timeSeries.create

알림 정책

알림 정책 역할에 포함된 권한은 다음과 같습니다.

역할 ID
역할 이름
포함된 권한
roles/monitoring.alertPolicyViewer
모니터링 경고 정책 뷰어
monitoring.alertPolicies.get
monitoring.alertPolicies.list
roles/monitoring.alertPolicyEditor
모니터링 경고 정책 편집자
monitoring.alertPolicies.create
monitoring.alertPolicies.delete
monitoring.alertPolicies.get
monitoring.alertPolicies.list
monitoring.alertPolicies.update

알림 채널

알림 채널 역할에 포함된 권한은 다음과 같습니다.

역할 ID
역할 이름
포함된 권한
roles/monitoring.notificationChannelViewer
모니터링 알림 채널 뷰어
monitoring.notificationChannelDescriptors.get
monitoring.notificationChannelDescriptors.list
monitoring.notificationChannels.get
monitoring.notificationChannels.list
roles/monitoring.notificationChannelEditor
모니터링 알림 채널 편집자
monitoring.notificationChannelDescriptors.get
monitoring.notificationChannelDescriptors.list
monitoring.notificationChannels.create
monitoring.notificationChannels.delete
monitoring.notificationChannels.get
monitoring.notificationChannels.list
monitoring.notificationChannels.sendVerificationCode
monitoring.notificationChannels.update
monitoring.notificationChannels.verify

Google Cloud Platform

GCP 역할에 포함된 권한은 다음과 같습니다.

역할 ID
역할 이름
포함된 권한
roles/viewer
프로젝트 뷰어
Monitoring 권한은 roles/monitoring.viewer의 권한과 정확히 일치합니다.
roles/editor
프로젝트 편집자
Monitoring 권한은 roles/monitoring.editor의 권한과 동일합니다.
roles/owner
프로젝트 소유자
Monitoring 권한은 roles/editor의 권한과 동일합니다.

Cloud IAM 역할 부여

Compute Engine 및 App Engine의 프로젝트 소유자, 편집자, 기본 서비스 계정에는 이미 필요한 권한이 포함되어 있지만, 다른 사용자 계정에는 이러한 역할을 명시적으로 부여해야 할 수 있습니다.

예를 들어 사용자 계정에서 API를 사용하여 MetricDescriptors를 읽거나 쓰려면 해당 사용자 계정에는 적절한 monitoring.metricDescriptors.* Cloud IAM 권한이 있어야 합니다. 이러한 권한은 사전 정의된 모니터링 뷰어(monitoring.viewer) 및 모니터링 편집자(monitoring.editor) 역할을 부여하여 제공할 수도 있습니다. 자세한 내용은 API 권한을 참조하세요.

이러한 권한은 Cloud SDK gcloud 명령줄 도구를 사용하거나 Google Cloud Platform Console(GCP Console)을 통해서도 부여할 수 있습니다.

Cloud SDK

gcloud projects add-iam-policy-binding 명령어를 사용하여 monitoring.viewer 또는 monitoring.editor 역할을 부여합니다.

예:

export PROJECT_ID="my-test-project"
export EMAIL_ADDRESS="myuser@gmail.com"
gcloud projects add-iam-policy-binding \
      $PROJECT_ID \
      --member="user:$EMAIL_ADDRESS" \
      --role="roles/monitoring.editor"

gcloud projects get-iam-policy 명령어를 사용하여 부여된 역할을 확인할 수 있습니다.

export PROJECT_ID="my-test-project"
gcloud projects get-iam-policy $PROJECT_ID

GCP Console

  1. GCP Console로 이동합니다.

    GCP Console로 이동

  2. 필요한 경우 GCP 프로젝트의 드롭다운 목록을 클릭하고 API를 사용할 프로젝트의 이름을 선택합니다.

  3. 탐색 메뉴를 펼치려면 메뉴 menu를 클릭합니다.

  4. IAM 및 관리자를 클릭합니다.

  5. 사용자가 없으면 추가 버튼을 클릭한 후 역할 선택 옆의 드롭다운 목록을 클릭합니다. 또는 권한을 수정하려는 기존 사용자 옆의 역할 아래에서 전환 버튼을 클릭합니다.

  6. 역할 관리 창에서 포인터를 왼쪽으로 이동하여 Monitoring으로 스크롤합니다.

  7. 역할 관리 창에서 포인터를 오른쪽으로 이동하여 적절한 역할을 선택합니다.

    • 모니터링 편집자는 읽기/쓰기 액세스 권한을 부여합니다.
    • 모니터링 뷰어는 읽기 전용 액세스 권한을 부여합니다.

커스텀 역할

Monitoring 권한이 있는 커스텀 역할을 만드는 방법은 다음과 같습니다.

  • Monitoring API 관련 권한만 부여하는 역할인 경우 API 권한 섹션의 권한 중에서 선택합니다.

  • Stackdriver Monitoring 콘솔 관련 권한을 부여하는 역할인 경우 Stackdriver Monitoring 콘솔 권한 섹션의 권한 그룹 중에서 선택합니다.

  • 모니터링 데이터의 쓰기 권한을 부여하려면 역할 섹션에 있는 roles/monitoring.metricWriter 역할의 권한을 포함합니다.

커스텀 역할에 대한 자세한 내용은 IAM 커스텀 역할 이해를 참조하세요.

Compute Engine 액세스 범위

액세스 범위는 Compute Engine VM 인스턴스의 권한을 지정하는 기존의 방법입니다. Monitoring에 적용되는 액세스 범위는 다음과 같습니다.

액세스 범위 부여된 권한
https://www.googleapis.com/auth/monitoring.read roles/monitoring.viewer와 동일한 권한
https://www.googleapis.com/auth/monitoring.write roles/monitoring.metricWriter와 동일한 권한
https://www.googleapis.com/auth/monitoring Monitoring에 대한 전체 액세스 권한
https://www.googleapis.com/auth/cloud-platform 사용 설정된 모든 Cloud API에 대한 전체 액세스 권한

자세한 내용은 액세스 범위를 참조하세요.

권장사항. 서비스 계정 Cloud IAM 역할은 손쉽게 구성하고 변경할 수 있으므로, VM 인스턴스에 가장 강력한 액세스 범위(cloud-platform)를 제공한 후 Cloud IAM 역할을 사용하여 특정 API 및 작업에 대한 액세스 권한을 제한하는 것이 좋습니다 자세한 내용은 서비스 계정 권한을 참조하세요.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Stackdriver Monitoring
도움이 필요하시나요? 지원 페이지를 방문하세요.