Cloud Billing 액세스 제어 및 권한

이 주제에서는 Cloud Billing 계정의 역할과 액세스 권한을 설명합니다.

Cloud Billing 계정은 Google Cloud에 설정되며 특정 Google Cloud 리소스 및 Google Maps Platform API 모음의 결제자를 정의하는 데 사용됩니다. Cloud Billing 계정은 Google 결제 프로필에 연결됩니다. Google 결제 프로필에는 비용이 부과되는 결제 수단이 포함됩니다.

Cloud Billing 및 Google 결제의 액세스 권한은 제공하려는 액세스 유형에 따라 두 가지 시스템에서 구성됩니다.

  • Cloud Billing을 사용하면 리소스에 Identity and Access Management(IAM) 정책을 설정하여 지정된 리소스에 대한 관리 및 비용 보기 권한을 갖는 사용자를 제어할 수 있습니다.
  • Google 결제 센터에서 관리하는 Google 결제 비즈니스 프로필에 사용자를 추가하고 사용자 목적에 따라 사용자에게 다양한 수준의 액세스 권한을 부여할 수 있습니다. 청구 및 결제 이메일 수신을 위한 사용자 이메일 환경설정을 구성할 수도 있습니다.
Cloud Billing 권한 Google 결제 설정 및 권한
Cloud Billing 계정에 대한 액세스 권한은 IAM 역할을 사용하여 관리됩니다. 사용자가 다음을 수행할 수 있도록 결제 계정 권한을 구성할 수 있습니다.
  • Cloud Billing 계정을 열고 닫고 수정합니다.
  • 보고서 및 비용 데이터를 봅니다.
  • 인보이스 및 명세서와 같은 문서를 봅니다.
  • 약정 사용 할인(CUD) 및 구매 CUD를 분석합니다.
  • 결제 데이터 내보내기를 사용 설정하고 관리합니다.
  • 예산 및 알림을 구성합니다.
  • 프로젝트별 결제를 관리합니다.
  • 결제를 위한 사용자 권한을 관리합니다.
  • 결제 지원에 문의합니다.
Google 결제 프로필에 대한 액세스 권한은 Google 결제 설정에서 관리됩니다. 사용자가 다음을 수행할 수 있도록 Google 결제 권한을 구성할 수 있습니다.
  • 결제 수단을 추가, 수정, 삭제합니다.
  • 우편 주소를 비롯한 결제 프로필 정보를 업데이트합니다.
  • 연락처 세부정보, 이메일 환경설정, 사용자 권한을 비롯한 결제 사용자를 관리합니다.

Google Cloud 콘솔의 결제 페이지에서 결제 관련 태스크를 관리하려는 경우 사용자는 Cloud Billing 계정에 대한 결제 계정 뷰어 역할도 필요로 합니다.

Cloud Billing 액세스

Cloud Billing에 대해 액세스 권한을 부여하거나 제한하려면 조직 수준, Cloud Billing 계정 수준, 프로젝트 수준에서 IAM 정책을 설정할 수 있습니다. Google Cloud 리소스는 상위 노드의 IAM 정책을 상속받습니다. 즉, 조직 수준에서 정책을 설정하면 조직 내 모든 Cloud Billing 계정, 프로젝트, 리소스에 정책을 적용할 수 있습니다.

Cloud Billing 계정 또는 프로젝트 수준에서 액세스 권한을 설정하면 여러 사용자 또는 역할의 보기 권한을 다양한 수준에서 제어할 수 있습니다.

Cloud Billing 계정에서 모든 프로젝트의 비용을 볼 수 있는 권한을 사용자에게 부여하려면 Cloud Billing 계정의 비용을 볼 수 있는 권한(billing.accounts.getSpendingInformation)을 사용자에게 부여합니다. 특정 프로젝트의 비용을 볼 수 있는 권한을 사용자에게 부여하려면 개별 프로젝트에 대한 보기 권한(billing.resourceCosts.get)을 사용자에게 부여합니다.

IAM에서 Cloud Billing 역할 개요

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

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

다음과 같은 사전 정의된 Cloud Billing IAM 역할은 액세스 제어를 사용하여 업무 분리를 시행할 수 있도록 설계되었습니다.

역할 목적 수준 사용 사례
결제 계정 생성자
(roles/billing.creator)
새로운 셀프 서비스(온라인) 결제 계정을 만듭니다. 조직 이 역할은 초기 결제 설정을 지정하거나 추가 결제 계정을 만들 때 사용됩니다.
이 역할이 있는 사용자만 회사 ID를 사용하여 신용카드로 Google Cloud에 가입할 수 있습니다.
: 조직 내에서 추적할 수 없는 클라우드 지출 확산을 방지할 수 있도록 이 역할이 있는 사용자 수를 최소화하세요.
결제 계정 관리자
(roles/billing.admin)
결제 계정을 관리합니다(만들기 제외). 조직 또는 결제 계정 이 역할은 결제 계정의 소유자 역할입니다. 이 역할을 사용하여 결제 수단을 관리하고, 결제 내보내기를 구성하고, 비용 정보를 확인하고, 프로젝트를 연결 및 연결 해제하고, 결제 계좌에 대한 다른 사용자 역할을 관리합니다. 기본적으로 Cloud Billing 계정을 만드는 사람은 Cloud Billing 계정의 Billing Account Administrator입니다.
결제 계정 비용 관리자
(roles/billing.costsManager)
예산을 관리하고 결제 계정의 비용 정보를 보고 내보냅니다(가격 책정 정보 제외). 조직 또는 결제 계정 예산을 생성, 수정, 삭제하고, 결제 계정 비용 정보 및 거래를 확인하고, BigQuery로 결제 비용 데이터 내보내기를 관리합니다. 가격 책정 페이지에서 가격 책정 데이터를 내보내거나 커스텀 가격 책정을 볼 수 있는 권한을 부여하지 않습니다. 또한 프로젝트 연결 또는 연결 해제 또는 결제 계정의 속성 관리가 허용되지 않습니다.
결제 계정 뷰어
(roles/billing.viewer)
결제 계정 비용 정보와 거래를 확인합니다. 조직 또는 결제 계정 결제 계정 뷰어 액세스 권한은 일반적으로 재무팀에 부여되며, 지출 정보에 대한 액세스 권한을 제공하지만, 프로젝트를 연결 또는 연결 해제하거나 결제 계정의 속성을 관리할 수 있는 권한을 부여하지 않습니다.
결제 계정 사용자
(roles/billing.user)
프로젝트를 결제 계정에 연결합니다. 조직 또는 결제 계정 이 역할은 매우 제한적인 권한을 가지므로, 광범위하게 부여할 수 있습니다. 두 가지 역할을 프로젝트 생성자와 함께 사용하면 사용자가 결제 계정 사용자 역할이 부여된 결제 계정에 연결된 새 프로젝트를 만들 수 있습니다. 또는 두 역할을 프로젝트 결제 관리자 역할과 함께 사용하면 사용자가 결제 계정 사용자 역할이 부여된 결제 계정에서 프로젝트를 연결하거나 연결 해제할 수 있습니다.
프로젝트 결제 관리자
(roles/billing.projectManager)
결제 계정에 대해 프로젝트를 연결/연결 해제합니다. 조직, 폴더 또는 프로젝트 결제 계정 사용자 역할과 함께 사용되는 경우 프로젝트 결제 관리자 역할은 사용자가 결제 계정에 프로젝트를 연결할 수 있도록 허용하지만 리소스에 대한 권한을 부여하지 않습니다. 프로젝트 소유자는 이 역할을 사용하여 리소스 액세스 권한을 부여하지 않고도 다른 사람이 프로젝트 결제를 관리하도록 허용할 수 있습니다.

다음 표에는 각 역할에 포함된 권한을 비롯하여 사전 정의된 IAM 결제 역할의 세부정보가 나와 있습니다.

Role Permissions

(roles/billing.admin)

Provides access to see and manage all aspects of billing accounts.

Lowest-level resources where you can grant this role:

  • Billing Account

billing.accounts.close

billing.accounts.get

billing.accounts.getCarbonInformation

billing.accounts.getIamPolicy

billing.accounts.getPaymentInfo

billing.accounts.getPricing

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.billingAccountPrice.get

billing.billingAccountPrices.list

billing.billingAccountServices.*

  • billing.billingAccountServices.get
  • billing.billingAccountServices.list

billing.billingAccountSkuGroupSkus.*

  • billing.billingAccountSkuGroupSkus.get
  • billing.billingAccountSkuGroupSkus.list

billing.billingAccountSkuGroups.*

  • billing.billingAccountSkuGroups.get
  • billing.billingAccountSkuGroups.list

billing.billingAccountSkus.*

  • billing.billingAccountSkus.get
  • billing.billingAccountSkus.list

billing.budgets.*

  • billing.budgets.create
  • billing.budgets.delete
  • billing.budgets.get
  • billing.budgets.list
  • billing.budgets.update

billing.credits.list

billing.finOpsBenchmarkInformation.get

billing.finOpsHealthInformation.get

billing.resourceAssociations.*

  • billing.resourceAssociations.create
  • billing.resourceAssociations.delete
  • billing.resourceAssociations.list

billing.subscriptions.*

  • billing.subscriptions.create
  • billing.subscriptions.get
  • billing.subscriptions.list
  • billing.subscriptions.update

cloudasset.assets.searchAllResources

cloudnotifications.activities.list

cloudsupport.properties.get

cloudsupport.techCases.*

  • cloudsupport.techCases.create
  • cloudsupport.techCases.escalate
  • cloudsupport.techCases.get
  • cloudsupport.techCases.list
  • cloudsupport.techCases.update

commerceoffercatalog.*

  • commerceoffercatalog.agreements.get
  • commerceoffercatalog.agreements.list
  • commerceoffercatalog.documents.get
  • commerceoffercatalog.documents.list
  • commerceoffercatalog.offers.get

compute.commitments.*

  • compute.commitments.create
  • compute.commitments.get
  • compute.commitments.list
  • compute.commitments.update
  • compute.commitments.updateReservations

consumerprocurement.accounts.*

  • consumerprocurement.accounts.create
  • consumerprocurement.accounts.delete
  • consumerprocurement.accounts.get
  • consumerprocurement.accounts.list

consumerprocurement.consents.check

consumerprocurement.consents.grant

consumerprocurement.consents.list

consumerprocurement.consents.revoke

consumerprocurement.events.*

  • consumerprocurement.events.get
  • consumerprocurement.events.list

consumerprocurement.orderAttributions.*

  • consumerprocurement.orderAttributions.get
  • consumerprocurement.orderAttributions.list
  • consumerprocurement.orderAttributions.update

consumerprocurement.orders.*

  • consumerprocurement.orders.cancel
  • consumerprocurement.orders.get
  • consumerprocurement.orders.list
  • consumerprocurement.orders.modify
  • consumerprocurement.orders.place

dataprocessing.datasources.get

dataprocessing.datasources.list

dataprocessing.groupcontrols.get

dataprocessing.groupcontrols.list

logging.logEntries.list

logging.logServiceIndexes.list

logging.logServices.list

logging.logs.list

logging.privateLogEntries.list

recommender.cloudsqlIdleInstanceRecommendations.get

recommender.cloudsqlIdleInstanceRecommendations.list

recommender.cloudsqlOverprovisionedInstanceRecommendations.get

recommender.cloudsqlOverprovisionedInstanceRecommendations.list

recommender.commitmentUtilizationInsights.*

  • recommender.commitmentUtilizationInsights.get
  • recommender.commitmentUtilizationInsights.list
  • recommender.commitmentUtilizationInsights.update

recommender.computeAddressIdleResourceRecommendations.get

recommender.computeAddressIdleResourceRecommendations.list

recommender.computeDiskIdleResourceRecommendations.get

recommender.computeDiskIdleResourceRecommendations.list

recommender.computeImageIdleResourceRecommendations.get

recommender.computeImageIdleResourceRecommendations.list

recommender.computeInstanceGroupManagerMachineTypeRecommendations.get

recommender.computeInstanceGroupManagerMachineTypeRecommendations.list

recommender.computeInstanceIdleResourceRecommendations.get

recommender.computeInstanceIdleResourceRecommendations.list

recommender.computeInstanceMachineTypeRecommendations.get

recommender.computeInstanceMachineTypeRecommendations.list

recommender.costInsights.*

  • recommender.costInsights.get
  • recommender.costInsights.list
  • recommender.costInsights.update

recommender.costRecommendations.*

  • recommender.costRecommendations.listAll
  • recommender.costRecommendations.summarizeAll

recommender.resourcemanagerProjectUtilizationRecommendations.get

recommender.resourcemanagerProjectUtilizationRecommendations.list

recommender.spendBasedCommitmentInsights.*

  • recommender.spendBasedCommitmentInsights.get
  • recommender.spendBasedCommitmentInsights.list
  • recommender.spendBasedCommitmentInsights.update

recommender.spendBasedCommitmentRecommendations.*

  • recommender.spendBasedCommitmentRecommendations.get
  • recommender.spendBasedCommitmentRecommendations.list
  • recommender.spendBasedCommitmentRecommendations.update

recommender.spendBasedCommitmentRecommenderConfig.*

  • recommender.spendBasedCommitmentRecommenderConfig.get
  • recommender.spendBasedCommitmentRecommenderConfig.update

recommender.usageCommitmentRecommendations.*

  • recommender.usageCommitmentRecommendations.get
  • recommender.usageCommitmentRecommendations.list
  • recommender.usageCommitmentRecommendations.update

resourcemanager.projects.createBillingAssignment

resourcemanager.projects.deleteBillingAssignment

resourcemanager.projects.get

resourcemanager.projects.list

(roles/billing.costsManager)

Manage budgets for a billing account, and view, analyze, and export cost information of a billing account.

Lowest-level resources where you can grant this role:

  • Billing Account

billing.accounts.get

billing.accounts.getIamPolicy

billing.accounts.getSpendingInformation

billing.accounts.getUsageExportSpec

billing.accounts.list

billing.accounts.updateUsageExportSpec

billing.budgets.*

  • billing.budgets.create
  • billing.budgets.delete
  • billing.budgets.get
  • billing.budgets.list
  • billing.budgets.update

billing.resourceAssociations.list

recommender.costInsights.*

  • recommender.costInsights.get
  • recommender.costInsights.list
  • recommender.costInsights.update

(roles/billing.creator)

Provides access to create billing accounts.

Lowest-level resources where you can grant this role:

  • Organization

billing.accounts.create

resourcemanager.organizations.get

(roles/billing.projectManager)

When granted in conjunction with the Billing Account User role, provides access to assign a project's billing account or disable its billing.

Lowest-level resources where you can grant this role:

  • Project

resourcemanager.projects.createBillingAssignment

resourcemanager.projects.deleteBillingAssignment

(roles/billing.user)

When granted in conjunction with the Project Owner role or Project Billing Manager role, provides access to associate projects with billing accounts.

Lowest-level resources where you can grant this role:

  • Billing Account

billing.accounts.get

billing.accounts.getIamPolicy

billing.accounts.list

billing.accounts.redeemPromotion

billing.credits.list

billing.resourceAssociations.create

(roles/billing.viewer)

View billing account cost and pricing information, transactions, and billing and commitment recommendations.

Lowest-level resources where you can grant this role:

  • Billing Account

billing.accounts.get

billing.accounts.getCarbonInformation

billing.accounts.getIamPolicy

billing.accounts.getPaymentInfo

billing.accounts.getPricing

billing.accounts.getSpendingInformation

billing.accounts.getUsageExportSpec

billing.accounts.list

billing.billingAccountPrice.get

billing.billingAccountPrices.list

billing.billingAccountServices.*

  • billing.billingAccountServices.get
  • billing.billingAccountServices.list

billing.billingAccountSkuGroupSkus.*

  • billing.billingAccountSkuGroupSkus.get
  • billing.billingAccountSkuGroupSkus.list

billing.billingAccountSkuGroups.*

  • billing.billingAccountSkuGroups.get
  • billing.billingAccountSkuGroups.list

billing.billingAccountSkus.*

  • billing.billingAccountSkus.get
  • billing.billingAccountSkus.list

billing.budgets.get

billing.budgets.list

billing.credits.list

billing.finOpsBenchmarkInformation.get

billing.finOpsHealthInformation.get

billing.resourceAssociations.list

billing.subscriptions.get

billing.subscriptions.list

commerceoffercatalog.*

  • commerceoffercatalog.agreements.get
  • commerceoffercatalog.agreements.list
  • commerceoffercatalog.documents.get
  • commerceoffercatalog.documents.list
  • commerceoffercatalog.offers.get

consumerprocurement.accounts.get

consumerprocurement.accounts.list

consumerprocurement.consents.check

consumerprocurement.consents.list

consumerprocurement.orderAttributions.get

consumerprocurement.orderAttributions.list

consumerprocurement.orders.get

consumerprocurement.orders.list

dataprocessing.datasources.get

dataprocessing.datasources.list

dataprocessing.groupcontrols.get

dataprocessing.groupcontrols.list

recommender.commitmentUtilizationInsights.get

recommender.commitmentUtilizationInsights.list

recommender.costInsights.get

recommender.costInsights.list

recommender.costRecommendations.*

  • recommender.costRecommendations.listAll
  • recommender.costRecommendations.summarizeAll

recommender.spendBasedCommitmentInsights.get

recommender.spendBasedCommitmentInsights.list

recommender.spendBasedCommitmentRecommendations.get

recommender.spendBasedCommitmentRecommendations.list

recommender.spendBasedCommitmentRecommenderConfig.get

recommender.usageCommitmentRecommendations.get

recommender.usageCommitmentRecommendations.list

조직, 프로젝트, Cloud Billing 계정, Google 결제 프로필 간의 IAM 관계

조직, Cloud Billing 계정, 프로젝트 간의 상호작용을 제어하는 관계 유형에는 소유권과 결제 연결 등 두 가지가 있습니다.

  • 소유권은 IAM 권한 상속을 나타냅니다.
  • 결제 연결은 특정 프로젝트 비용을 지불하는 Cloud Billing 계정을 정의합니다.

다음 다이어그램은 샘플 조직의 소유권 및 결제 연결 관계를 보여줍니다.

프로젝트가 Cloud Billing 계정 및 Google 결제 프로필과 어떻게 연결되는지를 보여줍니다. 한쪽은 Google Cloud 수준 리소스 (Cloud Billing 계정과 관련 프로젝트)를 보여주고 세로 점선으로 구분된 다른 쪽은 Google 수준 리소스(Google 결제 프로필)를 보여줍니다.
      프로젝트에서는 Google 결제 프로필에 연결된 Cloud Billing 계정을 통해 비용이 지급됩니다.

이 다이어그램에서 조직은 프로젝트 1, 2, 3에 대한 소유권을 가지고 있으며 이것이 3개 프로젝트의 IAM 권한 상위 항목입니다.

Cloud Billing 계정이 프로젝트 1, 2, 3에 연결되어 있고 프로젝트 3개에서 발생하는 비용을 지불합니다. Cloud Billing 계정은 다른 조직의 프로젝트 비용도 지불할 수 있지만 상위 조직의 IAM 권한을 상속합니다.

Cloud Billing 계정은 이름, 주소, 결제 수단과 같은 정보가 저장된 Google 결제 프로필에도 연결됩니다. Google 결제 프로필 사용자 권한을 관리하는 방법을 알아봅니다.

Cloud Billing 계정을 프로젝트에 연결해도 Cloud Billing 계정은 IAM 맥락에서 프로젝트의 상위 항목이 아닙니다. 따라서 프로젝트는 연결된 Cloud Billing 계정에서 권한을 상속하지 않습니다.

이 예시에서 조직에 대한 IAM 결제 역할을 부여받은 모든 사용자는 Cloud Billing 계정이나 프로젝트에 대해서도 이 역할을 부여받습니다.

Cloud Billing 액세스 제어 예시

다양한 시나리오 니즈에 맞게 IAM 역할을 다음과 같이 조합합니다.

시나리오: 중앙 제어를 선호하는 중소기업
사용자 유형 결제 IAM 역할 결제 활동
CEO 결제 계정 관리자 결제 수단을 관리합니다.
인보이스를 확인 및 승인합니다.
CTO 결제 계정 관리자
프로젝트 생성자
예산 알림을 설정합니다.
지출을 확인합니다.
새 결제 가능 프로젝트를 만듭니다.
개발팀 없음 없음
시나리오: 권한 위임을 선호하는 중소기업
사용자 유형 결제 IAM 역할 결제 활동
CEO 결제 계정 관리자 결제 수단을 관리합니다.
권한을 위임합니다.
CFO 결제 계정 관리자 예산 알림을 설정합니다.
지출을 확인합니다.
지급 계정 결제 계정 뷰어 인보이스를 확인 및 승인합니다.
개발팀 결제 계정 사용자
프로젝트 생성자
새 결제 가능 프로젝트를 만듭니다.
시나리오: 개별 재무 계획 및 조달 기능
사용자 유형 결제 IAM 역할 결제 활동
조달 또는 중앙 IT 결제 계정 관리자 결제 수단을 관리합니다.
예산 알림을 설정합니다.
지출 내역을 개발팀에 전달합니다.
재무 계획 결제 계정 뷰어 결제 보고서를 봅니다.
내보내기를 처리합니다.
CxO와 통신합니다.
지급 계정 결제 계정 뷰어 인보이스를 승인합니다.
개발팀 결제 계정 사용자
프로젝트 생성자
새 결제 가능 프로젝트를 만듭니다.
시나리오: 개발 대행사
사용자 유형 결제 IAM 역할 결제 활동
CEO 결제 계정 관리자 결제 수단을 관리합니다.
권한을 위임합니다.
CFO 결제 계정 관리자 예산 알림을 설정합니다.
지출을 확인합니다.
인보이스를 승인합니다.
프로젝트 책임자 결제 계정 사용자
프로젝트 생성자
새 결제 가능 프로젝트를 만듭니다.
프로젝트 개발팀 없음 기존 프로젝트 내에서 개발합니다.
클라이언트 프로젝트 결제 관리자 완료되면 프로젝트의 결제 소유권을 갖습니다.

Cloud Billing 권한 업데이트 방법

Cloud Billing 권한을 검토, 추가, 삭제하는 방법을 알아보려면 Cloud Billing 계정에 대한 액세스 관리의 안내를 따르세요.

직접 사용해 보기

Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.

무료로 시작하기