我看了这篇文章:Github 部署密钥(Deploy Keys)
根据我所读到的内容,它将客户端视为一个静态机器,始终具有用于克隆仓库的SSH设置。然而,在ECS中,客户端机器会变化。我是否需要在每个容器上每次设置SSH?
我的问题是从AWS的角度来看的,是否可以设置某种“角色”,以便每当我们部署服务时,它都可以访问一个私有的GitHub存储库?
我看了这篇文章:Github 部署密钥(Deploy Keys)
根据我所读到的内容,它将客户端视为一个静态机器,始终具有用于克隆仓库的SSH设置。然而,在ECS中,客户端机器会变化。我是否需要在每个容器上每次设置SSH?
我的问题是从AWS的角度来看的,是否可以设置某种“角色”,以便每当我们部署服务时,它都可以访问一个私有的GitHub存储库?
aws secretsmanager get-secret-value --secret-id arn:aws:secretsmanager:us-west-2:foocompany:secret:secret-name-X1cUDA | python -c 'import sys, json; print json.load(sys.stdin)["SecretString"]' > ~/.ssh/id_rsa
chmod 400 ~/.ssh/id_rsa
您可能需要设置类似于秘密权限的权限
{ "Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "secretsmanager:GetSecretValue",
"Principal": {"AWS": "arn:aws:iam::foocompany:user/user"},
"Resource": "arn:aws:secretsmanager:us-west-2:238513131754:secret:arn:aws:secretsmanager:us-west-2:foocompany:secret:secret-name-X1cUDA"
}
]
}
.ssh/id_rsa
/.ssh_id_rsa.pub
的方式启动,允许容器作为协作者向GitHub进行身份验证。