在 env 中找到的部分凭证,缺少:AWS_SECRET_ACCESS_KEY 使用 Bitbucket 管道

Posted

技术标签:

【中文标题】在 env 中找到的部分凭证,缺少:AWS_SECRET_ACCESS_KEY 使用 Bitbucket 管道【英文标题】:Partial credentials found in env, missing: AWS_SECRET_ACCESS_KEY using Bitbucket pipeline 【发布时间】:2022-01-18 16:17:39 【问题描述】:

在运行以下命令时,我在 env 错误中发现了部分凭据。

aws sts assume-role-with-web-identity --role-arn $AWS_ROLE_ARN --role-session-name build-session --web-identity-token $BITBUCKET_STEP_OIDC_TOKEN --duration-seconds 1000

我使用的是低于 AWS CLI 和 Python 的版本-

aws-cli/2.2.9 Python/3.8.8 Linux/5.4.92-flatcar exe/x86_64.debian.11 prompt/off

我还在环境变量中设置了 AWS_WEB_IDENTITY_TOKEN_FILE 和 AWS_ROLE_ARN。我仍然收到此错误。我没有配置 aws 凭据 ~/.aws/credentials 和配置文件 ~/.aws/config,因为我使用 Web 身份令牌来生成临时凭据,所以这不是必需的。

下面是bitbucket流水线步骤:

- step:
          oidc: true
          name: Build
          image: python:3.7
          script:
            - export AWS_REGION=us-east-2
            - export AWS_ROLE_ARN=arn:aws:iam::XXXXXX:role/bitbucket-pipelines-sso
            - export AWS_WEB_IDENTITY_TOKEN_FILE=$(pwd)/web-identity-token
            - echo $BITBUCKET_STEP_OIDC_TOKEN > $(pwd)/web-identity-token
            - curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.2.9.zip" -o "awscliv2.zip" && unzip awscliv2.zip
            - ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
            - aws sts assume-role-with-web-identity --role-arn $AWS_ROLE_ARN --role-session-name build-session --web-identity-token $BITBUCKET_STEP_OIDC_TOKEN --duration-seconds 1000 >> irp-cred.txt

我见过this、this,但没有运气。 有人可以帮帮我吗?

【问题讨论】:

【参考方案1】:

呃......我挣扎了两天,最后在***上发布后,我想到了清除ENV变量并且它起作用了。 不知何故,AWS Keys 被存储在 env 中,不确定如何?我刚刚通过下面的 cmd 清除了它们,它起作用了:D

- unset AWS_ACCESS_KEY_ID
- unset AWS_SECRET_ACCESS_KEY

【讨论】:

是的,这是没有博文的文档。我也对此很好奇,所以我什至查看了atlassian/aws-ecr-push-image 的来源,他们在使用 OIDC 时会这样做

以上是关于在 env 中找到的部分凭证,缺少:AWS_SECRET_ACCESS_KEY 使用 Bitbucket 管道的主要内容,如果未能解决你的问题,请参考以下文章

从 .env 文件中获取我的身份验证密钥,但它缺少字符

如何在 AWS CLI 中覆盖环境变量并使用 AWS 凭证文件?

NextJS + Heroku:env变量未加载

开发部分中 secrets.yml 中的 OAuth 凭据

订单部分后台缺少产品和订单状态

创建新的 laravel 项目后缺少文件夹供应商和文件 .env