什么是模拟服务帐号
众所周知, gcloud 登陆的方式有两种
- 使用个人帐号, 通常是1个邮箱地址
- 使用一个service account 通常是1个 json key 文件
所谓模式服务帐号意思就是, 让操作人员用个人帐号登陆, 但是登陆后所有的操作都是基于另个service account的权限
为什么需要模拟服务帐号
- 让操作人员使用服务帐号所有的权限
- 让操作人员没有对应的jsonkey file也能使用service account
- 让所有的操作的日志记录的操作者 为服务帐号
所需要的权限
假如 我的个人帐号是jason1.pan@maplequad.com
要模拟的sa 是terraform@jason-hsbc@gserviceaccount.com
简单来讲就是让个人帐号具有sa的 roles/iam.serviceAccountTokenCreator 的权限
检查
gateman@MoreFine-S500: github$ gcloud iam service-accounts get-iam-policy terraform@jason-hsbc.iam.gserviceaccount.com --format=json
{
"etag": "ACAB"
}
可见, 并没有
方法有两种
- 就是分配该权限给个人帐号
- 让个人帐号拥有gcp project owner权限
这里用的是第一种
gateman@MoreFine-S500: github$ gcloud iam service-accounts add-iam-policy-binding terraform@jason-hsbc.iam.gserviceaccount.com --member="user:jason1.pan@maplequad.com" --role="roles/iam.serviceAccountTokenCreator" --project=jason-hsbc
Updated IAM policy for serviceAccount [terraform@jason-hsbc.iam.gserviceaccount.com].
bindings:
- members:
- user:jason1.pan@maplequad.com
role: roles/iam.serviceAccountTokenCreator
etag: BwY-I5F2wxU=
version: 1
gateman@MoreFine-S500: github$ gcloud iam service-accounts get-iam-policy terraform@jason-hsbc.iam.gserviceaccount.com --format=json
{
"bindings": [
{

最低0.47元/天 解锁文章
1547

被折叠的 条评论
为什么被折叠?



