Secrets Manager CLI
Secrets Manager 命令行界面 (CLI) 是用于检索和注入您的机密的强大工具。Secrets Manager CLI 通过
create
、delete
、edit
和 list
您的机密和工程来组织您的密码库。Secrets Manager CLI 是自描述的。在命令行中,使用以下命令了解有关可用命令的更多信息:
bws --help, -h
CLI 可以在 Windows、macOS 和 Linux 发行版上跨平台使用。要下载并安装 Secrets Manager CLI:
环境变量
Inline
您可以通过将访问令牌的值保存到环境变量
BWS_ACCESS_TOKEN
来对 CLI 会话进行身份验证,例如:export BWS_ACCESS_TOKEN=0.48c78342-1635-48a6-accd-afbe01336365.C0tMmQqHnAp1h0gL8bngprlPOYutt0:B3h5D+YgLvFiQhWkIq6Bow==
您可以在任何单个命令中使用
-t
,--access-token
标志对单个 CLI 请求进行身份验证,例如:bws list secrets --access-token 0.48c78342-1635-48a6-accd-afbe01336365.C0tMmQqHnAp1h0gL8bngprlPOYutt0:B3h5D+YgLvFiQhWkIq6Bow==
命令用于与 Secrets Manager CLI 进行交互。机密和工程是否能被读取或写入,具体取决于授予您的特定访问令牌的权限。要获取
secret
和 project
命令的更多详细信息,请使用:bws secret --help
bws project --help
从 Secrets Manager 版本 0.3.0 开始,CLI 语法已更改。例如,列出机密的命令已从
bws list secret
更改为 bws secret list
。Secrets Manager CLI 将暂时保留对旧语法的支持。如果您不确定正在使用的 Secrets Manager CLI 的版本,请输入
bws --version
。使用
bws secret create
创建一个新的机密。此命令需要 KEY
、VALUE
和 PROJECT_ID
:bws secret create <KEY> <VALUE> <PROJECT_ID>
或者,您可以使用
--note <NOTE>
选项添加注释。例如:bws secret create SES_KEY 0.982492bc-7f37-4475-9e60 f588b2f2-4780-4a78-be2a-b02d014d622f --note "API Key for AWS SES"
{
"object": "secret",
"id": "be8e0ad8-d545-4017-a55a-b02f014d4158",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"projectId": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"key": "SES_KEY",
"value": "0.982492bc-7f37-4475-9e60",
"note": "API Key for AWS SES",
"creationDate": "2023-06-28T20:13:20.643567Z",
"revisionDate": "2023-06-28T20:13:20.643567Z"
}
bws secret delete
命令用来删除 SECRET_IDS
指定的一个或多个机密。bws secret delete <SECRET_IDS>
要删除 ID 为
be8e0ad8-d545-4017-a55a-b02f014d4158
的单个机密:bws secret delete be8e0ad8-d545-4017-a55a-b02f014d4158
对于 ID 为
382580ab-1368-4e85-bfa3-b02e01400c9f
和 47201c5c-5653-4e14-9007-b02f015b2d82
的多个机密:bws secret delete 382580ab-1368-4e85-bfa3-b02e01400c9f 47201c5c-5653-4e14-9007-b02f015b2d82
输出:
1 secret deleted successfully.
要编辑机密,以下结构会将更改应用于所选值。在 CLI 中,此命令可以编辑机密的
KEY
、VALUE
、NOTE
或 PROJECT_ID
。bws secret edit <SECRET_ID> --key <KEY> --value <VALUE> --note <NOTE> --project-id <PROJECT_ID>
例如,如果您希望向现有机密添加注释:
bws secret edit be8e0ad8-d545-4017-a55a-b02f014d4158 --note "I am adding a note"
编辑包含空格的
NOTE
时,请在字符串两边加上引号。要编辑多个字段,其中
SES_KEY2
是新的 key
,0.1982492bc-7f37-4475-9e60
是新 value
:bws secret edit be8e0ad8-d545-4017-a55a-b02f014d4158 --key SES_KEY2 --value 0.1982492bc-7f37-4475-9e60
输出:
{
"object": "secret",
"id": "be8e0ad8-d545-4017-a55a-b02f014d4158",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"projectId": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"key": "SES_KEY2",
"value": "0.1982492bc-7f37-4475-9e60",
"note": "I am adding a note",
"creationDate": "2023-06-28T20:13:20.643567Z",
"revisionDate": "2023-06-28T20:45:37.46232Z"
}
bws secret get
用于检索特定的机密:bws secret get <SECRET_ID>
默认情况下,此命令将检索具有
SECRET_ID
的机密对象。bws secret get be8e0ad8-d545-4017-a55a-b02f014d4158
{
"object": "secret",
"id": "be8e0ad8-d545-4017-a55a-b02f014d4158",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"projectId": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"key": "SES_KEY",
"value": "0.982492bc-7f37-4475-9e60",
"note": "",
"creationDate": "2023-06-28T20:13:20.643567Z",
"revisionDate": "2023-06-28T20:13:20.643567Z"
}
要列出服务账户可以访问的机密,请使用以下命令:
bws secret list
您还可以使用以下命令仅列出特定项目中的机密,其中
e325ea69-a3ab-4dff-836f-b02e013fe530
表示项目标识符:bws secret list e325ea69-a3ab-4dff-836f-b02e013fe530
[
{
"object": "secret",
"id": "382580ab-1368-4e85-bfa3-b02e01400c9f",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"projectId": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"key": "Repository 1",
"value": "1234567ertthrjytkuy",
"note": "Main Repo",
"creationDate": "2023-06-27T19:25:15.822004Z",
"revisionDate": "2023-06-27T19:25:15.822004Z"
},
{
"object": "secret",
"id": "be8e0ad8-d545-4017-a55a-b02f014d4158",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"projectId": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"key": "SES_KEY",
"value": "0.982492bc-7f37-4475-9e60",
"note": "",
"creationDate": "2023-06-28T20:13:20.643567Z",
"revisionDate": "2023-06-28T20:13:20.643567Z"
}
]
工程可以由具有只读访问权限的服务账户创建。但是,如果此服务账户没有读取和写入访问权限,则无法编辑不是由其创建的现有工程。
bws project create
用于创建一个新的工程。此命令需要一个 NAME
。bws project create <NAME>
在此示例中,将创建一个名为
My project
的工程。bws project create "My project"
{
"object": "project",
"id": "1c80965c-acb3-486e-ac24-b03000dc7318",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"name": "My project",
"creationDate": "2023-06-29T13:22:37.942559Z",
"revisionDate": "2023-06-29T13:22:37.942559Z"
}
bws project delete
用于删除 PROJECT_IDS
指定的一个或多个工程。bws project delete <PROJECT_IDS>
对于单个项目,其中
f1fe5978-0aa1-4bb0-949b-b03000e0402a
代表 PROJECT_ID
:bws project delete f1fe5978-0aa1-4bb0-949b-b03000e0402a
对于多个项目,其中
1c80965c-acb3-486e-ac24-b03000dc7318
和 f277fd80-1bd2-4532-94b2-b03000e00c6c
代表 PROJECT_IDS
:bws project delete 1c80965c-acb3-486e-ac24-b03000dc7318 f277fd80-1bd2-4532-94b2-b03000e00c6c
输出:
1 project deleted successfully.
用
edit
命令,您可以通过以下输入更改g工程的名称:bws project edit <PROJECT_ID> --name <NEW_NAME>
例如,此命令会将项目名称更改为
My project 2
。bws project edit 1c80965c-acb3-486e-ac24-b03000dc7318 --name "My project 2"
{
"object": "project",
"id": "1c80965c-acb3-486e-ac24-b03000dc7318",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"name": "My project 2",
"creationDate": "2023-06-29T13:22:37.942559Z",
"revisionDate": "2023-06-29T13:31:07.927829Z"
}
get
命令检索已登录的服务账户可以从您的密码库访问的特定工程。无法检索密码库中服务账户无权访问的对象。bws project get <PROJECT_ID>
要获取特定工程,请使用以下命令,其中
e325ea69-a3ab-4dff-836f-b02e013fe530
代表 PROJECT_ID
:bws project get e325ea69-a3ab-4dff-836f-b02e013fe530
{
"object": "project",
"id": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"name": "App 1",
"creationDate": "2023-06-27T19:24:42.181607Z",
"revisionDate": "2023-06-27T19:24:42.181607Z"
}
要列出此服务账户有权访问的工程,请使用以下命令:
bws project list
[
{
"object": "project",
"id": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"name": "App 1",
"creationDate": "2023-06-27T19:24:42.181607Z",
"revisionDate": "2023-06-27T19:24:42.181607Z"
}.
...
]
虽然下面描述的功能是由 CLI 提供的,但有些功能是用于自托管的,这在 Secrets Manager 测试版期间不可用。
config
命令为 Secrets Manager CLI 指定要使用的服务器设置。可用的设置包括 server-base
、server-api
和 server-identity
,例如:bws config server-base https://my_hosted_server.comText Copi
以这种方式完成后,您指定的服务器值将保存到
~/.bws/config
文件中作为默认个人资料。您可以使用后续选项来创建备用个人资料和配置文件:将
--profile
选项与 config
命令一起使用可将指定的服务器值保存到备用个人资料,例如:bws config server-base http://other_hosted_server.com --profile dev
创建后,您可以将该个人资料与其他命令一起使用以将请求路由到指定的服务器,例如:
bws get secret 2863ced6-eba1-48b4-b5c0-afa30104877a --profile dev
将
--config-file
选项与 config
命令一起使用可将指定的服务器值保存到备用配置文件,例如将值保存到新配置文件中的默认个人资料:bws config server-base http://third_hosted_server.com --config-file ~/.bws/alt_config
您可以将
--config-file
与 --profile
链接起来,以将值保存到备用配置文件中的备用个人资料,例如:bws config server-base http://third_hosted_server.com --config-file ~/.bws/alt_config --profile alt_dev
创建后,您可以将该个人资料与其他命令一起使用以将请求路由到指定的服务器,例如:
bws get secret 2863ced6-eba1-48b4-b5c0-afa30104877a --config-file ~/.bws/alt_config --profile alt_dev
默认情况下,Secrets Manager CLI 将返回一个 JSON 对象或 JSON 对象数组以响应命令。可以使用
-o
,--output
标志以及以下选项之一更改输出的格式以满足您的需要:json
:默认。输出 JSON。yaml
:输出 YAML。table
:输出一个 ASCII 表,其中键值作为列标题。tsv
:输出没有键值的制表符分隔值。none
:只输出错误和警告。
例如,命令
bws get secret 2863ced6-eba1-48b4-b5c0-afa30104877a --output yaml
将返回以下内容:object: secret
id: 2863ced6-eba1-48b4-b5c0-afa30104877a
organizationId: b8824f88-c57c-4a36-8b1a-afa300fe0b52
projectId: 1d0a63e8-3974-4cbd-a7e4-afa30102257e
key: Stripe API Key
value: osiundfpowubefpouwef
note: 'These are notes.'
creationDate: 2023-02-08T15:48:33.470701Z
revisionDate: 2023-02-08T15:48:33.470702Z
可以通过指示是否需要彩色输出来进一步自定义输出。此选项的可用值为
yes
、no
和 auto
。您可以将
-t
,--access-token
选项与任何单个命令一起使用来验证单个 CLI 请求,例如:bws list secrets --access-token 0.48c78342-1635-48a6-accd-afbe01336365.C0tMmQqHnAp1h0gL8bngprlPOYutt0:B3h5D+YgLvFiQhWkIq6Bow==
将
--profile
选项与 list
或 get
命令一起使用以指定要使用的个人资料,例如:bws get secret 2863ced6-eba1-48b4-b5c0-afa30104877a --profile dev
将
--config-file
选项与 --profile
选项和 list
或 get
命令一起使用,以指定要使用哪个配置文件中的哪个配置文件,例如:bws get secret 2863ced6-eba1-48b4-b5c0-afa30104877a --config-file ~/.bws/alt_config --profile alt_dev
此选项可用于设置 CLI 将向其发送与指定的命令关联的请求的服务器 URL,例如:
bws list secrets --server-url http://my_hosted_server.com
此选项将覆盖通过
config
命令配置的任何 URL(请参阅此处)。使用此选项打印任何指定的
bws
命令的帮助。使用此选项打印您正在使用的
bws
客户端的版本。最近更新 2mo ago