- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们设置了一个 MyReadOnlySecretServer
Policy 作为:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"secretsmanager:GetResourcePolicy",
"secretsmanager:GetSecretValue",
"secretsmanager:DescribeSecret",
"secretsmanager:ListSecretVersionIds"
],
"Resource": "arn:aws:secretsmanager:REGION:SOME_ID:secret:ID_OF_OUR_SECRET_JSON"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"secretsmanager:GetRandomPassword",
"secretsmanager:ListSecrets"
],
"Resource": "*"
}
]
}
我们在 Elastic Beanstalk 上部署了一个 SpringBoot 应用程序,并成功地在生产中检索和使用了 secret 。
但是,不知何故,当我们仍处于管道的构建阶段时,显然我们的 CodeStarWorker 无法读取这些值。这是异常(exception):
software.amazon.awssdk.services.secretsmanager.model.SecretsManagerException: User: arn:aws:sts::SOME_ID:assumed-role/CodeStarWorker-blabla-ToolChain/AWSCodeBuild-some-long-id is not authorized to perform: secretsmanager:GetSecretValue on resource: arn:aws:secretsmanager:REGION:SOME_ID:secret:ID_OF_OUR_SECRET_JSON (Service: SecretsManager, Status Code: 400, Request ID: some-other-long-id)
我们在部署时尝试访问 secret 时遇到此异常,将 MyReadOnlySecretServer
策略添加到 IAM 角色 CodeStarWorker-blabla-ToolChain
中,如异常所述,事情就解决了。
然而,不知何故,现在我们尝试在 buildspec.yml
中运行 mvn test
,我们得到了同样的异常。
为什么我们的 buildspec.yml
被拒绝访问,尽管它是由执行“源代码 + 构建 + 部署”阶段的同一代码管道运行的?部署后,该实例可以访问,但在构建时却没有。
buildspec.yml
:version: 0.2
phases:
install:
runtime-versions:
java: openjdk8
commands:
# Upgrade AWS CLI to the latest version
- pip install --upgrade awscli
pre_build:
commands:
- cd $CODEBUILD_SRC_DIR
- mvn clean compile test # commenting this "test" makes it run properly
build:
commands:
- mvn war:exploded
post_build:
commands:
- cp -r .ebextensions/ target/ROOT/
- aws cloudformation package --template template.yml --s3-bucket $S3_BUCKET --output-template-file template-export.yml
# Do not remove this statement. This command is required for AWS CodeStar projects.
# Update the AWS Partition, AWS Region, account ID and project ID in the project ARN on template-configuration.json file so AWS CloudFormation can tag project resources.
- sed -i.bak 's/\$PARTITION\$/'${PARTITION}'/g;s/\$AWS_REGION\$/'${AWS_REGION}'/g;s/\$ACCOUNT_ID\$/'${ACCOUNT_ID}'/g;s/\$PROJECT_ID\$/'${PROJECT_ID}'/g' template-configuration.json
artifacts:
type: zip
files:
- target/ROOT/**/*
- .ebextensions/**/*
- 'template-export.yml'
- 'template-configuration.json'
最佳答案
在我看来,CodeBuild 承担了“CodeStarWorker-blabla-ToolChain”角色,而角色本身没有“secretsmanager:GetSecretValue”权限。此外,根据内存,CodeStarWorker 角色有一个权限边界,即使您已经明确添加了所需的权限,它也可能会阻止访问。这里讨论了一个类似的问题:
关于amazon-web-services - AWS Pipeline buildspec 拒绝访问 SecretManager,但已授权部署的 Beanstalk 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59830805/
目前,我正在期待将自己的项目迁移到 AWS 中,并且我已经将其上传到 CodeCommit 中。下一步是利用 CodePipeline 和 CodeBuild 进行构建和测试。 我有一个用 Java
我正在尝试使用AWS CodeBuild将所有文件和子文件夹放在嵌套的public文件夹中,并使用CodePipeline部署到S3存储桶。我能够将它们全部钩在一起,但是努力配置buildspec.y
我正在尝试为无服务器框架开发 CI/CD 管道。 我曾为 SAM 框架做过类似的事情,并且让它工作了。SAM框架有打包和部署两个步骤(部署由cloudformation actions处理) vers
有什么方法可以使用 buildspec.yml 文件运行 gradle 构建。 buildspec.yml 文件包含一个 gradle 构建命令列表。 最佳答案 是的,它可能,PFB buildspe
正如标题所述,我想知道提交 SHA 上是否有触发 AWS 代码构建的标签。 我在 buildspec.yml 文件中使用 printenv 查看了所有 Env 变量,似乎 AWS codebuild
我正在尝试使用 CloudFormation 模板来定义 CodeBuild 和 CodePipeline,以自动部署 S3 存储桶中托管的静态网站。为了给予应得的信任,我很大程度上遵循 https:
首先介绍一下背景。我们正在 AWS 中使用 CodeStar 构建一个应用程序来控制一切。它是用 Python 3 编写的 但是,尽管每次尝试,我们都无法让我们在 buildspec.yml 文件中设
我是菜鸟。 buildsepc yaml 文件中的“工件”是什么? 我继续阅读 https://docs.aws.amazon.com/codebuild/latest/userguide/getti
我正在使用 AWS CodeBuild,并且需要操作环境变量。我最初尝试在 buildspec.yml 中使用 bash 模式替换,如下所示: build: on-failure: ABO
我有一个在构建阶段调用 CodeBuild 的 AWS CodePipeline。 问题是如何从 CodePipeline 传入可以在 CodeBuild 的 buildspec.yml 中读取的环境
在 Codebuild 控制台中声明的环境变量未得到解析。 我已经尝试了尽可能多的 YAML 变量使用变体; $VARIABLE ${VARIABLE} "$VARIABLE" 版本:0.2 env:
我想根据生成的时间为我的 CodeBuild 生成的工件命名。 我尝试了以下方法,但是当工件上传到 S3 时,名称实际上是表达式,而不是我设置的表达式的评估值。 是否可以将 env:variables
我有一个为 Angular 前端提供服务的 NodeJS 应用程序,这个应用程序是使用 AWS Elastic Beanstalk 部署的。如果我直接将 .zip 文件上传到 Elastic Bean
背景: 我正在使用 AWS CodeBuild buildspec.yml 来遍历来自 GitHub 存储库的目录。在遍历目录路径 $TF_ROOT_DIR 之前, 我正在使用 bash if 语句来
为什么构建规范文件支持多个构建阶段? 安装、pre_build、build、post_build?如果我将所有构建步骤放在一个阶段中,我是否做错了什么?除了保持某种结构之外,这些阶段有什么非常有用的东
我正在尝试使用以下方法运行 for 循环遍历克隆代码中的多个文件夹 commands: - folders=`ls` - for value in ${folders} - do - some_cod
yaml 在 AWS 代码构建中成功执行,但图像未发送到 aws ecr。 buildspec.yml 文件输出如下 `[Container] 2020/10/26 09:50:07 Phase co
我正在创建与 SonarQube 集成的 CodeBuild,因此我直接在 Buildspec.yaml 中传递值和声纳凭据 我尝试使用以下命令从 SecretManager 中检索,而不是直接进行硬
我能够在构建规范中检索 secret (给定 https://aws.amazon.com/about-aws/whats-new/2019/11/aws-codebuild-adds-support
我们设置了一个 MyReadOnlySecretServer Policy 作为: { "Version": "2012-10-17", "Statement": [
我是一名优秀的程序员,十分优秀!