經過昨天已經設定好了的GCP SDK後,可以開始進入雲端世界上的正題溜,首先開始使用GCP時,在一個專案的新建後敏銳的大家一定會想到了,是誰可以連線然後誰不可以連線,是誰可以有權限誰不可以有權限,我們先統稱為資安的議題,這裡面其中包含了兩大類:
今天要探討的是第一個部分 權限 的設定在GCP中管理權限的服務就是 IAM (Identity and Access Management的簡稱) 想必使用過其他雲端平台服務AWS Azure...等應該是不陌生這名詞。
< 什麼 人 可以對什麼 資源目標 執行什麼 操作 >
沒錯~就是限制可以分成三個層面缺一不可 至於上面提到的 人 這邊是比較通用的表示,但是實際上在GCP上可以,以Group與Service Account來綁定使用者這部分後面會在深入一點的解釋,今天是比較聚焦探討什麼是IAM以及他可以做什麼。
尤如上述所說其中三部分的第一個部分後續會在做詳述,這邊先進入第二第三部分 資源目標 以及 操作 :
在角色部分GCP會有自己定義出來的角色群組可以用來理解該資源所需大方向的同捆包,此角色內部就會有對應所需要的Role ID List這兩個東西就決定了你是否可以操作此服務的權限,而且這些細項非常的細,例如說基本的read write可分get list或是create update以我的經驗來說可以說是滿複雜的,需要了解透撤才會比較方便設置權限對於使用者。
當然如果有需要客製化GCP也提供了組合角色,建立客製化角色的功能這部分個人認為很不錯,彈性了使用者的使用情境,但也相對容易的遺漏權限或多開了權限,這就比較需要比較注意了~
另外如果使用了自訂群組方式需要注意一些事項,若需要刪除角色需要注意角色綁定都將保留在IAM政策中但處於無效狀態,您可以在7天內恢復刪除的角色,但在這7天內Cloud Console會顯示該角色已被刪除。
2. 當然也可以使用指令這邊列一下用YAML建立角色語法:
(my-role-definition.yaml)
title: "My Company Admin"
description: "My custom role description."
stage: "ALPHA"
includedPermissions:
- iam.roles.get
- iam.roles.list
指令:
gcloud iam roles create myCompanyAdmin --organization={organization_id} \
--file=my-role-definition.yaml
還有需多指令可以查看Google官方文件(使用UI也很方便)~