gpt4 book ai didi

google-cloud-platform - 基于部分资源名称的 GCP IAM 角色条件

转载 作者:行者123 更新时间:2023-12-05 02:55:24 26 4
gpt4 key购买 nike

我想根据用户的姓名过滤用户可用的资源。所以我尝试使用 GCP IAM 角色条件。

但是在 resource.name 上似乎可用的唯一函数是 startsWith()、endsWith() 或 extract(),说的是 linter 和我找到的例子。在 CEL 语言定义 ( https://github.com/google/cel-spec/blob/master/doc/langdef.md ) 中存在 contains() 或 matches() 但我不能在 GCP 控制台中使用它,linter 拒绝它。

为了明确上下文,同一个项目拥有生产和非生产环境的资源,我想在不让他们访问生产环境的情况下授予人们权利。生产资源以 -prod- 模式命名。

是否有另一种方法可以根据资源名称的一部分设置 IAM 角色条件?

最佳答案

According to the "Conditions Attribute Reference" doc ,您可以使用爆炸 (!) 来否定条件,就像在 bash 中一样。

所以您可能正在寻找的是类似的东西(但不完全匹配,您必须仔细考虑):

! resource.name.extract('/instances/{name}/').startsWith('<beginning of your naming pattern>-prod-')

从事物的声音来看,您可能需要将多个条件链接在一起,以确保您的所有 Assets 都得到解决。例如,如果您以小动物命名您的逻辑分组:

! resource.name.extract('/instances/{name}/').startsWith('kittens-prod-') && ! resource.name.extract('/instances/{name}/').startsWith('hedgehogs-prod-')

您还可以在其他文档的“提取值”部分找到一些有用的信息,"Configuring resource-based-access."

关于google-cloud-platform - 基于部分资源名称的 GCP IAM 角色条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61255835/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com