gpt4 book ai didi

jenkins - AWS 错误 : "Access Denied" in CodeDeploy after Jenkins build

转载 作者:行者123 更新时间:2023-12-04 11:48:30 26 4
gpt4 key购买 nike

我已经在 EC2 实例上设置了 Jenkins,当更改推送到 github 中的主分支时,该实例运行构建。一旦 jenkins 构建通过,它就会触发一个过程来压缩源代码并将其放入特定的 S3 存储桶中。然后 Jenkins 在配置中知道 CodeDeploy 应用程序并触发部署以尝试从 S3 获取源代码 ZIP,但它引发错误 访问被拒绝 . IAM 角色似乎没有从 S3 下载 ZIP 的正确访问权限和权限。

我的问题是试图了解 IAM 角色、它与 Jenkins 用户和 IAM 服务角色的关系?如何设置权限以及谁应该获得这些权限?请建议并帮助我理解这一点。

最佳答案

CodeDeploy 设置中通常有两个场景……“创建”部署的部分(通常是您的 CI 服务器/构建代理)和在目标实例上运行并执行实际部署的 CodeDeploy 代理。前半部分基本上是插入 CodeDeployment,而后半部分则是从中拉取……这就是我喜欢将其可视化的方式。

对于 CI 服务器/构建代理,它们应该具有 IAM 角色,其权限如下...这允许构建代理 (1) 访问您指定用于部署的 S3 存储桶和 (2) 访问 CodeDeploy 服务以创建修订等。

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": "arn:aws:s3:::*"
}, {
"Effect": "Allow",
"Action": [
"s3:PutObject"
],
"Resource": "arn:aws:s3:::YourDeploymentBucket"
},
{
"Effect": "Allow",
"Action": [
"codedeploy:*"
],
"Resource": "*"
}
]
}

在目标 EC2 实例上,他们需要有这样的东西......这使 CodeDeploy 代理服务 (1) 访问 S3 存储桶以拉取修订和 (2) 访问所有通用代码部署存储桶,以便代理可以自行更新。当然,这些实例需要满足所有其他条件……通常,它们需要 IAM 角色并且需要安装代码部署代理。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": [
"arn:aws:s3:::YourDeploymentBucket/*",
"arn:aws:s3:::aws-codedeploy-us-east-1/*",
"arn:aws:s3:::aws-codedeploy-us-west-1/*",
"arn:aws:s3:::aws-codedeploy-us-west-2/*",
"arn:aws:s3:::aws-codedeploy-ap-northeast-1/*",
"arn:aws:s3:::aws-codedeploy-ap-northeast-2/*",
"arn:aws:s3:::aws-codedeploy-ap-south-1/*",
"arn:aws:s3:::aws-codedeploy-ap-southeast-1/*",
"arn:aws:s3:::aws-codedeploy-ap-southeast-2/*",
"arn:aws:s3:::aws-codedeploy-eu-central-1/*",
"arn:aws:s3:::aws-codedeploy-eu-west-1/*",
"arn:aws:s3:::aws-codedeploy-sa-east-1/*"
]
}
]
}

您如何分配这些权限取决于您...如果您的构建代理是 EC2 实例,最好将它们分配为附加到与实例关联的 IAM 角色的策略。对于目标部署机器,您将执行相同的操作...创建一个策略并将其分配给与您要定位的实例关联的 IAM 角色。

关于jenkins - AWS 错误 : "Access Denied" in CodeDeploy after Jenkins build,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41001078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com