首页 / 知识
minio几种访问策略
2023-04-11 13:10:00

一、web端设置桶策略
桶的创建者拥有管理桶的权限,其他未授权用户不可管理桶
桶默认可以有三种Access Policy策略:
public、custom、private
1.1、public
设置桶权限为public
不经过任何认证可以直接访问资源
1.2、custom
这种Access Policy策略是通过如下自定义Access Rules出现的
1.1.1、readonly
可以设置资源不经过授权,只能读取
1.1.2、writeonly
资源不经过授权,只能写入
1.1.3、readwrite
资源不经过授权,可读可写
1.3、private
桶设置为private后,未经授权不能进行任何操作,所有Access Rules失效
二、java程序设置桶策略
2.1、API设置桶策略
setBucketPolicy
策略json可在web端查看与编写
/**
* 设置桶策略
* @param builder 策略json
* @param bucketName 桶名称
*/
@SneakyThrows(Exception.class)
public static void createBucketPolicy(StringBuilder builder, String bucketName) {
if(builder.length()==0) builder=defaultBucketPolicy(bucketName);
minioClient.setBucketPolicy(SetBucketPolicyArgs.builder()。bucket(bucketName)。config(builder.toString())。build());
}
/**
* 获取默认桶策略
* @param bucketName
* @return
*/
private static StringBuilder defaultBucketPolicy(String bucketName){
StringBuilder builder=new StringBuilder();
builder.append("{\n" +
" \"Version\": \"2012-10-17\",\n" +
" \"Statement\": [\n" +
" {\n" +
" \"Effect\": \"Allow\",\n" +
" \"Action\": [\n" +
" \"s3:ListAllMyBuckets\",\n" +
" \"s3:ListBucket\",\n" +
" \"s3:GetBucketLocation\",\n" +
" \"s3:GetObject\",\n" +
" \"s3:PutObject\",\n" +
" \"s3:DeleteObject\"\n" +
" ],\n" +
" \"Principal\":\"*\",\n" +
" \"Resource\": [\n" +
" \"arn:aws:s3:::"+bucketName+"/*\"\n" +
" ]\n" +
" }\n" +
" ]\n" +
"}");
return builder;
}
2.2、API查看桶策略
/**
* 查看桶策略
* @param bucketName
* @return
*/
@SneakyThrows(Exception.class)
public static String queryBucketPolicy(String bucketName) {
String bucketPolicy = minioClient.getBucketPolicy(GetBucketPolicyArgs.builder()。bucket(bucketName)。build());
logger.info(bucketPolicy);
return bucketPolicy;
}
|
最新内容
相关内容
python如何判断一个数是素数
python如何判断一个数是素数,数字,代码,培训,质数,素数,方法,个数,自然数,不是,思路,python如何判断一个数是素数的方法:一个大于1的自然数,除python一个数的平方怎么表示
python一个数的平方怎么表示,培训,平方根,个数,函数,模块,表示,方法,表达式,实例,下面,用python进行数学计算,可以使用python内置的函数模块,下python判断一个数是否为int
python判断一个数是否为int,培训,基础,变量,类型,函数,个数,整数,以上,不是,方法,在python中如何判断一个数是不是整数?其实python有两种查看python如何求一个数的平方
python如何求一个数的平方,培训,平方根,个数,整数,函数,模块,方法,小数,表达式,数值,用python进行数学计算,可以使用python内置的函数模块,下面python如何自定义一个函数
python如何自定义一个函数,代码,名称,培训,函数,圆括号,参数,定义,表达式,选择性,字符串,python函数是组织好的,可重复使用的,用来实现单一,或相pythonpython是前端语言吗?
pythonpython是前端语言吗?,代码,互动,培训,平台,标准,设计,语言,前端,语法,解释性,python语言属于后端开发语言。Python是一个高层次的结合python如何判断一个数是否是素数
python如何判断一个数是否是素数,代码,数字,培训,情况,质数,素数,自然数,不是,循环体,个数,先来看下什么是python质数:质数(Primenumber),又称python怎么判断某一对象是否为字典
python怎么判断某一对象是否为字典,培训,名称,代码,情况,类型,实例,元素,字典,函数,对象,我们经常需要在Python代码中确定某个实例是什么类型python怎么求一个数的平方
python怎么求一个数的平方,培训,平方根,个数,函数,模块,方法,表达式,实例,下面,以上,用python进行数学计算,可以使用python内置的函数模块,下面python一般用什么版本的
python一般用什么版本的,培训,发行,数据,基础,版本,初学者,目的,用户,大势所趋,由此可见,目前,根据数据显示,使用Python2.xd开发者站63.7%,而使python类、模块、包的概念及区别
python类、模块、包的概念及区别,概念,数据,培训,模块,名字,环境,基础,文件,函数,定义,类类的概念在许多语言中出现,是面向对象编程的基础,很容python什么是Python web框架
python什么是Python web框架,网站,培训,管理,业务,工具,名字,软件,网络,公司,框架,web框架(webframework)或者叫做web应用框架(webapplicatio