Cloud Billing API 액세스 제어

Google Cloud에서는 ID 및 액세스 관리 (IAM)를 제공하므로 특정 Google Cloud 리소스에 더욱 세분화된 액세스 권한을 부여하고 다른 리소스에 대한 무단 액세스를 방지할 수 있습니다. IAM으로 최소 권한의 보안 원칙을 적용하여 필요한 리소스에 대한 액세스 권한만 부여할 수 있습니다.

IAM을 사용하면 IAM 정책을 설정하여 어떠한 리소스에 대해 누구 (사용자)에게 어떠한 액세스 권한 (역할)이 있는지 제어할 수 있습니다. IAM 정책은 사용자에게 구체적인 역할을 부여하여 특정 권한을 줍니다.

이 페이지에서는 Cloud Billing API에서 사용할 수 있는 ID 및 액세스 관리 역할에 대해 설명합니다. 예를 들어 IAM을 사용하여 Cloud Billing 계정에 대한 관리자, 사용자, 프로젝트 관리자와 같은 역할을 부여할 수 있습니다. IAM 및 IAM 기능에 대한 자세한 설명은 ID 및 액세스 관리 개발자 가이드를 참조하세요. 특히 액세스 권한 부여, 변경, 취소 섹션을 확인하시기 바랍니다.

권한 및 역할

사용자가 Google Cloud Console에서 Cloud Billing 계정 세부정보를 보거나 Cloud Billing API 메서드가 Cloud Billing 계정 정보를 반환하려면 사용자나 호출자에게 필요한 권한이 있어야 합니다. 다음 표에는 각 Cloud Billing API에 필요한 IAM 권한 및 역할이 나와 있습니다.

Cloud Billing 계정 API에 필요한 권한

다음 표에서는 호출자가 각 Cloud Billing 계정 API 메서드를 호출하는 데 필요한 권한 목록을 보여줍니다.

API 메서드 필수 권한 권한을 부여하는 IAM 역할
billingAccounts.create Cloud Billing 하위 계정을 만들 때 하위 계정의 마스터 Cloud Billing 계정에서 호출자에게 billing.accounts.update가 있어야 합니다. 결제 관리자
billingAccounts.get Cloud Billing 계정에서 billing.accounts.get 결제 관리자 또는 결제 뷰어
billingAccounts.list 없음 이 메서드는 호출자가 액세스할 권한이 있는 모든 계정을 반환합니다. 결제 관리자, 결제 뷰어, 결제 사용자 또는 결제 프로젝트 관리자
billingAccounts.getIamPolicy Cloud Billing 계정에서 billing.accounts.getIamPolicy 결제 관리자 또는 결제 뷰어
billingAccounts.setIamPolicy Cloud Billing 계정에서 billing.accounts.setIamPolicy 결제 관리자
billingAccounts.testIamPermissions 없음 이 메서드는 호출자가 보유한 Cloud Billing 계정의 권한을 확인하는 데 사용됩니다. 해당 없음
billingAccounts.patch Cloud Billing 계정에서 billing.accounts.update 결제 관리자
billingAccounts.projects.list Cloud Billing 계정에서 billing.resourceAssociations.list 결제 관리자 또는 결제 뷰어
projects.getBillingInfo 프로젝트의 resourcemanager.projects.get
자세한 내용은 프로젝트 액세스 제어를 참조하세요.
프로젝트 뷰어
projects.updateBillingInfo Cloud Billing 계정에서 billing.resourceAssociations.create, resourcemanager.projects.createBillingAssignment 결제 관리자 또는 결제 사용자 및 프로젝트 결제 관리자

Cloud Billing Budget API에 필요한 권한

다음 표에서는 각 Cloud Billing Budget API 메서드를 호출하는 데 필요한 권한을 설명합니다. 이러한 권한을 자동으로 부여하는 표준 IAM 결제 역할도 포함됩니다.

API 메서드 필요한 권한 권한을 부여하는 IAM 역할
GetBudget 예산 세부정보를 가져오려면 호출자에게 예산의 Cloud Billing 계정에 대한 billing.budgets.get 권한이 있어야 합니다. 결제 관리자 또는 결제 뷰어
ListBudgets Cloud Billing 계정에 적용된 예산 목록을 반환하려면 호출자에게 Cloud Billing 계정에 대한 billing.budgets.list 권한이 있어야 합니다. 결제 관리자 또는 결제 뷰어
CreateBudget 새 예산을 생성하려면 호출자에게 예산의 Cloud Billing 계정에 대한 billing.budgets.create 권한이 있어야 합니다. 결제 관리자
UpdateBudget 기존 예산을 업데이트하려면 호출자에게 예산의 Cloud Billing 계정에 대한 billing.budgets.update 권한이 있어야 합니다. 결제 관리자
DeleteBudget 기존 예산을 삭제하려면 호출자에게 예산의 Cloud Billing 계정에 대한 billing.budgets.delete 권한이 있어야 합니다. 결제 관리자

Cloud Billing Catalog API에 필요한 권한

Cloud Billing Catalog API(서비스 목록, SKU 목록)를 사용할 때는 호출로 반환되는 모든 데이터가 공개 데이터이므로 승인이 필요하지 않습니다.

역할

사용자에게 권한을 직접 부여하는 대신 하나 이상의 권한이 포함된 역할을 부여합니다.

동일한 리소스에 하나 이상의 역할을 부여할 수 있습니다.

다음 표에는 Cloud Billing API에 액세스하기 위해 부여할 수 있는 표준 IAM 결제 역할, 각 역할에 대한 설명, 각 역할에 포함된 권한을 보여줍니다.

역할 이름 설명 권한 최하위 리소스
roles/billing.admin 결제 계정 관리자 결제 계정의 모든 요소를 보고 관리하기 위한 액세스 권한을 제공합니다.
  • billing.accounts.close
  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.getPaymentInfo
  • billing.accounts.getSpendingInformation
  • billing.accounts.getUsageExportSpec
  • billing.accounts.list
  • billing.accounts.move
  • billing.accounts.redeemPromotion
  • billing.accounts.removeFromOrganization
  • billing.accounts.reopen
  • billing.accounts.setIamPolicy
  • billing.accounts.update
  • billing.accounts.updatePaymentInfo
  • billing.accounts.updateUsageExportSpec
  • billing.budgets.*
  • billing.credits.*
  • billing.resourceAssociations.*
  • billing.subscriptions.*
  • cloudnotifications.*
  • consumerprocurement.accounts.*
  • consumerprocurement.orders.*
  • dataprocessing.groupcontrols.list
  • logging.logEntries.list
  • logging.logServiceIndexes.*
  • logging.logServices.*
  • logging.logs.list
  • logging.privateLogEntries.*
  • recommender.commitmentUtilizationInsights.*
  • recommender.usageCommitmentRecommendations.*
  • resourcemanager.projects.createBillingAssignment
  • resourcemanager.projects.deleteBillingAssignment
결제 계정
roles/billing.creator 결제 계정 생성자 결제 계정 생성을 위한 액세스 권한을 제공합니다.
  • billing.accounts.create
  • resourcemanager.organizations.get
조직
roles/billing.projectManager 프로젝트 결제 관리자 프로젝트의 결제 계정을 할당하거나 프로젝트 결제를 중지할 수 있는 액세스 권한을 제공합니다.
  • resourcemanager.projects.createBillingAssignment
  • resourcemanager.projects.deleteBillingAssignment
프로젝트
roles/billing.user 결제 계정 사용자 프로젝트를 결제 계정과 연결하기 위한 액세스 권한을 제공합니다.
  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.list
  • billing.accounts.redeemPromotion
  • billing.credits.*
  • billing.resourceAssociations.create
결제 계정
roles/billing.viewer 결제 계정 뷰어 결제 계정 비용 정보 및 거래를 봅니다.
  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.getPaymentInfo
  • billing.accounts.getSpendingInformation
  • billing.accounts.getUsageExportSpec
  • billing.accounts.list
  • billing.budgets.get
  • billing.budgets.list
  • billing.credits.*
  • billing.resourceAssociations.list
  • billing.subscriptions.get
  • billing.subscriptions.list
  • consumerprocurement.accounts.get
  • consumerprocurement.accounts.list
  • consumerprocurement.orders.get
  • consumerprocurement.orders.list
  • dataprocessing.groupcontrols.list
  • recommender.commitmentUtilizationInsights.get
  • recommender.commitmentUtilizationInsights.list
  • recommender.usageCommitmentRecommendations.get
  • recommender.usageCommitmentRecommendations.list
결제 계정

roles/billing.projectManagerroles/billing.admin 역할에는 다른 Google Cloud 서비스의 권한도 포함됩니다.