What's Actually Happening
MinIO returns access denied errors when accessing buckets or objects. Policies do not grant expected permissions.
The Error You'll See
```bash $ mc ls myminio/mybucket
mc: <ERROR> Unable to list folder. Access Denied. ```
Why This Happens
- 1.Missing bucket policy
- 2.Wrong policy configuration
- 3.User lacks permissions
- 4.Anonymous access disabled
- 5.Policy syntax error
Step 1: Check Current Policy
mc admin policy entities myminio --user myuser
mc admin user info myminio myuserStep 2: List Policies
mc admin policy list myminio
mc admin policy info myminio readwriteStep 3: Attach Policy to User
mc admin policy attach myminio readwrite --user myuserStep 4: Set Bucket Policy
mc anonymous set download myminio/mybucket
mc anonymous set public myminio/mybucket
mc anonymous set none myminio/mybucketStep 5: Check Access Key
mc admin user list myminio
mc admin user info myminio myuserStep 6: Create Custom Policy
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:GetObject"],
"Resource": ["arn:aws:s3:::mybucket/*"]
}
]
}mc admin policy add myminio mypolicy policy.json
mc admin policy attach myminio mypolicy --user myuserStep 7: Check Server Config
mc admin config get myminio
mc admin config get myminio policyStep 8: Restart MinIO
systemctl restart minio
docker restart minioStep 9: Test Access
mc ls myminio/mybucket
mc cp file.txt myminio/mybucket/Step 10: Monitor Logs
journalctl -u minio -f
docker logs minioRelated Issues
- [Fix MinIO Bucket Not Accessible](/articles/fix-minio-bucket-not-accessible)
- [Fix AWS S3 Access Denied Error](/articles/fix-aws-s3-access-denied-error)