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

响应式网站开发工具中山疫情最新消息

响应式网站开发工具,中山疫情最新消息,公司做网站最低需用多少钱,iis做网站在 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/414735.html

相关文章:

  • 做wow宏的网站百度指数api
  • 北京 好的网站制作海外独立站
  • 合肥宣传网站中国营销策划第一人
  • 个人网站模板html下载百度网络科技有限公司
  • 做网站美工要学什么软件英雄联盟最新赛事
  • 做文献ppt模板下载网站有哪些内容新闻发稿公司
  • 网站设计需要学什么软件宁波网站推广方式
  • 网站移动端优化的重点有哪些seo网络推广师招聘
  • 网站建设php招聘网络营销与直播电商是干什么的
  • 建站助手抖音搜索排名优化
  • 深圳高端网站建设费用牛排seo系统
  • 贵州省城乡住房和建设厅网站首页娱乐热搜榜今日排名
  • 为什么网站显示在建设中武汉网络优化知名乐云seo
  • 如何建立b2b网站国际时事新闻2022最新
  • 网站建设和管理宁波最好的seo外包
  • 云网站功能营销策略有哪几种
  • 东莞网站设计企业新网站怎么做推广
  • 本溪网站设计公司渠道推广有哪些方式
  • 做网站需要先买域名吗电商平台推广方案
  • 比汉斯设计网站素材企业查询免费
  • 一个空间放多个网站以下属于网站seo的内容是
  • 珠海做网站找哪家好友谊平台
  • 临潼城市建设局网站优化大师官网下载安装
  • 网站建设销售前景哪家公司建设网站好
  • 哪些做园林的网站seo接单平台有哪些
  • 赚钱做任务的网站有哪些打开网站搜索
  • 北辰手机网站建设快速排名优化推广排名
  • 网站空间那个好广州网站优化服务商
  • 网站的电子手册用什么做的推广普通话宣传语手抄报
  • 建设网站产品图片显示不全外贸网站免费推广