如何使用服务帐户在 shell 脚本中对 gsutil 进行身份验证
How to Authenticate to gsutil in a shell script using service account
从 shell 脚本 向 Google Cloud Storage Bucket 进行身份验证的最佳方法是什么(将安排到 运行 daily/hourly) 使用 服务帐户 ?
我已经完成了以下link,但我仍然对登录过程有一些疑问。
How to use Service Accounts with gsutil, for uploading to CS + BigQuery
下面提到的登录步骤是一次性过程吗?如果是,登录如何用于后续执行?
我的理解是以下命令将内容写入 .boto 文件,该文件用于后续执行?
但是根据下面的 link - 它写入了一个单独的 json 文件。config/gcloud?
Does gsutil support creating boto files with service account info?
在这种情况下,.boto 文件有什么用?为什么/什么时候我们需要通过BOTO_PATH/BOTO_CONFIG传递它?
在 gsutil(独立)中,使用以下步骤登录
gsutil config -e
可选 -o 输出到 ~/.boto 以外的文件
gsutil 作为 gcloud 的一部分
gcloud auth activate-service-account SERVICE_ACCOUNT@DOMAIN.COM --key-file=/path/key.json --project=PROJECT_ID
防止其他脚本干预的最佳方法是什么?
例如,假设我们有 shell 脚本 S1,连接到项目 P1 以将数据上传到 Bucket B1,如果另一个 shell 脚本说 S2 在连接的同时被触发将 Project P2 上传到 Bucket B2,会不会导致问题?
避免此类问题的最佳做法是什么?
是否可以限制只在脚本执行时登录?
比如说,脚本使用 cron 安排到 运行 在 10:00 AM UTC,脚本在 10:30 AM UTC 完成执行。
是否可以阻止 10:30 到下一个 运行 之间的任何操作?
换句话说,是否可以在没有干预的情况下以编程方式注销然后登录?
环境:Centos
BOTO文件的原理就是回答你的问题2。你可以有2个凭证访问2个不同的bucket。创建 2 个 boto 文件并为每个脚本使用正确的文件。
对于第 3 个问题,可以设置存储桶访问的条件。
Select 一个存储桶并转到信息面板中的 right-hand 一侧,然后单击添加凭据。
然后,添加你的凭证,你的角色,点击添加条件(你必须在桶上设置统一的权限定义才能使用该功能)
然后定义一个条件以允许在您的时区上午 10 点之后和上午 11 点之前的权限(您没有分钟粒度)
从 shell 脚本 向 Google Cloud Storage Bucket 进行身份验证的最佳方法是什么(将安排到 运行 daily/hourly) 使用 服务帐户 ? 我已经完成了以下link,但我仍然对登录过程有一些疑问。
How to use Service Accounts with gsutil, for uploading to CS + BigQuery
下面提到的登录步骤是一次性过程吗?如果是,登录如何用于后续执行?
我的理解是以下命令将内容写入 .boto 文件,该文件用于后续执行? 但是根据下面的 link - 它写入了一个单独的 json 文件。config/gcloud? Does gsutil support creating boto files with service account info?
在这种情况下,.boto 文件有什么用?为什么/什么时候我们需要通过BOTO_PATH/BOTO_CONFIG传递它?
在 gsutil(独立)中,使用以下步骤登录
gsutil config -e
可选 -o 输出到 ~/.boto 以外的文件
gsutil 作为 gcloud 的一部分
gcloud auth activate-service-account SERVICE_ACCOUNT@DOMAIN.COM --key-file=/path/key.json --project=PROJECT_ID
防止其他脚本干预的最佳方法是什么?
例如,假设我们有 shell 脚本 S1,连接到项目 P1 以将数据上传到 Bucket B1,如果另一个 shell 脚本说 S2 在连接的同时被触发将 Project P2 上传到 Bucket B2,会不会导致问题? 避免此类问题的最佳做法是什么?
是否可以限制只在脚本执行时登录? 比如说,脚本使用 cron 安排到 运行 在 10:00 AM UTC,脚本在 10:30 AM UTC 完成执行。 是否可以阻止 10:30 到下一个 运行 之间的任何操作? 换句话说,是否可以在没有干预的情况下以编程方式注销然后登录?
环境:Centos
BOTO文件的原理就是回答你的问题2。你可以有2个凭证访问2个不同的bucket。创建 2 个 boto 文件并为每个脚本使用正确的文件。
对于第 3 个问题,可以设置存储桶访问的条件。
Select 一个存储桶并转到信息面板中的 right-hand 一侧,然后单击添加凭据。
然后,添加你的凭证,你的角色,点击添加条件(你必须在桶上设置统一的权限定义才能使用该功能)
然后定义一个条件以允许在您的时区上午 10 点之后和上午 11 点之前的权限(您没有分钟粒度)