masitings / aws-secret-manager
此包最新版本(dev-master)没有提供许可证信息。
dev-master
2023-01-20 09:19 UTC
Requires
- aws/aws-sdk-php: ^3.257
This package is auto-updated.
Last update: 2024-09-20 14:01:31 UTC
README
将 Laravel 应用与 Amazon Secret Manager 集成。
安装
您可以通过 composer 安装此包
composer require masitings/aws-secret-manager
发布配置
php artisan vendor:publish --provider="Masitings\AwsSecretManager\SecretManagerProvider"
用法
此包将在您的项目中任何存在的配置变量中加载和获取 AWS Secret Manager 中的机密。使用以下方式放置您的 env 值
AWS_DEFAULT_REGION=ap-southeast-1 AWS_SECRETS_TAG_NAME=stage AWS_SECRETS_TAG_VALUE=production
将 AWS_ACCESS_KEY_ID
和 AWS_SECRET_ACCESS_KEY
替换为您自己的凭证,并赋予该凭证 AWSSecretManager 权限。
AWS_SECRETS_TAG_NAME
和 AWS_SECRETS_TAG_VALUE
用于拉取匹配标签键/值的所有机密。
为了使其正常工作,您需要将密钥与您的点数组配置匹配。例如,我们有一个类似这样的 database.php
配置
<?php use Illuminate\Support\Str; return [ 'default' => env('DB_CONNECTION', 'mysql'), 'connections' => [ 'mysql' => [ 'driver' => 'mysql', 'url' => env('DATABASE_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), ]) : [], ], ], ];
您在 AWS Secret Manager 中的密钥将类似于以下内容
database.connections.mysql.driver
database.connections.mysql.url
database.connections.mysql.host
database.connections.mysql.port
database.connections.mysql.database
database.connections.mysql.username
database.connections.mysql.password
之后,您可以按照 .env
文件或其他文件中的值放置值。
AWS 凭证
由于此包利用 PHP AWS SDK,以下 .env 值被使用或设置在 ~/.aws/credentials
中的凭证。
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials.html