3 min read

配置AWS S3上传服务

学习如何安全配置ExportX的AWS S3文件上传功能,包含完整配置步骤和安全最佳实践

⌛️只需要 3 分钟,您就可以配置好 AWS S3 上传服务,开始之前,请确保您已经注册了AWS账号,并且已经创建了Bucket

安全须知

在配置AWS S3上传服务之前,请注意以下安全建议:

为了提供上传服务,ExportX需要在我们的服务器上安全存储您的密钥。我们采取以下措施保护您的密钥安全:

  • 所有密钥信息使用强加密算法存储
  • 严格的访问控制和审计机制
  • 遵循行业最佳安全实践

建议您:

  1. 严格遵循最小权限原则,仅配置上传所需的最小权限(PutObject)
  2. 建议限制特定存储桶(Bucket)和目录的访问权限
  3. 使用专门的IAM用户,避免使用主账号密钥
  4. 定期轮换密钥

参数配置

Amazon S3 是AWS提供的对象存储服务,我们提供的上传服务必须有以下参数

参数 说明 必填
Bucket 存储桶名称
Region 区域
Endpoint 终端节点,一般是s3.region.amazonaws.com
更多请参考AWS S3 Endpoint
SecretKey 密钥
AccessKey 访问密钥
UploadPath 上传路径,如果你配置了arn,则需要配置此项
CDN Domain CDN 域名,比如你使用了 cloudfront,配置后会自动生成图片链接

获取Bucket 相关信息

这里可以获取到Bucket,Region,Endpoint

Endpoint 一般是s3.[region].amazonaws.com,比如s3.us-east-1.amazonaws.com,您可以参考AWS S3 Endpoint

alt text

如果你没有配置 CDN Domain,最终图片地址会类似https://s3.us-east-1.amazonaws.com/figma-upload/upload-path/xxxx.png

如果你配置了 CDN Domain,最终图片地址会类似https://cdn.example.com/figma-upload/upload-path/xxxx.png

获取 AccessKey 和 SecretKey

我们建议为上传服务单独创建一个IAM用户,并配置最小权限

创建策略

ExportX的上传服务仅需要PutObject权限, 创建策略可以限制上传的bucket,目录等,建议您提供最小权限

点击 创建策略

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "VisualEditor0",
			"Effect": "Allow",
			"Action": "s3:PutObject",
			"Resource": "arn:aws:s3:::figma-upload/upload-path/*"
		}
	]
}

解释:上面的配置限制了文件上传到figma-uploadupload-path目录下,您可以按需调整

进入云控制台的IAM服务,点击创建

创建用户

创建用户时,需要绑定刚刚创建的策略

alt text

生成AccessKey

alt text

选择第三方服务

alt text

配置上传服务

此时您已经获取到了AccessKey和SecretKey,可以配置上传服务了