1

如何在对象存储中创建一个仅对一个存储桶具有权限的服务帐户?

我尝试通过 Web 控制台创建服务帐户,但找不到与对象存储相关的任何角色: 在此处输入图像描述

4

1 回答 1

2

要限制对服务帐户的访问,您需要使用ACL

您还需要使用YC CLIAWS CLI

让我从创建帐户开始解释一切。

# yc iam service-account create name <account name>
id: <service-account id>
folder_id: <folder_id>
created_at: "2019-01-23T45:67:89Z"
name: <account name>

# yc iam access-key create service-account-name <account name>
access_key:
id: <operation id>
service_account_id: <service-account_id>
created_at: "2019-12-34T56:78:90Z"
key_id: <key id>
secret: <secret key>

保存 key_id 和密钥。现在根据文档中的说明设置 AWS CLI 以从管理员服务账户工作。

创建一个存储桶并为其设置访问权限。要授予访问权限,您需要在该字段service_account_idput-bucket-acl命令中设置。id

# aws endpoint-url=https://storage.yandexcloud.net s3  
mb s3://<bucket_name>
make_bucket: <bucket_name>

# aws endpoint-url=https://storage.yandexcloud.net 
s3api put-bucket-acl \
bucket hidden-bucket grant-full-control 
id=<service_account_id> \
grant-read 

PS 唯一的问题是 Yandex 对象存储不支持权限“WRITE”,您只能为服务帐户设置完全访问权限。这意味着它可以在其存储桶上编辑 ACL。

于 2019-10-22T09:50:03.920 回答