我是MinIO对象存储的新手。
我想要创建一个只能读写x桶的用户。
我使用默认的读和写策略,但是将资源编辑到桶中,如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::test"
]
}
]
}
然后我将我的桶访问策略设置为私有
完成之后,设置了用户的策略和桶访问策略,然后用NodeJS + ExpressJS编写了代码
var minioClient = new Minio.Client({
endPoint: MINIO.URL,
port: MINIO.PORT,
useSSL: false,
accessKey: MINIO.ACCES_KEY,
secretKey: MINIO.SECRET_KEY
});
const uploadFileStream = async (file) => {
const fileStream = fs.createReadStream(file.path);
var fileStat = fs.stat(file.path, function (e, stat) {
if (e) {
return console.log(e)
}
minioClient.putObject(MINIO.BUCKET_NAME, file.originalname, fileStream, stat.size, file.mimetype, function (e) {
if (e) {
return console.log(e)
}
console.log("Successfully uploaded the stream")
})
})
}
访问密钥和密钥是使用用户服务帐户生成的,但是当我触发uploadFileStream函数时,显示出用户访问被拒绝的错误。
{
code: 'AccessDenied',
bucketname: 'test',
resource: '/test',
region: 'local-dev-1',
requestid: '16DDBD16DDDAE918',
hostid: '9b6e8e2d-b054-41b3-b0ee-5c86ade87200',
amzRequestid: null,
amzId2: null,
amzBucketRegion: null
}
我应该做些什么才能让MinIO中的某个用户编写和读取这个桶呢?
对不起我的英语不好。
发布于 2022-08-03 15:09:51
我也有同样的问题,我将策略更改为允许访问指定的桶。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:*"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::bucket/*", "arn:aws:s3:::bucket"
],
"Sid": "PolicyForBucket"
}
]
}
https://stackoverflow.com/questions/71536938
复制相似问题