AWS Secrets Manager 在现代计算中保护、存储和控制对令牌、密码、证书和其他密钥 (Secret) 的访问。AWS Secrets Manager 扩展为你的管道提供对 AWS 密钥 (Secret) 的访问。
请注意该功能在 Drone Cloud 上是禁用的。该功能仅在本地部署时(自托管版本)可用。
AWS Secrets 集成是由一个扩展提供的,只有当你的系统管理员安装了该扩展时才可用。
创建密钥
从 AWS 控制台创建一个密钥 (Secret)。在下面的例子中,我们存储了 Docker 的用户名和密码。
访问密钥
一旦我们的密钥存储在 AWS 中,我们就可以更新我们的 yaml 配置文件来请求访问我们的密钥 (Secret)。首先,我们在 yaml 中为每个外部密钥定义一个密钥资源,其中包括密钥的路径,以及我们想要检索的密钥值的名称或关键字。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
---
kind: pipeline
name: default
steps:
- name: build
image: alpine
---
kind: secret
name: username
get:
path: prod/docker
name: username
---
kind: secret
name: password
get:
path: prod/docker
name: password
...
|
之后,我们就能流水线中引用指定名称的密钥 (Secret):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
kind: pipeline
name: default
steps:
- name: build
image: alpine
environment:
USERNAME:
from_secret: username
PASSWORD:
from_secret: password
---
kind: secret
name: username
get:
path: prod/docker
name: username
---
kind: secret
name: password
get:
path: prod/docker
name: password
...
|