我正在使用
user-data
将我的 EC2 注册为自托管的 GH Action 运行器,如下所示
su - ubuntu -c './config.sh --unattended --url '${github_repo_url}' \
--pat '${github_pat}' --name '${name}' --labels '${labels}' --replace'
(没有输出,只有命令行)
我正在使用 GitHub (GH) 个人访问令牌 (PAT),否则每次我想将新的 AWS EC2 虚拟机实例注册为自主持 GH runner.
问题是一旦机器准备好,
user-data
当然是可见的。
有更好的方法吗?
AFAIK EC2 不接受基于资源的策略,以将访问权限限制为仅选定的一组成员。
AWS Parameter store with encrypted strings 是一种通用解决方案,用于使 AWS 资源可以使用类似的秘密。然后,您的 EC2 实例可以通过实例配置文件应用适当的权限来访问相关参数(您的 GH PAT int his case)。
在您的 ec2 用户数据中,您可以使用 aws cli 来提取参数。 这个问题有一个关于如何解决这个问题的例子。