GCP IAM (Identity and Access Management) 权限配置
IAM 基本概念
谁(identity) 拥有哪些身份(Role),而这些身份可以做哪些事情。下图(一)为能够代表identity 的帐号或是群组,右方则是各个Role。图(二),Role 为Permissions 的群集。Permissiosn (权限)是指可以对该Resource 做哪些事情,例如: compute.instance.delete 就是指可以删除compute instance 的权限。
Cloud IAM 提供三种类型的Roles
- Primitive roles: Owner, Editor, Viewer, Billing Administrator(管理帐单)
- Predefined roles:针对特定的云端资源权限的role,例如Pub/Sub Publisher (roles/pubsub.publisher)
- Custom roles:客制化role,多个permissions 依照使用需求组合而成。
透过IAM,管理员赋予权限给各个identity,而identity 可以为:
-
- Google account:Google account代表一位开发者、管理者或是任何使用者使用GCP。任何与Google account有关联的电邮位址,包括gmail.com或是其他domain,都视为一个identity。
- Service account:Service account是与应用程式做绑定的一个帐号,而不是一位真实的使用者。外部服务存取GCP服务或是GCP服务内部互相沟通,是透过Service account来给定权限。
- Google group:Google group为多个Google accounts或是Service accounts的群集。每一个Google group都有唯一的电邮位址。Google groups可以让使用者方便管理多个identities的权限。
Google group 这个account 本身没有登入权限,且也不能把Google group 当作是一个identity 来操作云端资源。
-
- G Suite domain:透过G Suite account创立的所有帐号所属虚拟群组
- Cloud Identity domain:Cloud Identity domain类似于G Suite domain,差别只在于Cloud Identity domain的使用者无法使用G Suite所提供的应用程式及功能,例如:Google硬碟、文件、简报、试算表等
IAM Policy
IAM Policy 为叙述谁有权限做些什么的群集。管理者可以透过设定policy 来赋予使用者或群组至云端存取资源的权限, 每当该云端资源被存取时,policy 会检查该使用者是否有权限使用。
Resource Hierarchy
GCP云端资源的权限等级是跟据阶层来分类。Organization是等级制度的最上层,通常代表公司,下方的层级可以分做Folders (各部门)以及Projects (各专案)。child会继承parent的IAM policy。Oraganization需要透过G Suite或是Cloud Identity创立。Project底下就是各个云端资源,例如Compute Engine, Cloud Storage。如下图:
将GCP 帐单输出至BigQuery,监控管理云端成本
云端计算的灵活性和可扩展性意味着你的使用量可能会大幅波动,以因应日常需求。当我们使用”用多少,付多少”的计价模式,顾客会希望我们能让他们更好地掌握他们的费用。
掌握帐单的先决条件,就是能更好地造访用户的使用情况和帐务明细。而GCP的帐单输出至BigQuery的功能正式释出,令您能比以往更及时地查看您的GCP成本。
帐单输出到BigQuery,是将现有帐单输出到CSV/JSON文件的一种新的改进版本,可将您的云端使用数据直接输出到BigQuery资料集中。一旦资料存在,您就可以在BigQuery中编写简单的SQL查询,在Data Studio中可视觉化您的数据,或是以编程方式将资料输出到其他工具来分析您的费用。
新的帐单资料会自动输出到资料集中(通常每天几次)。BigQuery 帐单输出还包含一些新功能能帮助您组织资料:
- 藉由使用者标签来分类和追踪成本
- 使用GCP 服务来组织的额外的产品数据:
- 服务说明
- 服务类别
- 以SKU ID独特地识别每个资源类型
- 藉由输出时间和发票来帮助组织成本
开始使用:帐单输出至BigQuery
将帐单输出到BigQuery并分析是一件非常容易的事。第一步是按照这些设置说明启用输出功能,然后开始架构您的费用资料集。需要留意的是,您需要有GCP「帐务管理员」的权限才能启用输出功能。
一旦您设置了帐单输出功能,它将在几个小时内自动开始填充资料。当新的资料可供使用时,您的BigQuery 资料集也将自动的持续更新。

需要留意的是:BigQuery 资料集仅能反应您设定的帐单输出区间内所产生的成本;目前并不会回填帐单资料。尽管现有的CSV 和JSON 输出功能可以使目前的格式保持不变,但还是强烈建议您尽早启用对BigQuery 的帐单输出功能,来构建您的帐单资料集并作出更细部的成本分析。
查询帐单输出资料
当你已经填充了你的资料集,现在马上可以进行有趣的资料分析。您可以输出完整的资料集,并添加新的元素(Ex. 用户标签),也可以针对资料编写查询指令以回答特定问题。以下是一些简单示例,描述如何在输出的帐单资料上使用BigQuery 查询。
不分组查询每行资料
什么方式能最细致地观察您的费用成本?就是不分组查询每一行。除了标签和资源类型之外,假设所有范围都相同(专案、产品等)。
SELECT
resource_type,
TO_JSON_STRING(labels) AS labels,
cost AS cost
FROM `project.dataset.table`;
按标签地图分组以作为JSON 字符串
按每个标签组合分类,能很快速简单的去拆解成本。
SELECT
TO_JSON_STRING(labels) AS labels,
sum(cost) AS cost
FROM `project.dataset.table`
GROUP BY labels;
你可以查看更多的查询指令例子,或者自己撰写。
透过Data Studio 可视觉化您的使用时间
许多商业智能工具会自动地与BigQuery 整合后端的资料存储。透过Data Studio,您可以轻松查看BigQuery 帐务资料,只需点击几下滑鼠即可设置仪表板,并全天获取最新的费用报告,并使用标签对GCP 帐单资料进行分割和拆解。

您可以在这里找到关于如何复制和设置Data Studio模板的详细说明:透过Data Studio可视觉化您的使用时间。Google Cloud尽可能让用户的云端费用透明化、可预测。想了解更多关于输出帐单至BigQuery的资讯,请查看相关说明文件。




QQ咨询
旺旺咨询