Minio 有以下政策:每个桶 https://github.com/minio/minio-java/blob/6a4cf897df8c55cf4b46ed32617bf8bf41efe53c/api/src/main/java/io/minio/policy/PolicyType.java#L20。其中包含:
这些与对文件夹的匿名/授权访问有何关系?
就像我想让一堆文件以只读方式提供给没有凭据(访问密钥和秘密密钥)的用户。我该怎么做?
Minio 客户端提供的存储桶策略是 AWS S3 提供的相同存储桶策略的抽象版本。
客户端根据输入的桶和前缀字符串构造策略 JSON。
- ReadOnly 意味着 - 允许匿名下载访问,包括
能够列出所需前缀的对象
- WriteOnly 意味着 - 允许匿名上传,包括能够
列出所需前缀上的不完整上传
- 读写 - 匿名访问上传和下载所有对象。
这也意味着完全的公众访问。
- 无 - 默认(无策略),这意味着所有操作都需要
针对所需的存储桶和前缀进行身份验证。
一堆应该驻留在特定前缀下的文件可供只读访问。假设您的前缀是“my-prefix/read-only/downloads”,那么如果您正在使用
import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.security.InvalidKeyException;
import org.xmlpull.v1.XmlPullParserException;
import io.minio.MinioClient;
import io.minio.policy.PolicyType;
import io.minio.errors.MinioException;
public class SetBucketPolicy {
/**
* MinioClient.setBucketPolicy() example.
*/
public static void main(String[] args)
throws IOException, NoSuchAlgorithmException, InvalidKeyException, XmlPullParserException {
try {
/* play.minio.io for test and development. */
MinioClient minioClient = new MinioClient("https://play.minio.io:9000", "Q3AM3UQ867SPQQA43P2F",
"zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
/* Amazon S3: */
// MinioClient minioClient = new MinioClient("https://s3.amazonaws.com", "YOUR-ACCESSKEYID",
// "YOUR-SECRETACCESSKEY");
minioClient.setBucketPolicy("my-bucketname", "my-prefix/read-only/downloads", PolicyType.READ_ONLY);
} catch (MinioException e) {
System.out.println("Error occurred: " + e);
}
}
}
一旦您的调用成功,“my-prefix/read-only/downloads”内的所有对象都是公开可读的,即无需访问/密钥。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)