当使用GitHub Actions但不用于终端时,S3的访问被拒绝



我可以从命令行访问我的bucket (SG)。但是,当我在GitHub操作中运行时,我得到了一个拒绝访问的错误。我已经设置了三次密钥,所以我知道我没有使用错误的密钥,而且我知道我有正确的权限,因为它在终端中有效。

一些注意事项:SG桶与我的桶在不同的区域。另外,SG桶最初有一个不同的端点。我需要确保它指向正确的端点(https://s3.amazonaws.com)。目前我把端点作为一个变量,但没有设置它。

我的工作流YAML有问题吗?

jobs: 
Sync:
runs-on: ubuntu-latest
env:
SG_S3_ENDPOINT: https://s3.amazonaws.com
SG2_ACCESS_KEY_ID: ${{ secrets.SG2_ACCESS_KEY_ID }}
SG2_SECRET_ACCESS_KEY: ${{ secrets.SG2_SECRET_ACCESS_KEY }}
AWS_REGION_NAME: ${{ secrets.AWS_REGION_NAME }}
steps:
- uses: actions/checkout@v2
- name: install dependencies ...
run: |
pip3 install -r requirements.txt
- name: Sync Weekly Patterns
run: |
aws configure set aws_access_key_id $SG2_ACCESS_KEY_ID
aws configure set aws_secret_access_key $SG2_SECRET_ACCESS_KEY
aws configure set region $AWS_REGION_NAME
aws s3 sync s3://sg-places-outgoing/my_org/weekly/ s3://sg-my-org/weekly-patterns/

我认为我的问题是我的环境变量没有被命名为aws识别的值,即使我在aws配置中设置了它们。

Sync:
runs-on: ubuntu-latest
env:
AWS_REGION_NAME: ${{ secrets.AWS_REGION_NAME }}
AWS_ACCESS_KEY_ID: ${{ secrets.SG_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.SG_SECRET_ACCESS_KEY }}
AWS_S3_ENDPOINT: https://s3.amazonaws.com
steps:
- uses: actions/checkout@v2
- name: install dependencies ...
run: |
pip3 install -r requirements.txt
- name: Sync Weekly Patterns
run: |

aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID
aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY
aws configure set region $AWS_REGION_NAME
aws s3 sync s3://safegraph-places-outgoing/nyc_gov/weekly/ s3://safegraph-post-rdp/weekly-patterns/