red*_*888 21 google-cloud-platform gcloud google-cloud-iam
在google cloud gui控制台中,我访问了"IAM&admin">"服务帐户",并使用查看者角色创建了一个名为"my-service-account"的服务帐户.
然后我运行了这个命令:
gcloud iam service-accounts get-iam-policy my-service-account@mydomain.iam.gserviceaccount.com
Run Code Online (Sandbox Code Playgroud)
并看到了这个输出:
etag: ACAB
Run Code Online (Sandbox Code Playgroud)
根据文档,这意味着此服务帐户没有与之关联的策略.所以我给它分配了一个"角色",不包括在其"政策"中.
如何列出与服务帐户关联的角色?
pol*_*lve 36
要过滤特定的服务帐户,以下gcloud命令可以解决这个问题:
gcloud projects get-iam-policy <YOUR GCLOUD PROJECT> \
--flatten="bindings[].members" \
--format='table(bindings.role)' \
--filter="bindings.members:<YOUR SERVICE ACCOUNT>"
Run Code Online (Sandbox Code Playgroud)
给出了不错的输出:
ROLE
roles/cloudtrace.agent
roles/servicemanagement.serviceController
roles/viewer
Run Code Online (Sandbox Code Playgroud)
格式参数当然可以调整,以满足您的特定需求.
Gal*_*one 19
在Google Cloud中,您拥有项目和服务帐户的IAM政策.
通过项目的IAM策略,您可以定义谁可以对您的Google Cloud项目中的资源执行特定操作.将"查看者"角色添加到您修改项目策略的服务帐户(即您的服务帐户可以在项目中执行的操作)
另一方面,服务帐户的IAM策略用于控制谁拥有所有权以及谁可以访问服务帐户及其设置.这是您使用您发布的命令检索的内容,但是您没有获得任何内容,因为您获得了服务帐户的策略而不是项目的策略.
为了获得包含成员及其相应角色的项目的IAM策略,您可以运行以下命令:
gcloud projects get-iam-policy PROJECT_ID
Run Code Online (Sandbox Code Playgroud)
您可以在以下链接中找到有关服务帐户的更多信息:
https://cloud.google.com/iam/docs/service-accounts
https://cloud.google.com/iam/docs/granting-roles-to-service-accounts
Cir*_*rcy 10
您可以使用此命令列出分配给服务帐户的资源和角色:
gcloud beta asset search-all-iam-policies --scope=organizations/123 --query="policy:456@cloudservices.gserviceaccount.com" | egrep "role:|resource:|gserviceaccount"
Run Code Online (Sandbox Code Playgroud)
只要您拥有该范围的 cloudasset.assets.searchAllIamPolicies 权限,您就可以将范围更改为文件夹或项目。
更多详细信息:如何在 Google 云平台 (GCP) 中跨服务 (API)、资源类型和项目列出、查找或搜索 iam 策略?
小智 5
要在控制台中查看每个服务帐户的角色:
您将获得给定服务帐户的角色列表。
| 归档时间: |
|
| 查看次数: |
10929 次 |
| 最近记录: |