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 보고서 메타데이터, 보고서 데이터, 작업에 대한 읽기 액세스 권한을 부여합니다.

IAM 역할 부여

콘솔 또는 Google Cloud CLI를 사용하여 주 구성원에게 IAM 역할을 부여할 수 있습니다.Google Cloud

콘솔

  1. Google Cloud 콘솔에서 IAM 페이지로 이동합니다.

    IAM으로 이동

  2. 액세스 권한 부여 를 클릭합니다.

  3. 새 주 구성원 필드에 역할을 부여할 주 구성원의 이메일 주소를 입력합니다.

  4. 역할 선택 드롭다운 메뉴를 클릭합니다.

  5. App Optimize 역할을 필터링하고 부여할 역할을 선택합니다(예: App Optimize 관리자 또는 App Optimize 뷰어).

  6. 저장 을 클릭합니다.

gcloud

  1. 아직 Google Cloud CLI를 설치하고 초기화하지 않았다면 설치하고 초기화합니다.

  2. gcloud projects add-iam-policy-binding 명령어를 사용하여 역할을 부여합니다.

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="PRINCIPAL" \
        --role="ROLE_NAME"
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트의 ID입니다. Google Cloud
    • PRINCIPAL: 주 구성원의 식별자입니다(예: user:my-user@example.com 또는 group:my-group@example.com). 주 구성원 식별자를 참고하세요.
    • ROLE_NAME: 부여할 역할입니다(예: roles/appoptimize.admin 또는 roles/appoptimize.viewer).

예를 들어 my-appoptimize-project 프로젝트에서 사용자 test-user@example.com에게 App Optimize 관리자 역할을 부여하려면 다음 안내를 따르세요.

gcloud projects add-iam-policy-binding my-appoptimize-project \
    --member="user:test-user@example.com" \
    --role="roles/appoptimize.admin"

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

App Optimize 관리자

App Optimize 관리자는 App Optimize API 리소스를 완전히 제어할 수 있는 권한을 부여하며 App Optimize 뷰어에게 부여된 권한을 포함합니다.

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

App Optimize 뷰어

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 및 메모리 사용률 측정항목의 경우: 범위가 지정된 리소스에 대한 모니터링 뷰어 (roles/monitoring.viewer).

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

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

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

보고서가 성공적으로 생성되면 주 구성원은 생성된 데이터를 읽기 위해 appoptimize.reports.getData 권한만 필요합니다. 이 권한은 보고서가 생성된 프로젝트 또는 보고서 자체에 있을 수 있으며 App Optimize 관리자 역할과 App Optimize 뷰어 역할 모두에 포함되어 있습니다.

다음 단계