首页 > 其他分享 >minio设置文件访问策略

minio设置文件访问策略

时间:2023-02-21 16:02:35浏览次数:32  
标签:set minio mc s3 访问 设置 policy --

1、设置Access Policy为public

通过访问主机地址+文件的方式:​​http://x.x.x.x:9000/bucket/xxx.jpg​

minio设置文件访问策略_Amazon

此时的规则是

minio设置文件访问策略_json_02

2、通过MC设置存储桶或路径策略为 download

必须通过minio client才能设置下载策略

两种方式:

​docker pull minio/​​​mc​

注意:此时要启动这个MC的话需要关联上之前已经启动的minio集群

docker run -it --entrypoint=/bin/sh minio/mc
​mc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY> [--api API-SIGNATURE]

mc config host add minio http://192.168.20.102:9000 minioadmin minioadmin --api s3v4

mc ls minio

​ALIAS: 别名就是给你的云存储服务起了一个短点的外号。

S3 endpoint,access key和secret key是你的云存储服务提供的。

endpoint  

access key、secret key 到这里大家肯定都知道啦。

API签名是可选参数,默认情况下,它被设置为"S3v4"。

mc anonymous set download minio/file

mc anonymous set public minio/file
cat ~/.mc/config.json
{
"version": "10",
"aliases": {
"minio": {
"url": "http://192.168.20.102:9000",
"accessKey": "minioadmin",
"secretKey": "minioadmin",
"api": "s3v4",
"path": "auto"
},
"gcs": {
"url": "https://storage.googleapis.com",
"accessKey": "YOUR-ACCESS-KEY-HERE",
"secretKey": "YOUR-SECRET-KEY-HERE",
"api": "S3v2",
"path": "dns"
},
"local": {
"url": "http://localhost:9000",
"accessKey": "",
"secretKey": "",
"api": "S3v4",
"path": "auto"
},
"play": {
"url": "https://play.min.io",
"accessKey": "Q3AM3UQ867SPQQA43P2F",
"secretKey": "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
"api": "S3v4",
"path": "auto"
},
"s3": {
"url": "https://s3.amazonaws.com",
"accessKey": "YOUR-ACCESS-KEY-HERE",
"secretKey": "YOUR-SECRET-KEY-HERE",
"api": "S3v4",
"path": "dns"
}
}
}

通过 mc policy 命令 获取 policy 相关的所有命令如下:

# /usr/local/minio/bin/mc policy
Name:
mc policy - manage anonymous access to buckets and objects

USAGE:
mc policy [FLAGS] set PERMISSION TARGET
mc policy [FLAGS] set-json FILE TARGET
mc policy [FLAGS] get TARGET
mc policy [FLAGS] get-json TARGET
mc policy [FLAGS] list TARGET

FLAGS:
--recursive, -r list recursively
--config-dir value, -C value path to configuration folder (default: "/root/.mc")
--quiet, -q disable progress bar display
--no-color disable color theme
--json enable JSON lines formatted output
--debug enable debug output
--insecure disable SSL certificate verification
--help, -h show help

PERMISSION:
Allowed policies are: [none, download, upload, public].

FILE:
A valid S3 policy JSON filepath.

EXAMPLES:
1. Set bucket to "download" on Amazon S3 cloud storage.
$ mc policy set download s3/burningman2011

2. Set bucket to "public" on Amazon S3 cloud storage.
$ mc policy set public s3/shared

3. Set bucket to "upload" on Amazon S3 cloud storage.
$ mc policy set upload s3/incoming

4. Set policy to "public" for bucket with prefix on Amazon S3 cloud storage.
$ mc policy set public s3/public-commons/images

5. Set a custom prefix based bucket policy on Amazon S3 cloud storage using a JSON file.
$ mc policy set-json /path/to/policy.json s3/public-commons/images

6. Get bucket permissions.
$ mc policy get s3/shared

7. Get bucket permissions in JSON format.
$ mc policy get-json s3/shared

8. List policies set to a specified bucket.
$ mc policy list s3/shared

9. List public object URLs recursively.
$ mc policy --recursive links s3/shared/

查看存储桶或路径策略

# /usr/local/minio/bin/mc policy get minio/test
Access permission for `minio/test` is `public`

设置存储桶或路径策略为 download

# download 后面 跟存储桶或路径
# /usr/local/minio/bin/mc policy set download minio/test
Access permission for `minio/test` is set to `download`

# /usr/local/minio/bin/mc policy get minio/test
Access permission for `minio/test` is `download`

minio设置文件访问策略_ci_03

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Action": [
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::test"
]
},
{
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::test/*"
]
}
]
}
3、存储桶策略策略是private,无法访问图片,但是进行如下设置后,就可以访问图片 (图片不用分享也能访问)

minio设置文件访问策略_ci_04

标签:set,minio,mc,s3,访问,设置,policy,--
From: https://blog.51cto.com/u_11585002/6076662

相关文章

  • 统信UOS IP设置 SSH设置
    1、命令行设置IPipadd查看网卡(下图是已配置好IP的)  修改配置文件/etc/network/interfaces 在配置文件里面添加,网卡名称使用需要设置的或者连接了网线的网口......
  • girlab 自动备份 设置
    一、Gitlab的备份目录路径设置Gitlab的备份目录可以在Gitlab的配置文件中设置:配置文件路径:vim/etc/gitlab/gitlab.rb修改如下:gitlab_rails['backup_path']="/va......
  • Prometheus设置邮件报警
    Prometheus设置报警是需要alertmanager来完成的,所以我们要先安装alertmanager1:安装alertmanagercd/usr/local/srcwgethttps://github.com/prometheus/alertmanager/......
  • linux服务器gitlab设置普通用户为超级管理员
    登录gitlab后台之后,如果判断账号是不是超级管理员呢1、看导航栏,是否有这个图标,如果有表示是超级管理员,如果没有则不是。 2、地址栏直接加admin访问,例如:192.168.1.22/ad......
  • com.mysql.jdbc.PacketTooBigException,及mysql 设置 max_allow_packet
    本文为博主原创,未经允许不得转载:     在进行批量导入表格数据入库操作时,报了以下错误: 错误分析:       mysql根据配置文件会限制server接受的数据包大小。有......
  • Vue3 - defineProps 设置默认值
    在TS中,仅类型声明的一个缺点defineProps是它无法为props提供默认值。为了解决这个问题,withDefaults还提供了一个编译器宏,同时给出JS默认值的写法<scriptsetuplang="ts......
  • docker 配置远程访问
    一键创建证书脚本#!/bin/ship=你的IPpassword=你的密码dir=/root/docker/cert#证书生成位置validity_period=10#证书有效期10年#将此shell脚本在安装docke......
  • STM32F103入门练习:IAR开发环境设置及USART1中断方式收发字符
    一,硬件准备:STM32F103ZET6微雪开发板RS232接口模块USB-RS232转接线接线:RS232接口模块芯片为MAX3232,模块连接开发板的USART1口,引脚接线:开发板<---->RS232转TTL模块......
  • CSS文本,字体设置与元素显示模式
    什么是元素的显示模式网页中的标签很多,在不同的地方使用不同类型的标签。元素显示模式就是标签以什么方式进行显示。如:div自己占一行,span一行可以放多个。HTML元素一般......
  • 【Oculus Interaction SDK】(十一)关于手势识别中手势设置的详细信息
    前言前段时间Oculus的SDK频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发。当然,不排除我文......