我们在 Google Cloud 中是不是有类似 AWS 命名配置文件的功能?

Posted

技术标签:

【中文标题】我们在 Google Cloud 中是不是有类似 AWS 命名配置文件的功能?【英文标题】:Do we have a AWS Named Profile like functionality in Google Cloud?我们在 Google Cloud 中是否有类似 AWS 命名配置文件的功能? 【发布时间】:2021-03-28 03:45:36 【问题描述】:

我想知道 Google Cloud 是否提供类似 AWS 命名配置文件的功能,即我想在运行时将凭证传递给 Google Cloud 的 gsutil 命令。

例如,在下面的场景中,我想在两个不同的谷歌云存储桶中处理数据(使用 gsutil)时传递不同的配置/凭据。

--Google Cloud(GCP 不工作场景)

gsutil cp -r C:/Users/Downloads/crm.txt gs://bucket_crm_123 --configuration=config1
gsutil cp -r C:/Users/Downloads/payroll.txt gs://bucket_payroll_123 --configuration=config2

--AWS(AWS工作场景)

aws s3 cp C:/Users/Desktop/GCFR/testfiles/ s3://hive1s3/ --profile User1 --recursive

aws s3 cp C:/Users/Desktop/GCFR/testfiles1/ s3://hive2s3/ --profile User2--recursive

因此,简而言之,我想确保用户/配置只有在拥有权限的情况下才能访问 Google Cloud 存储桶。

【问题讨论】:

【参考方案1】:

你的意思是你想要像“运行方式”这样的标志功能??

如果是,您可以使用“服务帐户”做同样的工作。

创建具有适当权限的服务帐户。(可以访问所需存储桶的权限)

并使用您创建的服务帐户在您的 gsutil 命令中添加 -i 标志。

请参阅here 以获取有关 -i 标志的更多信息。

或者如果您必须指定用户,您可以使用以下命令更改运行命令的用户。

gcloud 配置设置帐号 USERACCOUNT

通过此命令更改用户帐户后运行 gsutil 命令。

Plus) 在运行“gcloud config set account”命令之前,您必须注册用于 gsutil 的用户帐户。

运行命令“gcloud auth login”并验证用户帐户。

只能使用在此进程中注册的用户帐户。

如果您想知道可以使用哪些用户帐户,请运行“gcloud auth list”命令。

【讨论】:

谢谢,但我在使用用户创建的服务帐户时收到以下错误。命令:gsutil -i crm-srv-acc@propane-calling-272510.iam.gserviceaccount.com ls 错误:“AccessDeniedException: Service account impersonation failed. Please go to the Google Cloud Platform Console (cloud.google.com/console), select IAM & admin,然后是 Service Accounts,并为您的原始帐户授予目标服务帐户上的 Service Account Token Creator 角色。” 似乎您没有使用服务帐户的权限.. 授予您的帐户适当的权限或 Go plan B

以上是关于我们在 Google Cloud 中是不是有类似 AWS 命名配置文件的功能?的主要内容,如果未能解决你的问题,请参考以下文章

Google Cloud 上使用 Pub/Sub 的主/从模式

当我们将数据从加密的 AWS S3 存储桶发送到加密的 Google Cloud Storage 存储桶时,该数据是不是在传输过程中加密?

如何从Java脚本安全地调用Google Cloud Run服务?

Google Cloud Pub/Sub 重试次数

Google Cloud Storage - Java API 中是不是有等效的 gsutil 'rsync'?

Google Cloud Build 超时