如何在对象存储中创建一个仅对一个存储桶具有权限的服务帐户?
问问题
255 次
1 回答
2
要限制对服务帐户的访问,您需要使用ACL。
让我从创建帐户开始解释一切。
# 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_id
的put-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 回答