minio权限介绍

目录

前言

一、桶权限说明

权限总体说明

Access Rules介绍

二、IAM Poliy

三、自定义IAM Policy


前言

一、桶权限说明

权限总体说明

添加桶的owner对该桶有所有权限。 

桶上提供的access policy分为Private(私有),Public(共有),Custom(自定义)

另外提供了access rules的设置,如果access rules设置了值,access policy会自动变成Custom。

access rules的内容有Readonly,Writeonly,Readwrite

上面的设置都是对该桶的全局设置

Access Rules介绍

 access rules采用的是前缀匹配,匹配的是桶后面的对象路径地址

该部分都是指定的桶的全局设置,不涉及与用户相关,也可以说是对匿名用户的权限设置。

二、IAM Poliy

类似于权限资源的管控,以json的信息的形式来表达,一般会配合用户和用户组一起来使用

 minio提供了内置的五种权限管控策略

策略说明备注
consoleAdmin控制台管理员控制台管理类
diagnostics诊断
readonly只读读写控制类
readwrite读写
writeonly只写

默认的IAM策略可以完成指定用户对桶(这儿指所有桶,还未单独区分桶)的权限设置。

但是往往咱们在使用中是需要对指定桶的某些权限做设置的,这就需要使用自定义的policy。

三、自定义IAM Policy

自定义IAM Policey,可以设定指定的桶只开放某些特定的权限。再配合用户授权指定的Policy一般可以满足生产级别的使用。

关于怎么自定义IAM Policy后面的章节单独介绍。

此处举一个列子,下面自定义的policy表示桶bucket-demo下有read的权限,分解如下

a、对桶名字bucket-demo具有s3:GetBucketLocation权限,(地址获取)

b、对桶名字bucket-demo下的所有文件具有s3:GetObject权限(对象获取)

{
	"Statement": [{
			"Action": [
				"s3:GetBucketLocation"
			],
			"Effect": "Allow",
			"Principal": {
				"AWS": [
					"*"
				]
			},
			"Resource": [
				"arn:aws:s3:::bucket-demo"
			]
		},
		{
			"Action": [
				"s3:GetObject"
			],
			"Effect": "Allow",
			"Principal": {
				"AWS": [
					"*"
				]
			},
			"Resource": [
				"arn:aws:s3:::bucket-demo/**"
			]
		}
	],
	"Version": "2012-10-17"
}

Minio是一个开源的对象存储服务器,它提供了类似于Amazon S3的API接口。关于Minio权限被更改的问题,可以通过以下步骤来解决: 1. 检查Minio依赖:确保你的项目中已经正确添加了Minio的依赖项。你可以在项目的pom.xml文件中添加以下依赖项: ```xml <dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>8.4.0</version> </dependency> ``` 2. 检查Minio服务启动脚本:确保你的Minio服务已经正确启动,并且使用了正确的端口和路径。你可以使用以下命令启动Minio服务: ```shell ./minio server --address :9966 --console-address :9967 /usr/local/minio/data/minio ``` 其中,9966是Minio服务的API端口,9967是Minio服务的管理平台端口。 3. 检查文件Md5接口:如果你的Minio权限偶发性被更改,你可以检查文件Md5接口是否正确设置。你可以使用Minio提供的API来获取文件的MD5值,以确保文件的完整性。以下是一个示例代码: ```java import io.minio.MinioClient; import io.minio.errors.MinioException; public class MinioExample { public static void main(String[] args) { try { // 初始化Minio客户端 MinioClient minioClient = new MinioClient("http://localhost:9966", "accessKey", "secretKey"); // 获取文件的MD5值 String bucketName = "mybucket"; String objectName = "myobject"; String md5 = minioClient.getObjectMd5(bucketName, objectName); System.out.println("MD5 value of the file: " + md5); } catch (MinioException e) { System.out.println("Error occurred: " + e.getMessage()); } } } ``` 通过以上步骤,你可以检查Minio的依赖、启动脚本和文件Md5接口,以解决Minio权限偶发性被更改的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值