IAM으로 액세스 제어

App Optimize API는 Identity and Access Management (IAM)를 사용하여 보고서 및 작업과 같은 리소스에 대한 액세스를 제어합니다. IAM을 사용하면 특정 App Optimize API 리소스에 대한 세분화된 액세스 권한을 부여하고 다른 리소스에 대한 무단 액세스를 방지할 수 있습니다.

이 문서에서는 App Optimize API에 적용되는 IAM 권한 및 역할을 설명합니다.

권한 개요

사용자는 권한을 통해 App Optimize API 리소스에서 특정 작업을 수행할 수 있습니다. 다음 표에는 App Optimize API의 권한이 나와 있습니다.

권한 설명
appoptimize.operations.cancel 장기 실행 작업을 취소합니다.
appoptimize.operations.delete 장기 실행 작업을 삭제합니다.
appoptimize.operations.get 장기 실행 작업 상태를 가져옵니다.
appoptimize.operations.list 장기 실행 작업을 나열합니다.
appoptimize.reports.create App Optimize API 보고서 리소스를 만듭니다.
appoptimize.reports.delete App Optimize API 보고서 리소스를 삭제합니다.
appoptimize.reports.get App Optimize API 보고서 리소스의 구성 메타데이터를 읽습니다. 보고서 데이터에 대한 액세스 권한을 부여하지 않습니다.
appoptimize.reports.getData App Optimize API 보고서에 포함된 데이터를 읽습니다.
appoptimize.reports.list 프로젝트에서 App Optimize API 보고서 리소스를 나열합니다.

사전 정의된 역할

IAM은 관련 권한 집합을 부여하는 사전 정의된 역할을 제공합니다. App Optimize API에 사용할 수 있는 역할은 다음과 같으며 다음 하위 섹션에 설명되어 있습니다.

역할 제목 설명
roles/appoptimize.admin App Optimize 관리자 App Optimize API 보고서 및 작업에 대한 전체 제어 권한을 부여합니다.
roles/appoptimize.viewer App Optimize 뷰어 App Optimize API 보고서 메타데이터, 보고서 데이터, 작업에 대한 읽기 액세스 권한을 부여합니다.

App Optimize API는 미리보기 버전이므로 Google Cloud 콘솔에 이러한 역할이 표시되지 않을 수 있습니다. 이러한 역할을 부여하려면 Google Cloud CLI를 사용하세요. 아직 Google Cloud CLI를 설치하고 초기화하지 않았다면 설치하고 초기화합니다.

사용자에게 App Optimize 관리자 역할 (roles/appoptimize.admin)을 부여하려면 다음 명령어를 실행합니다.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:USER_EMAIL" \
    --role="roles/appoptimize.admin"

사용자에게 App Optimize 뷰어 역할 (roles/appoptimize.viewer)을 부여하려면 다음 명령어를 실행합니다.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:USER_EMAIL" \
    --role="roles/appoptimize.viewer"

다음을 바꿉니다.

  • PROJECT_ID: 보고서 리소스를 소유할 Google Cloud 프로젝트의 ID입니다.
  • USER_EMAIL: 역할을 부여할 사용자의 이메일 주소입니다.

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

App Optimize 관리자

App Optimize API 리소스에 대한 전체 제어 권한을 부여하며 App Optimize 뷰어에 부여된 권한을 포함합니다.

  • 역할 이름: roles/appoptimize.admin
  • 포함된 권한:
    • appoptimize.operations.*
    • appoptimize.reports.*

App Optimize 뷰어

App Optimize API 보고서, 메타데이터, 작업을 읽을 수 있는 권한을 부여합니다.

  • 역할 이름: roles/appoptimize.viewer
  • 포함된 권한:
    • appoptimize.operations.get
    • appoptimize.operations.list
    • appoptimize.reports.get
    • appoptimize.reports.getData
    • appoptimize.reports.list

보고서를 만들 수 있는 권한

보고서를 만들려면 사용자, 서비스 계정 또는 기타 주 구성원에게 다음이 있어야 합니다.

  • 보고서 리소스가 생성될 프로젝트에 대한 appoptimize.reports.create 권한(일반적으로 App Optimize 관리자(roles/appoptimize.admin) 역할에 의해 부여됨)

  • 보고서에 범위가 지정된 모든 프로젝트에 대한 billing.resourceCosts.get 권한 이 권한은 결제 계정 뷰어(roles/billing.viewer) 또는 기본 뷰어 (roles/viewer)와 같은 역할에서 제공합니다.

  • 보고서의 범위, 측정기준, 측정항목에 포함된 데이터 소스에 액세스할 수 있는 권한 App Optimize API는 보고서가 생성될 때 이러한 권한을 확인합니다. 이 데이터 소스 액세스 권한을 부여하는 역할은 다음과 같습니다.

    • CPU 및 메모리 사용률 측정항목의 경우 범위가 지정된 리소스에 대한 Monitoring 뷰어(roles/monitoring.viewer) 역할

    • App Hub 애플리케이션 범위 및 측정기준의 경우 애플리케이션의 App Hub 호스트 프로젝트에 대한 App Management 뷰어 (roles/apphub.appManagementViewer) 역할

    여러 프로젝트로 구성될 수 있는 App Hub 애플리케이션에 대한 보고서를 생성하는 경우 보고서를 만들려면 애플리케이션의 연결된 모든 프로젝트에 필요한 모니터링 및 결제 권한이 있어야 합니다.

보고서 데이터를 읽을 수 있는 권한

보고서가 생성되면 주 구성원은 생성된 데이터를 읽기 위해 다음 권한만 필요합니다.

  • 보고서가 생성된 프로젝트 또는 보고서 자체에 대한 appoptimize.reports.getData 이 권한은 roles/appoptimize.viewer 역할에 포함되어 있습니다.

다음 단계