阿里云oss权限控制以及alist网盘部署

创建自定义权限策略的目的是使用户只能访问部分bucket或拥有bucket的部分权限

在同时使用阿里云oss对象存储及alist网盘服务时要注意所使用的accesskey所属用户对该bucket是否有权限

1.2创建用户后若离开该界面,将无法再次查看该用户的accesskey,创建用户后需要保存该信息后再离开该页面

1、阿里云oss bucket访问权限控制:

登录阿里云阿里云-计算,为了无法计算的价值 (aliyun.com)

1.1、创建授权策略

点击控制台

image-20230901114100645

点击oss对象存储

image-20230901114133400

点击右上角头像——访问控制

授权策略——脚本编辑,按照格式填写:以下模板是授予bucket名称为test11512的存储桶的全部权限的模板

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "oss:ListBuckets",
                "oss:GetBucketStat",
                "oss:GetBucketInfo",
                "oss:GetBucketTagging",
                "oss:GetBucketLifecycle",
                "oss:GetBucketWorm",
                "oss:GetBucketVersioning",
                "oss:GetBucketAcl"
            ],
            "Resource": "acs:oss:*:*:*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "oss:ListObjects",
                "oss:GetBucketAcl"
            ],
            "Resource": "acs:oss:*:*:test11512"       //此处填写授权的bucket名称
        },
        {
            "Effect": "Allow",
            "Action": [
                "oss:GetObject",
                "oss:GetObjectAcl"
            ],
            "Resource": "acs:oss:*:*:test11512/*"  //此处填写授权的bucket名称
        }
    ]
}

1.2、创建用户并授权

创建完成后点击用户——创建用户

image-20230901115159163

image-20230901115258133

创建完成后保存Accesskey ID及AccessKey Secret——重点,后续配置alist存储策略及使用ossutil需要使用

image-20230901115405352

再次点击用户——添加权限

image-20230901115959098

2.alist网盘

2.1 网盘部署

部署方式:docker-compose

安装docker及docker-compose

docker及docker-compose

创建文件docker-compose.yml

version: '3.3'
services:
    alist:
        restart: always
        volumes:
            - '/etc/alist:/opt/alist/data'
        ports:
            - '5244:5244'
        environment:
            - PUID=0
            - PGID=0
            - UMASK=022
        container_name: alist
        image: 'xhofe/alist:latest'

在同目录里执行docker-compose up -d

image-20230901111937572

创建成功后设置密码

ps:openssl rand -base64 6生成八位随机密码

docker exec -it alist ./alist admin set NEW_PASSWORD

image-20230901112320351

设置成功后使用ip:端口访问网盘并登录

2.2 存储管理:

添加阿里云oss对象存储

image-20230901112522496

挂载路径:即主页显示的存储名称

存储桶:即oss对象存储里bucket名称

Endpoint:阿里云控制台——oss对象存储——bucket——概览

image-20230901112718739

访问密钥Id:AccessKeyId ——见1.2

安全访问密钥:AccessKeySecret

点击添加

以下是示例:

image-20230901112927395

管理员可以设置多个存储,如下

image-20230901142811471

创建用户:

若是需要用户只能查看其中的某一个存储,需要设置基本路径

image-20230901142556102

注意:此处的权限控制仅指在alist网盘中对存储的权限,与阿里云oss中访问控制权限无关

image-20230901142628747

设置后用户使用账号密码登录,只能查看到该存储内的数据,如下

image-20230901143057683

三、服务器配置ossutil

非root用户安装:

下载:

wget https://gosspublic.alicdn.com/ossutil/1.7.16/ossutil-v1.7.16-linux-amd64.zip

解压:

unzip ossutil-v1.7.16-linux-amd64.zip

配置:

cd ossutil-v1.7.16-linux-amd64

ossutil config

根据提示配置accesskey等,其中endpoint在bucket概览中获取,若服务器为阿里云服务器,并且与oss对象存储在同一区域,可以配置内网endpoint

image-20230901143412135

查看文件(只能查看配置的accesskey有访问权限的bucket,若该accesskey并不拥有该oss所有bucket的读写权限,执行ossutil ls会报错,属于正常现象,需要使用ossutil ls oss://bucket获取文件列表):

ossutil ls oss://test11512

上传文件:

./ossutil64 cp local_file oss://test11512

下载文件

./ossutil64 cp oss://test11512/file localfolder/


文章作者: Administrator
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 IKKO
linux 网盘
喜欢就支持一下吧