阿里云对象存储OSS详细指南:存储桶创建与AccessKey获取

阿里云对象存储 OSS 采用最小权限原则设计,通过 RAM(资源访问管理)实现精细化权限控制,虽初次使用需熟悉流程,但能从根源上降低数据泄露风险。本文将分步详解存储桶创建→权限策略配置→AccessKey 安全获取全流程,帮你快速上手 OSS。

⚠️ 核心安全提示(必看)

  • AccessKey 等同于账户密码,绝对禁止泄露给第三方(包括截图、聊天记录、Git 仓库)!
  • 永久 AccessKey 仅在创建时显示一次,务必立即复制并保存到加密密码管理器(如 Bitwarden、1Password)
  • 生产环境严格避免使用 oss:* 全权限策略(特殊场景如 Loki 除外),遵循“最小必要”原则授权。

一、创建存储桶(Bucket)

1.1 访问 OSS 控制台

登录 OSS 管理控制台,进入存储桶列表页。

阿里云 OSS 控制台界面:点击创建Bucket
阿里云 OSS 控制台界面:点击创建Bucket

1.2 配置存储桶参数

点击 创建 Bucket 按钮,关键参数说明:

参数推荐值说明
地域与您的服务器相近或相同地域例:华北2(北京)
存储类型标准存储本地冗余(LRS):0.12元/GB/月;同城冗余(ZRS):0.15元/GB/月(高可用场景选此项)
读写权限私有公共读写存在数据泄露风险,后续通过 RAM 授权安全访问
Bucket 名称changjiu365-loki-example(自定义)需全局唯一,建议包含业务标识

OSS Bucket 创建参数配置
OSS Bucket 创建参数配置

1.3 保存 Endpoint 信息

创建成功后,在 Bucket 概览页 复制外网 Endpoint(格式如 oss-cn-beijing.aliyuncs.com),后续配置 Loki 时需使用。

OSS Bucket Endpoint 获取
OSS Bucket Endpoint 获取

Endpoint 选择指南

  • 外网 Endpoint:适用于跨地域访问(产生流量费用)
  • 内网 Endpoint:仅限同地域 ECS 访问(无流量费用)
  • Loki 部署建议:若 Loki 与 ECS 在同一地域,必须使用内网 Endpoint 以避免流量费用

二、创建精细化权限策略(关键步骤)

为什么需要此步骤?
OSS 本身不直接提供 AccessKey,需通过 RAM 创建具备特定权限的子账号。此设计避免主账号密钥泄露风险。

2.1 进入 RAM 控制台

点击 OSS 控制台顶部 访问控制 RAM 按钮,或直接访问 RAM 控制台

RAM 控制台入口:标注 OSS 控制台中访问 RAM 的明确路径
RAM 控制台入口:标注 OSS 控制台中访问 RAM 的明确路径

2.2 创建自定义权限策略

  1. 左侧菜单选择 权限管理 > 权限策略 > 创建权限策略

    权限策略->创建权限策略
    权限策略->创建权限策略

  2. 选择 脚本配置 模式,根据使用场景二选一

RAM 权限策略创建(脚本编辑)
RAM 权限策略创建(脚本编辑)

✅ 场景 A:通用业务(推荐)

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "oss:PutObject",    // 上传对象
        "oss:GetObject",    // 下载对象
        "oss:ListObjects"   // 列出对象
      ],
      "Resource": [
        "acs:oss:*:*:changjiu365-loki-example/*"  // 替换为实际 Bucket 名
      ]
    }
  ]
}

策略说明

  • 仅授权 PutObject(上传)、GetObject(下载)、ListObjects(列举)三个必要操作
  • Resource 中的 * 限制在单个 Bucket 内,避免越权访问
  • 适用场景:Web 应用文件存储、CDN 源站等常规业务

⚠️ 场景 B:Loki 日志存储(特殊配置)

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "oss:*",  // 全量操作权限(Loki 必需)
      "Resource": "*"
    }
  ]
}

注:Loki 需要全量操作权限,是因为其日志存储逻辑涉及对象创建、删除、列举、分片上传等操作,若严格限制权限可能导致日志写入失败。

三、创建 RAM 用户并绑定权限

3.1 创建子账号

  1. 左侧菜单选择 用户 > 创建用户

  2. 勾选 使用永久AccessKey访问(生成 AccessKey)

    用户创建页面:勾选使用永久AccessKey访问选项,控制台访问保持未勾选
    用户创建页面:勾选使用永久AccessKey访问选项,控制台访问保持未勾选

3.2 安全保存 AccessKey

  • 立即下载 CSV 文件(或手动复制)
  • AccessKey Secret 仅显示一次!关闭页面后无法找回
用户登录名称: loki-oss-user@1234567890123456.onaliyun.com
AccessKey ID: LTAI5tXXXXXX
AccessKey Secret: XXXXXXXXXXXXXXXXXXXXXXXX

安全操作规范

  1. 将 CSV 文件存入密码管理器(如 Bitwarden)
  2. 禁止提交到 Git 仓库或明文存储

保存AccessKey后点击添加权限
保存AccessKey后点击添加权限

3.3 授权 Bucket 访问权限

  1. 在用户详情页点击 添加权限
  2. 搜索 我们刚才创建的权限策略名称(如 loki
    RAM 权限绑定:搜索并选择自定义策略
    RAM 权限绑定:搜索并选择自定义策略

四、测试

接下来您就可以使用WinSCP或其他程序测试您的AccessKey了~

您可能感兴趣的文章

发现更多精彩内容