2

我按照以下步骤在 Spinnaker 中添加和配置 AWS 账户:

  1. hal 配置提供程序 aws 帐户添加 my-aws-acc --account-id xxxxxxxxxxxx --assume-role SpinnakerManaged

  2. hal 配置提供程序 aws 启用

AWS 账户设置

SpinnakerManaged 角色附加了以下政策:

pass_role_policy

{

"Version": "2012-10-17",

"Statement": [

    {


        "Effect": "Allow",

        "Action": [

            "ec2:*"

        ],

        "Resource": "*"

    },

    {

        "Effect": "Allow",

        "Action": "iam:PassRole",

        "Resource": "*"

    }

]

}

高级用户访问

托管 Spinnaker 的服务器附加了 SpinnakerAuth 角色,该角色具有以下策略:

  1. 高级用户访问

  2. pass_role_policy

  3. 假设角色策略

    {

    “版本”:“2012-10-17”,

    “陈述”: [

    {
    
        "Sid": "VisualEditor0",
    
        "Effect": "Allow",
    
        "Action": "sts:AssumeRole",
    
        "Resource": "*"
    
    }
    

    ] }

命令: hal deploy apply

Spinnaker 成功部署,而端口 7002 的 clouddriver 服务未出现

/var/log/spinnaker/cloudriver/clouddriver.log 文件中的错误:原因:com.amazonaws.services.securitytoken.model.AWSSecurityTokenServiceException:无权执行 sts:AssumeRole(服务:AWSSecurityTokenService;状态代码:403;错误代码: 拒绝访问;

4

1 回答 1

0

这与 AWS IAM 配置中的信任关系有关。spinnaker.io文档中改进了针对下述情况的 AWS IAM 权限部署。

  1. 使用 AWS Key 和 Secret 的管理 AWS 用户以及允许承担 ManagedTargetRole 的策略
  2. 将管理角色与允许承担 ManagedTargetRole 的策略一起使用

请参考此选项并再次部署。

就我而言,Spinnaker 中的本地 debian 安装从未对我有用。通过使用Minnaker for PoC项目,我成功地部署了 Spinnaker 。

于 2020-03-03T01:51:56.607 回答