代码之家  ›  专栏  ›  技术社区  ›  Carlos Martinez

使用AWS CodeBuild和EB CLI部署到AWS Elastic Beanstalk

  •  0
  • Carlos Martinez  · 技术社区  · 7 年前

    问题是,似乎EB CLI不可从AWS CodeBuild获得(似乎应该,阅读此。。。 https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli-codebuild.html )

    因此,当我在CodeBuild上指定eb cli命令时:

    version: 0.2
    
    phases:
      install:
        commands:
          - echo Logging into Amazon ECR...
          - eb init --platform "multi-container-docker-18.03.1-ce-(generic)" --region us-west-1 application
    

    /codebuild/output/tmp/script.sh: eb: not found
    

    - pip install --upgrade awsebcli awscli
    - eb init --platform "multi-container-docker-18.03.1-ce-(generic)" --region us-west-1 application
    

    ERROR: NotAuthorizedError - Operation Denied. Access Denied
    

    我加了一个 --debug 标志,这就是确切的错误:

    2018-09-10 13:33:55,151 (DEBUG) ebcli.lib.aws : Making api call: (elasticbeanstalk, describe_configuration_settings) to region: us-west-1 with args:{'ApplicationName': 'application', 'EnvironmentName': 'staging'}
    2018-09-10 13:33:55,495 (DEBUG) ebcli.lib.aws : Response: {'Error': {'Type': 'Sender', 'Code': 'InsufficientPrivilegesException', 'Message': 'Access Denied'}, 'ResponseMetadata': {'RequestId': '32f4e739-1694-4aa2-9e2e-076ec4861ae7', 'HTTPStatusCode': 403, 'date': 'Mon, 10 Sep 2018 13:33:55 GMT', 'RetryAttempts': 0}}
    2018-09-10 13:33:55,495 (DEBUG) ebcli.lib.aws : API call finished, status = 403
    

    我错过什么了吗?如何正确使用CodeBuild中的EB CLI?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Carlos Martinez    7 年前

    事实证明,EBCLI需要的不仅仅是弹性Beanstalk策略。这就是为什么我仍然得到一个身份验证错误,即使我附加了一个弹性Beanstalk的完全访问策略。

    为了理解所需的策略,我所做的是创建一个具有对所有服务的完全访问权限的IAM角色,并将其附加到AWS CodeBuild项目。

    那么,去 IAM Roles -&燃气轮机; Role name Access advisor 您可以检查项目使用的策略,以便为服务创建适当的角色。

    • 最近的活动通常在4小时内出现。(您可能无法立即看到Access Advisor中使用的所有服务)
    • 你可以先用 AWSElasticBeanstalkFullAccess 内置策略而不是 管理员访问
    推荐文章