在 env 中找到部分凭据,缺少:AWS_SECRET_ACCESS_KEY 使用 Bitbucket 管道
Partial credentials found in env, missing: AWS_SECRET_ACCESS_KEY using Bitbucket pipeline
我在执行命令 运行 时收到在 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
因为我使用网络身份令牌生成临时凭据不需要它。
以下是 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
呃...我苦苦挣扎了两天,最后在Whosebug上发布后,我想到了清除ENV变量并且它起作用了。
AWS 密钥以某种方式存储在 env 中,不确定如何存储?我刚刚通过下面的 cmd 清除了它们并且它起作用了:D
- unset AWS_ACCESS_KEY_ID
- unset AWS_SECRET_ACCESS_KEY
我在执行命令 运行 时收到在 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
因为我使用网络身份令牌生成临时凭据不需要它。
以下是 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
呃...我苦苦挣扎了两天,最后在Whosebug上发布后,我想到了清除ENV变量并且它起作用了。 AWS 密钥以某种方式存储在 env 中,不确定如何存储?我刚刚通过下面的 cmd 清除了它们并且它起作用了:D
- unset AWS_ACCESS_KEY_ID
- unset AWS_SECRET_ACCESS_KEY