Identity and Access Management(IAM)에는 세분화된 권한이 포함되어 있어 개별 사용자에게 특정 작업에 대한 액세스 권한을 부여하거나 취소할 수 있습니다. 사용자에게 권한을 할당하는 절차를 단순화하기 위해, IAM 역할을 이용하여 이러한 세분화된 권한을 관련 그룹으로 묶습니다. 결제에는 결제 계정 관리자 또는 결제 계정 뷰어와 같은 사전 정의된 역할이 있고 이 역할은 대부분의 사용자에게 유용합니다. 그러나 사용자의 요구 사항과 맞지 않는 경우, 커스텀 역할을 이용하여 보다 구체적인 권한 모음을 부여할 수 있습니다.
커스텀 역할 만들기
조직에서 생성한 커스텀 역할은 조직의 어떠한 결제 계정에나 적용 가능합니다.
IAM 문서의 커스텀 역할 만들기 및 관리에서는 필요한 권한을 비롯하여 커스텀 역할을 구성하는 방법을 설명합니다.
예를 들어 다른 사용자에게 예산 알림 및 결제 내보내기와 같은 비용 관리 기능을 수정할 수 있는 권한을 부여하려고 합니다. 다음 권한을 부여할 수 있습니다.
billing.budgets.create
billing.budgets.update
billing.accounts.updateUsageExportSpec
사전 정의된 역할을 사용하여 이러한 권한을 적용하려면 결제 계정 관리자 역할을 부여해야 합니다. 하지만 이 역할에는 리소스 연결을 삭제하고, 구독을 취소하고, 결제 계정을 종료할 수 있는 권한도 포함됩니다. 사용자에게 이러한 권한을 부여하지 않으려면 대신 세 가지 권한만 있는 커스텀 역할을 만들고 이름을 비용 관리자로 지정하면 됩니다. 이렇게 하면, 다른 계정 속성을 수정할 수는 없지만 폭넓은 비용 관리 권한이 필요한 사용자에게 결제 계정 뷰어 역할과 함께 커스텀 역할을 부여할 수 있습니다.
권한 연결 및 상속
결제 계정 수준 또는 프로젝트 수준에서 결제 권한을 부여할 수 있습니다. 대부분의 결제 권한은 결제 계정에 속하므로, 해당 권한이 포함된 역할은 결제 계정과 연결되어야 합니다. 그 외의 결제 권한은 프로젝트에 속하므로, 결제 계정이 아닌 프로젝트와 연결해야 합니다.
예를 들어 프로젝트를 결제 계정에 연결하려면 결제 계정에 대한 billing.resourceAssociations.create 권한과 프로젝트에 대한 resourcemanager.projects.createBillingAssignment 권한이 있어야 합니다. 이는 프로젝트 소유자가 액세스를 제어하는 작업에는 프로젝트 권한이 필요하고, 결제 계정 관리자가 액세스를 제어하는 작업에는 결제 계정 권한이 필요하기 때문입니다. 두 작업 모두 관련된 경우, 두 권한이 모두 필요합니다.
다른 IAM 권한과 마찬가지로, 모든 결제 권한은 더 높은 수준의 결제 계층구조로부터 상속합니다. 예를 들어 billing.accounts.close가 포함된 역할이 있는 조직 내 사용자는 이 조직에 있는 모든 결제 계정을 닫을 수 있습니다. 그러나 일부 권한은 더 높은 수준에서만 적용됩니다. 예를 들어 개별 결제 계정에는 billing.accounts.list 권한이 적용되지 않지만 billing.accounts.list가 포함된 역할이 있는 조직 내 사용자는 이 조직에 있는 모든 결제 계정을 나열할 수 있습니다.
결제 활동
다음 표는 일반적인 결제 활동 및 이러한 활동을 수행하는 데 필요한 권한, 그리고 해당 권한이 적용되는 리소스를 설명합니다.
계정 관리
작업
권한
리소스
기본적인 계정 정보 수집(예: 계정 이름, 통화, 계정 활성 여부)
billing.accounts.get
결제 계정
무료 체험판에서 업그레이드
billing.accounts.update
결제 계정
계정 이름 바꾸기
billing.accounts.update
결제 계정
구매 주문 번호 변경
billing.accounts.update
결제 계정
계정 닫기
billing.accounts.close
결제 계정
닫은 계정 다시 열기
billing.accounts.reopen
결제 계정
결제 계정 계층구조
작업
권한
리소스
조직에서 계정 나열
billing.accounts.list
조직
조직에서 계정 만들기
billing.accounts.create
조직
조직으로 계정 이동
billing.accounts.create
조직
billing.accounts.move
결제 계정
조직 간 계정 이동
billing.accounts.removeFromOrganization
이전 조직
billing.accounts.create
새 조직
billing.accounts.move
결제 계정
결제 정보
결제 프로필에는 고객 이름, 주소, 결제 수단이 포함됩니다.
작업
권한
리소스
결제 프로필 보기
billing.accounts.getPaymentInfo
결제 계정
결제 프로필 업데이트
billing.accounts.updatePaymentInfo
결제 계정
사용량이 발생한 SKU에 대한 가격만 보기
billing.accounts.getPricing
결제 계정
결제 계정의 SKU당 커스텀 계약 가격 보기
billing.accounts.getPricing
결제 계정
결제 계정의 비용 및 사용량 보기*
billing.accounts.getSpendingInformation
결제 계정
프로젝트의 비용 및 사용량 보기*
billing.resourceCosts.get
프로젝트
resourcemanager.projects.get
프로젝트
리소스 연결
결제 계정 간에 프로젝트를 이동하려면 기존의 결제 계정에서 프로젝트를 삭제하여 새 결제 계정과 연결하는 것과 동일한 권한이 필요합니다.
작업
권한
리소스
프로젝트 연결 보기
billing.resourceAssociations.list
결제 계정
resourcemanager.projects.get
프로젝트
프로젝트를 결제 계정과 연결
billing.resourceAssociations.create
결제 계정
resourcemanager.projects.createBillingAssignment
프로젝트
결제 계정에서 프로젝트 삭제
billing.resourceAssociations.delete
결제 계정
resourcemanager.projects.deleteBillingAssignment
프로젝트
예산 및 지출 알림
작업
권한
리소스
Cloud Billing 계정의 예산 목록 보기
billing.budgets.get
결제 계정
billing.budgets.list
결제 계정
Cloud Billing 계정 범위의 예산 업데이트
billing.budgets.update
결제 계정
Cloud Billing 계정의 예산 만들기
billing.budgets.create
결제 계정
단일 프로젝트로 범위가 지정된 예산 목록 보기
resourcemanager.projects.get
프로젝트
billing.resourceCosts.get
프로젝트
billing.resourcebudgets.read
프로젝트
단일 프로젝트로 범위가 지정된 예산 업데이트
resourcemanager.projects.get
프로젝트
billing.resourceCosts.get
프로젝트
billing.resourcebudgets.read
프로젝트
billing.resourcebudgets.write
프로젝트
단일 프로젝트로 범위가 지정된 예산 만들기
resourcemanager.projects.get
프로젝트
billing.resourceCosts.get
프로젝트
billing.resourcebudgets.read
프로젝트
billing.resourcebudgets.write
프로젝트
크레딧 및 프로모션
작업
권한
리소스
원래 액수 및 남은 액수를 포함한 크레딧 목록 보기
billing.credits.list
결제 계정
프로모션 코드 사용
billing.accounts.redeemPromotion
결제 계정
billing.accounts.update
결제 계정
정책
정책은 결제 계정에서 특정 사용자가 액세스할 수 있는 리소스를 정의합니다. 커스텀 역할 만들기 또는 수정에 대한 자세한 내용은 위에 있는 커스텀 역할 만들기 섹션을 참조하세요.
작업
권한
리소스
연결된 사용자 이름을 포함하여 계정에서 역할 보기
billing.accounts.getIamPolicy
결제 계정
계정에서 사용자에게 역할 부여
billing.accounts.setIamPolicy
결제 계정
내보내기 사양
내보내기 사양은 사용량과 관련된 모든 데이터의 사본을 보낼 위치를 정의하며 BigQuery 데이터 세트의 이름을 포함할 수 있습니다.
작업
권한
리소스
현재 내보내기 사양 보기(사용량 데이터를 내보낼 Cloud Storage 버킷 또는 BigQuery 데이터 세트)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-04-15(UTC)"],[[["\u003cp\u003eIdentity and Access Management (IAM) allows for fine-grained permissions, which can be grouped into roles for simplified user access management, including the use of predefined or custom roles.\u003c/p\u003e\n"],["\u003cp\u003eCustom roles, created at the organization level, enable tailored permission sets for billing accounts, providing flexibility beyond predefined roles, and ensuring that users only receive necessary permissions.\u003c/p\u003e\n"],["\u003cp\u003eBilling permissions can be granted at both billing account and project levels, with most permissions residing at the billing account level, but some actions, such as project association, require permissions at both levels.\u003c/p\u003e\n"],["\u003cp\u003eUsers can manage budgets for an entire billing account or specific projects, depending on the assigned permissions, which can be set at either the billing account level or the project level to limit access as needed.\u003c/p\u003e\n"],["\u003cp\u003eBilling permissions follow a hierarchical inheritance model, meaning permissions at higher levels (like the organization) apply to lower levels (like individual billing accounts), and some permissions are exclusive to these higher levels.\u003c/p\u003e\n"]]],[],null,["# Create custom roles for Cloud Billing accounts\n\n\u003cbr /\u003e\n\n[Identity and Access Management (IAM)](/iam/docs/overview)\nincludes fine-grained permissions, which lets you grant or revoke access to\nspecific actions for individual users. To simplify the process of assigning\npermissions to users, IAM roles combine these fine-grained\npermissions into related groups. Billing has\n[predefined roles](/billing/docs/how-to/billing-access),\nsuch as Billing Account Administrator or Billing Account Viewer, which\nwork for most users. But, if they don't fit your needs, custom roles\nlet you to grant more specific sets of permissions.\n\nCreate a custom role\n--------------------\n\nCustom roles are created on the organization, and then are applied to any\nbilling account in the organization.\n[Creating and Managing Custom Roles](/iam/docs/creating-custom-roles)\nin the IAM documentation describes how to configure\na custom role, including which permissions are necessary.\n| **Caution:** When you create a custom role, you're prompted to specify *Project* or *Organization* . You must select *Organization*. Project roles can't be applied to billing accounts.\n\nAfter custom roles are created, you can grant custom roles to users just like\nstandard, predefined roles.\n[Learn how to update billing permissions](/billing/docs/how-to/billing-access#update_billing_permissions).\n\nExample custom role\n-------------------\n\nImagine you want to give someone the ability to edit cost management features,\nsuch as budget alerts and billing export. The relevant permissions are:\n\n- `billing.budgets.create`\n- `billing.budgets.update`\n- `billing.accounts.updateUsageExportSpec`\n\nWith the predefined roles, to apply these permissions you need to grant\nthe Billing Account Administrator role. But that role also includes\npermission to delete resource associations, cancel subscriptions, and close the\nbilling account. If you didn't want your users to have those capabilities, you\ncould instead [create a custom role](/iam/docs/creating-custom-roles)\nwith only the three necessary permissions and name it *Cost Management\nAdministrator*. Then, you could apply that custom role in combination with the\nBilling Account Viewer role to any users that should have broad cost\nmanagement permissions but no ability to edit other account properties.\n\nPermission association and inheritance\n--------------------------------------\n\nYou can grant billing permissions at the billing\naccount level or at the project level. Most billing permissions belong on the\nbilling account, so roles containing those permissions should be associated with\nthe billing account. Other billing permissions instead belong on a project and\nneed to be associated with the project instead of the billing account.\n\nFor example, associating a\nproject with a billing account requires the\n`billing.resourceAssociations.create` permission on the billing account and\nalso the `resourcemanager.projects.createBillingAssignment` permission on the\nproject. This is because project permissions are required for actions where\nproject owners control access, while billing account permissions are required\nfor actions where billing account administrators control access. When both\nare involved, both permissions are necessary.\n\nJust like other IAM permissions, all billing permissions\ninherit from higher levels of the billing hierarchy. For example, a user with\na role containing `billing.accounts.close` on an organization can close any\nbilling account within that organization. However, some permissions only apply\nat higher levels. For example, the `billing.accounts.list` permission doesn't\ndo anything when applied to an individual billing account, but a user with a\nrole containing `billing.accounts.list` on an organization can list all billing\naccounts within that organization.\n\nBilling activities\n------------------\n\nThe following tables describe common billing activities, the permissions\nrequired to perform those activities, and the resource that those permissions\napply to.\n\n### Account management\n\n| **Key Point:** Most billing actions require `billing.accounts.get`. You might consider giving a role with this permission to all users who need billing account access.\n\n### Billing account hierarchy\n\n### Cost information\n\nCost view permissions can be limited to specific projects, or granted on a\nbilling account to view all costs for a billing account.\n\n| **\\* Note:** A user with `billing.accounts.getSpendingInformation` permission on the billing account can view costs for the entire billing account including *all* of its projects. If you want to limit a user to viewing the costs only for specific projects, give the user the `billing.resourceCosts.get` and `resourcemanager.projects.get` permissions on each project instead of setting the billing account level permission.\n\n### Payment information\n\nThe payment profile includes customer name, address, and payment method.\n\n### Resource associations\n\nMoving a project between billing accounts requires the same permissions as\nremoving it from the original billing account and associating it with the new\none.\n\n### Budgets and spending alerts\n\n| **Key Point:** A user with billing-account-level permissions on the billing account can manage budgets for the entire billing account, including *any* of its projects. If you want to limit a user to managing budgets that are scoped only to a single project, give the user project-level permissions on the project instead of setting billing-account-level permissions. For more information, see [Create, edit, or delete budgets and budget alerts](/billing/docs/how-to/budgets)\n\n### Credits and promotions\n\n### Policy\n\nThe policy defines which users have access to which resources on a billing\naccount. For information on creating or modifying custom roles, see the\n[Create a Custom Role](#create_a_custom_role) section, above.\n\n### Export specifications\n\nThe export specification defines where to send a copy of all usage-related data,\nand can contain the name of a\n[BigQuery dataset](/billing/docs/how-to/export-data-bigquery).\n\nRelated topics\n--------------\n\n- [Overview of Cloud Billing access control](/billing/docs/how-to/billing-access)\n- [Cloud Billing API access control](/billing/v1/how-tos/access-control)\n- [Granting, changing, and revoking Access](/iam/docs/granting-changing-revoking-access)"]]