2.8 KiB
2.8 KiB
tags, create time
| tags | create time | ||||
|---|---|---|---|---|---|
|
2026-05-10 |
阿里云 OSS 配置记录
平台注册
- 平台: 阿里云 OSS(对象存储服务)
- Bucket 名称: hr-recruitment-hzh
- 区域 / Endpoint: cn-beijing / oss-cn-beijing.aliyuncs.com
- 读写权限: 私有(已关闭匿名访问和公开读)
访问密钥(AccessKey)
[!danger] 安全提醒
- AccessKey Secret 是敏感凭据,绝不提交到 Git
- 如果曾在聊天窗口或日志中泄露过,请立刻去 RAM 控制台 Reset
- 已创建自定义最小权限策略,仅授权以下 4 个 Action(见下方)
| 字段 | 值 |
|---|---|
| AccessKey ID | LTAI5t82VBCQSEyopZrR2S6w |
| AccessKey Secret | baHMcsfsp7jiURqqdGV3xePta5wGFu |
自定义最小权限策略
RAM 控制台 → 权限管理 → 创建自定义策略,只授予以下 4 个 API Action:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:PutObject",
"oss:GetObject",
"oss:DeleteObject",
"oss:ListObjects"
],
"Resource": [
"acs:oss:*:*:hr-recruitment-hzh/*"
]
}
]
}
oss:PutObject— 前端直传简历文件oss:GetObject— 下载/预览文件oss:DeleteObject— 清理过期文件oss:ListObjects— 列出目录内容(可选)Resource精确限定在hr-recruitment-hzhBucket,不触及任何其他资源。
| 字段 | 值 |
|---|---|
| AccessKey ID | LTAI5t82VBCQSEyopZrR2S6w |
| AccessKey Secret | baHMcsfsp7jiURqqdGV3xePta5wGFu |
项目中的使用位置
根据架构设计,OSS key 仅存在于 Logic gRPC 服务 中,Web 网关层不接触密钥:
logic-grpc-service/.env ← 实际密钥(不进 Git)
logic-grpc-service/.env.example ← 模板文件(进 Git)
logic-grpc-service/internal/oss/client.go ← SDK 初始化读取 .env
logic-grpc-service/internal/oss/signer.go ← 生成签名 URL
.env.example 模板内容
# logic-grpc-service/.env.example
OSS_ACCESS_KEY_ID=your-access-key-id
OSS_ACCESS_KEY_SECRET=your-access-key-secret
OSS_ENDPOINT=oss-cn-hangzhou.aliyuncs.com
OSS_BUCKET_NAME=your-bucket-name
对应 .gitignore 配置
# logic-grpc-service/.gitignore
.env
使用流程回顾
- 后端通过 AccessKey 初始化 OSS Client
- 前端请求上传简历时,Logic 服务调用
GenOssSign→ 生成临时签名 URL(通常 30min 过期) - 前端拿着签名 URL 直接向 OSS PUT 文件,服务端不缓存任何字节
- 上传完成后前端传 fileKey → Logic 将 fileKey 写入 MySQL 简历表