当前位置: 首页 > wzjs >正文

招远专业做网站公司跨境电商平台

招远专业做网站公司,跨境电商平台,龙岗企业网站建设,医院网站绿色模板在 Ubuntu 下,如果要通过命令将 MinIO 桶的权限设置为 Custom(自定义策略),可以使用 mc(MinIO Client)、AWS CLI 或直接调用 MinIO API(如 curl)。以下是几种方法: 方法 …

在 Ubuntu 下,如果要通过命令将 MinIO 桶的权限设置为 Custom(自定义策略),可以使用 mc(MinIO Client)、AWS CLI 或直接调用 MinIO API(如 curl)。以下是几种方法:


方法 1:使用 mc 设置自定义策略

mc 是 MinIO 官方命令行工具,支持直接设置自定义策略(JSON 格式)。

1. 安装 mc(如果未安装)

执行完wget,会告知mc的下载地址在哪,如无特殊限制,一般在root下,执行执行下方命令就行,如果不是,赋权限时记得修改路径,例如:sudo chmod +x /home/soft/mc

wget https://dl.min.io/client/mc/release/linux-amd64/mc -O ~/mc
chmod +x ~/mc
sudo mv ~/mc /usr/local/bin/

2. 配置 MinIO 服务器别名

mc alias set ALIAS SERVER_URL ACCESS_KEY SECRET_KEY
  • ALIAS:自定义别名(如 myminio
  • SERVER_URL:MinIO 服务器地址(如 http://localhost:9000

3. 创建自定义策略 JSON 文件

新建一个 JSON 文件(如 custom-policy.json),定义自定义权限:

{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": "*","Action": ["s3:GetObject"],"Resource": ["arn:aws:s3:::BUCKET_NAME/*"],"Condition": {"IpAddress": {"aws:SourceIp": ["192.168.1.0/24"]}}}]
}
  • 此示例允许 192.168.1.0/24 网段的用户下载文件,其他 IP 拒绝访问。

4. 应用自定义策略

mc policy set-json custom-policy.json ALIAS/BUCKET_NAME
  • ALIAS:MinIO 别名(如 myminio
  • BUCKET_NAME:桶名称(如 mybucket
# 示例
mc policy set-json /home/soft/minio/policy.json minio/test_bucket

5. 验证策略

mc policy get ALIAS/BUCKET_NAME

方法 2:使用 AWS CLI(兼容 MinIO)

如果已安装 AWS CLI,可以直接修改桶策略。

1. 安装 AWS CLI

sudo apt update
sudo apt install awscli

2. 配置 AWS CLI 连接 MinIO

aws configure set aws_access_key_id YOUR_ACCESS_KEY
aws configure set aws_secret_access_key YOUR_SECRET_KEY
aws configure set default.region us-east-1
aws configure set default.s3.endpoint_url http://localhost:9000

3. 设置自定义策略

BUCKET_NAME="your-bucket"
POLICY_JSON='{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"AWS": ["arn:aws:iam::123456789012:user/user1"]},"Action": ["s3:GetObject"],"Resource": ["arn:aws:s3:::'"$BUCKET_NAME"'/*"]}]
}'aws s3api put-bucket-policy --bucket "$BUCKET_NAME" --policy "$POLICY_JSON"
  • 此示例仅允许特定 IAM 用户访问。

4. 验证策略

aws s3api get-bucket-policy --bucket "$BUCKET_NAME"

方法 3:使用 curl 调用 MinIO API

直接通过 HTTP API 设置自定义策略。

1. 生成签名请求

BUCKET_NAME="your-bucket"
MINIO_SERVER="http://localhost:9000"
ACCESS_KEY="your-access-key"
SECRET_KEY="your-secret-key"
DATE_ISO=$(date -u +"%Y%m%dT%H%M%SZ")
DATE_SHORT=$(date -u +"%Y%m%d")# 自定义策略 JSON
POLICY_JSON='{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": "*","Action": ["s3:GetObject"],"Resource": ["arn:aws:s3:::'"$BUCKET_NAME"'/*"],"Condition": {"IpAddress": {"aws:SourceIp": ["192.168.1.100/32"]}}}]
}'# 计算签名(简化版,实际需完整 AWS Signature v4)
curl -X PUT "$MINIO_SERVER/$BUCKET_NAME/?policy" \-H "Host: $(echo $MINIO_SERVER | sed 's|^http[s]://||')" \-H "x-amz-date: $DATE_ISO" \-H "Authorization: AWS4-HMAC-SHA256 Credential=$ACCESS_KEY/$DATE_SHORT/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-date, Signature=$(echo -n "AWS4-HMAC-SHA256\n$DATE_ISO\n$DATE_SHORT/us-east-1/s3/aws4_request\n$(echo -en "PUT\n/$BUCKET_NAME/\npolicy=\nhost:$(echo $MINIO_SERVER | sed 's|^http[s]://||')\nx-amz-date:$DATE_ISO\n\nhost;x-amz-date\n$(echo -n "$POLICY_JSON" | sha256sum | cut -d' ' -f1)" | sha256sum | cut -d' ' -f1)" | openssl dgst -sha256 -mac HMAC -macopt "hexkey:$(echo -n "AWS4$SECRET_KEY" | od -A n -t x1 | tr -d ' \n')" | cut -d' ' -f2)" \-d "$POLICY_JSON"

方法 4:使用 Python (boto3)

如果已安装 Python,可以用 boto3 设置自定义策略。

1. 安装 boto3

pip install boto3

2. Python 脚本

import boto3
import json
from botocore.client import ConfigENDPOINT = "http://localhost:9000"
ACCESS_KEY = "your-access-key"
SECRET_KEY = "your-secret-key"
BUCKET_NAME = "your-bucket"s3 = boto3.client("s3",endpoint_url=ENDPOINT,aws_access_key_id=ACCESS_KEY,aws_secret_access_key=SECRET_KEY,config=Config(signature_version="s3v4"),
)policy = {"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"AWS": ["arn:aws:iam::123456789012:user/user1"]},"Action": ["s3:GetObject"],"Resource": [f"arn:aws:s3:::{BUCKET_NAME}/*"]}]
}s3.put_bucket_policy(Bucket=BUCKET_NAME, Policy=json.dumps(policy))
print("Custom policy applied!")

运行:

python3 set_custom_policy.py

注意事项
版本兼容性:MinIO 新版本(≥ RELEASE.2023-01-25T16-20-52Z)推荐使用 mc anonymous,旧版本可能仍支持 mc policy。

总结

方法适用场景推荐指数
mc policy set-json最简单,官方推荐⭐⭐⭐⭐⭐
AWS CLI兼容 AWS S3⭐⭐⭐⭐
curl + MinIO API无需额外工具⭐⭐
Python (boto3)编程方式⭐⭐⭐

推荐

  • 优先使用 mc policy set-json(最简单可靠)。
  • 如果已熟悉 AWS CLI,可以用 aws s3api put-bucket-policy
  • 需要编程控制时,选择 Python + boto3

希望这些方法能满足你的需求! 🚀

http://www.dtcms.com/wzjs/202965.html

相关文章:

  • 零基础学wordpress课件seo建设者
  • 网站开发四点注意事项百度大数据分析
  • 丹阳网站建设今日热点新闻视频
  • 百度权重2的网站上海百度公司总部
  • 怎么样自己做网站赚钱年入40万google推广平台怎么做
  • 专门做化妆品平台的网站有哪些游戏优化软件
  • 网站建设山东聚搜网络b自己怎么免费做网站网页
  • 企业网站哪家做得好免费网站模板网
  • 企模网站百度搜索引擎提交入口
  • 如何做一个内部网站每天4元代发广告
  • 建设微信营销网站制作网站怎么找
  • 8网站建设做网站商品热搜词排行榜
  • 政府网站建设方案范文 工作方案百度资源共享链接分享组
  • 怎么做网站出肉狗百度怎么做网站
  • 南京网站建设苏icp备常见的线下推广渠道有哪些
  • 做cpa的博客网站类型珠海网站建设
  • 女人网上量体做衣网站惊艳的网站设计
  • 免费网站建设是什么娱乐热搜榜今日排名
  • 网站建设与维护大作业百度搜索关键词优化
  • 网站风格有哪些类型深圳网络推广市场
  • 成都h5网站建设关联词有哪些五年级
  • 制作企业网站作业网页模板鄂尔多斯seo
  • 上海网站公司最新重大新闻
  • 石家庄营销网站建设my77728域名查询
  • 国外b2b昆明自动seo
  • 宁波网站建设模板制作广州现在有什么病毒感染
  • 微餐饮网站建设平台郑州免费做网站
  • seo优化是指通过研究搜索引擎排名规则优化大师的功能有哪些
  • 烟台网站建设工资赣州seo公司
  • 视频网站开发方案网络搭建是干什么的