Google Cloud には Identity and Access Management(IAM)機能があります。この機能を使用すると、特定の Google Cloud リソースへのアクセスを許可し、他のリソースへのアクセスを防ぐことができます。IAM を使用すると、セキュリティに関する最小権限の原則を適用できるため、リソースに対する必要なアクセス権のみを付与できます。
IAM では、IAM 許可ポリシーを設定して、誰(どのユーザー)に、どのリソースに対するどのアクセス権(ロール)を付与するかを制御できます。許可ポリシーでは、特定のロールをユーザーに割り当てます。これにより、そのロールの権限をユーザーに付与します。
このページでは、Cloud Billing API で使用できる IAM ロールについて説明します。たとえば、IAM を使用して Cloud 請求先アカウントに対するロール(請求先アカウントの費用管理者や請求先アカウント閲覧者など)を付与できます。IAM とその機能の詳細については、IAM のドキュメントをご覧ください。特に、プロジェクト、フォルダ、組織へのアクセスを管理すると他のリソースへのアクセスを管理するをご覧ください。
権限とロール
ユーザーが Google Cloud コンソールで Cloud 請求先アカウントの詳細を表示する場合や、Cloud Billing API メソッドで Cloud 請求先アカウントの情報を返す場合は、ユーザーまたは呼び出し元に必要な権限が割り当てられている必要があります。
Cloud Billing Catalog API に必要な権限
Cloud Billing Catalog API(サービスリストと SKU リスト)を使用する権限は必要ありません。この API から返されるデータはすべて公開されます。
Cloud Billing Budget API に必要な権限
次の表に、各 Cloud Billing Budget API メソッドを呼び出す際に必要となる権限の概要を示します。また、これらの権限を自動的に付与する標準の IAM 請求ロールも示します。
API メソッド | 必要な権限 | 権限を付与する IAM ロール |
---|---|---|
GetBudget |
予算の詳細情報を取得するには、呼び出し元に、予算の Cloud 請求先アカウントに対する billing.budgets.get 権限が必要です。単一プロジェクトの予算の場合、呼び出し元には、請求先アカウントの権限ではなく、 |
予算の Cloud 請求先アカウントに対する請求先アカウント管理者、請求先アカウントの費用管理者、請求先アカウント閲覧者。 単一プロジェクト予算の場合、プロジェクトに対するプロジェクト オーナー、プロジェクト編集者、またはプロジェクト閲覧者。 |
ListBudgets |
Cloud 請求先アカウントに適用される予算のリストを返すには、呼び出し元に Cloud 請求先アカウントに対する billing.budgets.list 権限が必要です。単一プロジェクトの予算の場合、呼び出し元には、請求先アカウントの権限ではなく、 |
予算の Cloud 請求先アカウントに対する請求先アカウント管理者、請求先アカウントの費用管理者、請求先アカウント閲覧者。 単一プロジェクト予算の場合、プロジェクトに対するプロジェクト オーナー、プロジェクト編集者、またはプロジェクト閲覧者。 |
CreateBudget |
新しい予算を作成するには、呼び出し元に予算の Cloud 請求先アカウントに対する billing.budgets.create 権限が必要です。単一プロジェクトの予算の場合、呼び出し元には、請求先アカウントの権限ではなく、 |
予算の Cloud 請求先アカウントに対する請求先アカウント管理者または請求先アカウントの費用管理者。 単一プロジェクト予算の場合、プロジェクトに対するプロジェクト オーナーまたはプロジェクト編集者。 |
UpdateBudget |
既存の予算を更新するには、呼び出し元に予算の Cloud 請求先アカウントに対する billing.budgets.update 権限が必要です。単一プロジェクトの予算の場合、呼び出し元には、請求先アカウントの権限ではなく、 |
予算の Cloud 請求先アカウントに対する請求先アカウント管理者または請求先アカウントの費用管理者。 単一プロジェクト予算の場合、プロジェクトに対するプロジェクト オーナーまたはプロジェクト編集者。 |
DeleteBudget |
既存の予算を削除するには、呼び出し元に、予算の Cloud 請求先アカウントに対する billing.budgets.delete 権限が必要です。単一プロジェクトの予算の場合、呼び出し元には、請求先アカウントの権限ではなく、 |
予算の Cloud 請求先アカウントに対する請求先アカウント管理者または請求先アカウントの費用管理者。 単一プロジェクト予算の場合、プロジェクトに対するプロジェクト オーナーまたはプロジェクト編集者。 |
Cloud Billing Account API に必要な権限
次の表に、Cloud Billing Account API メソッドを呼び出すために必要な権限と、それらの権限を含む Cloud Billing の IAM ロールを示します。
API メソッド | 必要な権限 | 権限を含む IAM ロール |
---|---|---|
billingAccounts.create |
このメソッドは、新しい Cloud 請求先サブアカウントを作成するために使用されます。呼び出し元には、サブアカウントの親 Cloud 請求先アカウントに対する billing.accounts.update が必要です。 |
請求先アカウント管理者 |
billingAccounts.get |
Cloud 請求先アカウントに対する billing.accounts.get 。 |
請求先アカウント管理者、請求先アカウントの費用管理者、請求先アカウント閲覧者、請求先アカウント ユーザー |
billingAccounts.list |
選択していません。このメソッドは、呼び出し元がアクセス権を持っているすべてのアカウントを返します。 | 請求先アカウント管理者、請求先アカウントの費用管理者、請求先アカウント閲覧者、または Cloud 請求先アカウントの請求先アカウント ユーザー、あるいはプロジェクトのプロジェクト支払い管理者。 |
billingAccounts.getIamPolicy |
Cloud 請求先アカウントに対する billing.accounts.getIamPolicy 。 |
請求先アカウント管理者、請求先アカウントの費用管理者、請求先アカウント閲覧者、請求先アカウント ユーザー |
billingAccounts.setIamPolicy |
Cloud 請求先アカウントに対する billing.accounts.setIamPolicy 。 |
請求先アカウント管理者 |
billingAccounts.testIamPermissions |
選択していません。このメソッドは、呼び出し側が Cloud 請求先アカウントに関して所有する権限を判定するために使用されます。 | なし |
billingAccounts.patch |
Cloud 請求先アカウントに対する billing.accounts.update 。 |
請求先アカウント管理者 |
billingAccounts.projects.list |
Cloud 請求先アカウントに対する billing.resourceAssociations.list 。 |
請求先アカウント管理者、請求先アカウントの費用管理者、または請求先アカウント閲覧者 |
projects.getBillingInfo |
プロジェクトに対する resourcemanager.projects.get 。詳細については、プロジェクトのアクセス制御をご覧ください。 |
プロジェクト オーナー、プロジェクト編集者、またはプロジェクト閲覧者 |
projects.updateBillingInfo |
Cloud 請求先アカウントに対する billing.resourceAssociations.create とプロジェクトに対する resourcemanager.projects.createBillingAssignment 。 |
請求先アカウント管理者または請求先アカウント ユーザー、かつプロジェクト支払い管理者 |
ロール
ユーザーには権限を直接付与するのではなく、ロールを付与します。ロールには、1 つ以上の権限がバンドルされています。
同じリソースに 1 つ以上のロールを付与できます。
次の表に、Cloud Billing API にアクセスするために付与できる IAM ロール、ロールの説明、そのロールに含まれる権限を示します。これらのロールの一部には、他の Google Cloud サービスに対する権限も含まれます。
Role | Permissions |
---|---|
Billing Account Administrator( Provides access to see and manage all aspects of billing accounts. Lowest-level resources where you can grant this role:
|
|
Billing Account Costs Manager( 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 Creator( Provides access to create billing accounts. Lowest-level resources where you can grant this role:
|
|
Project Billing Manager( 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:
|
|
Billing Account 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 Viewer( View billing account cost and pricing information, transactions, and billing and commitment recommendations. Lowest-level resources where you can grant this role:
|
|
なお、roles/billing.admin
、roles/billing.costsManager
、roles/billing.viewer
、roles/billing.projectManager
ロールには、他の Google Cloud サービスに対する権限も含まれます。
関連トピック
- IAM ドキュメントのプロジェクト、フォルダ、組織へのアクセス権の管理
- IAM ドキュメントの他のリソースへのアクセス権の管理
- Cloud Billing に関するカスタムロールの作成