AWS Secrets Manager Actions
This GitHub Action helps you define your secrets that stored in AWS Secrets Manager to environment values.
Usage
steps:
- name: Store ENV from AWS SecretManager
uses: say8425/aws-secrets-manager-actions@v1
with:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
SECRET_NAME: ${{ secrets.SECRET_NAME }}
OUTPUT_PATH: '.env'
EXPORT_TO_ENV: true
Add your AWS IAM keys and you secret name that you want to use from your AWS Secrets Manager secrets list.
Then your secrets will be defined environment values.
AWS IAM
You need AWS IAM user that has proper policy to access AWS Secrets Manager.
If you have it, then add this IAM user keys at AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
and region AWS_DEFAULT_REGION
.
But we greatly recommend to store these keys at GitHub Secrets.
Policy
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "secretsmanager:GetSecretValue",
"Resource": "*"
}
]
}
If you need policy example, then feel free to use this above policy.
And you can get more information at AWS User Guide.
Secret Name
Add you want to use secret name from your AWS Secrets Manager secrets list.
You can use only one secret name.
Environment Values
Your secrets will be environment values.
And these environment values are masked with ***
. So never be revealed.
Raw string values
Most of the secrets are can be parsed.
But some case, parsing can be failed, like invalid json.
In this case, this unparsed raw sting will be stored in asm_secret
env key.
Export environment variables to file
You can export these environment variables to file with OUTPUT_PATH
input parameter.
When you define OUTPUT_PATH
, then action create a file named as you defined.
And environments will be exported into this file.
Only write to file
If you only want to write the secrets to a file, and not export them to the environment, set EXPORT_TO_ENV: false
in the action inputs. Otherwise, you must set EXPORT_TO_ENV: true
.
Contributing
Your Contributions are always welcome!
Feel free to check issues
or Pull Requests
License
This project is MIT licensed.