AWS账户间部署Code Pipeline时,可能会出现不同账户中的代码推送到错误的管道问题,以下是
确保不同账户的IAM用户和权限可用:在目标AWS账户中,为CodePipeline创建Cross-Account访问IAM角色。该角色具有可以访问运行在源AWS账户中的CodePipeline的权限。然后在源AWS账户中,创建一个自定义Exchange Role的IAM角色,该角色有允许Cross-Account访问CodePipeline中的Web服务的权限。最后将该角色分配为Codepipeline的S3 Bucket对象的Cross-Account Copy role。
为源账户的CodePipeline设置阻止策略:在源AWS账户中的CodePipeline中设置阻止策略,该策略可以防止意外的代码修改和意外的流水线流量。您可以使用以下策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"codepipeline:*"
],
"Effect": "Deny",
"Resource": [
"*"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"sourceip1",
"sourceip2"
]
}
},
"Sid": "MyCodePipelineSecurePolicy"
}
]
}
notification_config:
SnsTopicArn: "arn:aws:sns:us-east-1:0123456789:publish"
SuccessLevels: ["INFO", "WARNING","ERROR"]
FailureLevels: ["ERROR"]
以上是将AWS账户间的Code Pipeline部署混淆的解决方法。
上一篇:AWS账户和边界上下文