This repository has been archived on 2026-05-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
all-in-kingsoft/FinalHomework/hzh_doc/log/阿里云 OSS.md
T

96 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
tags: [全栈开发, 大作业, OSS, 阿里云]
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**:
```json
{
"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-hzh` Bucket,不触及任何其他资源。
| 字段 | 值 |
| ---------------- | ------------------------------ |
| 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 模板内容
```bash
# 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 配置
```gitignore
# logic-grpc-service/.gitignore
.env
```
## 使用流程回顾
1. 后端通过 AccessKey 初始化 OSS Client
2. 前端请求上传简历时,Logic 服务调用 `GenOssSign` → 生成临时签名 URL(通常 30min 过期)
3. 前端拿着签名 URL 直接向 OSS PUT 文件,**服务端不缓存任何字节**
4. 上传完成后前端传 fileKey → Logic 将 fileKey 写入 MySQL 简历表