Soy nuevo en el almacenamiento de objetos MinIO.
Quiero crear un usuario que solo pueda leer y escribir en x cubo.
Utilizo la política de lectura y escritura predeterminada, pero edito el recurso en mi depósito como se muestra a continuación:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:*" ], "Resource": [ "arn:aws:s3:::test" ] } ] }Luego configuré mi política de acceso al depósito en Privado
Esta es la configuración de la política de acceso a mi depósito
Después de que terminé, establecí la política del usuario y la política de acceso al depósito. Fui al código en 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") }) }) }La clave de acceso y la clave secreta se generaron utilizando las cuentas de servicio del usuario, pero cuando activé la función uploadFileStream, muestra un error que indica que el acceso del usuario está denegado.
{ code: 'AccessDenied', bucketname: 'test', resource: '/test', region: 'local-dev-1', requestid: '16DDBD16DDDAE918', hostid: '9b6e8e2d-b054-41b3-b0ee-5c86ade87200', amzRequestid: null, amzId2: null, amzBucketRegion: null }¿Qué debo hacer para que el cubo solo pueda ser escrito y leído por cierto usuario en MinIO?
Perdón por mi mal ingles.