vault backup: 2026-05-10 15:13:20
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
---
|
||||
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 简历表
|
||||
@@ -57,10 +57,10 @@ gantt
|
||||
## 二、阶段一:环境与基础建设
|
||||
|
||||
> [!note] 进度追踪
|
||||
> - [ ] T1.1 Go 1.21+ 安装并验证
|
||||
> - [ ] T1.2 Node.js 18+ / npm 安装并验证
|
||||
> - [ ] T1.3 MySQL 8.0+ 安装 + 数据库实例创建
|
||||
> - [ ] T1.4 OSS 平台注册 + 私有 Bucket 创建
|
||||
> - [x] T1.1 Go 1.21+ 安装并验证
|
||||
> - [x] T1.2 Node.js 18+ / npm 安装并验证
|
||||
> - [x] T1.3 MySQL 8.0+ 安装 + 数据库实例创建
|
||||
> - [x] T1.4 OSS 平台注册 + 私有 Bucket 创建
|
||||
> - [ ] T1.5 Git 仓库初始化 + 目录结构建立
|
||||
> - [ ] T1.6 `.gitignore` + `.env.example` 初始化
|
||||
|
||||
|
||||
Reference in New Issue
Block a user