服务账户管理
管理服务账户
添加服务账户
使用 IAM API
前提条件:
- OpenSSL
- DC/OS 认证令牌 作为
TOKEN
. 导出到环境中。
服务账户由用户 ID 和 RSA 私钥构成。
要使用 DC/OS 身份和访问管理 (IAM) API 来添加服务账户,请首先通过 OpenSSL 生成 RSA 私钥。
openssl genpkey -algorithm RSA -out private-key.pem -pkeyopt rsa_keygen_bits:2048
从私钥中提取相应的公钥。
openssl rsa -pubout -in private-key.pem -out public-key.pem
将公钥文件内容转换为带有转义换行符的字符串。
export PUBLIC_KEY=$(sed ':a;N;$!ba;s/\n/\\n/g' public-key.pem)
在以下命令中使用所需值替换
<uid>
,然后执行命令:curl -i -X PUT http://<host-ip>/acs/api/v1/users/<uid> -d '{"public_key": "'"$PUBLIC_KEY"'"}' -H 'Content-Type: application/json' -H "Authorization: token=$TOKEN"
列出服务账户
使用 IAM API
前提条件:
- DC/OS 认证令牌 作为
TOKEN
. 导出到环境中。
要使用 身份和访问管理 (IAM) API 来列出所有已配置服务账户,请执行以下命令:
curl -i -X GET "http://<host-ip>/acs/api/v1/users?type=service" -H 'Content-Type: application/json' -H "Authorization: token=$TOKEN"
更改服务账户公钥
使用 IAM API
前提条件:
- DC/OS 认证令牌 作为
TOKEN
. 导出到环境中。
要使用 DC/OS 身份和访问管理 (IAM) API 来更改服务账户的公钥,请在 public-key.pem
文件中提供一个新的公钥。然后,替换以下命令中的 <uid>
,并执行命令:
curl -i -X PATCH http://<host-ip>/acs/api/v1/users/<uid> -d '{"public_key": "'"$(sed ':a;N;$!ba;s/\n/\\n/g' public-key.pem)"'"}' -H 'Content-Type: application/json' -H "Authorization: token=$TOKEN"
移除服务账户
使用 IAM API
前提条件:
- DC/OS 认证令牌 作为
TOKEN
. 导出到环境中。
要使用 DC/OS 身份和访问管理 (IAM) API 来移除本地用户账户,请用相应的值替换 <uid>
并执行以下命令:
curl -i -X DELETE http://<host-ip>/acs/api/v1/users/<uid> -H 'Content-Type: application/json' -H "Authorization: token=$TOKEN"