konn-labs / laravel-aws-rds-auth
一个用于使用 IAM 凭据对 AWS RDS 进行身份验证的小型库
1.0.0
2024-05-08 15:57 UTC
Requires
- php: ^8.2
- ext-pdo: *
- aws/aws-sdk-php-laravel: ^3.9
- laravel/framework: ^11.0
Requires (Dev)
- mockery/mockery: ^1.6
- orchestra/testbench: ^9.0
- pestphp/pest: ^2.34
README
此包是对默认 Laravel Postgres 和 MySQL 数据库连接实现的轻量级封装。这允许您使用 IAM 数据库身份验证
用法
此包将添加两个新的连接驱动程序: rds-pgsql
和 rds-mysql
,任何由 pgsql
和 mysql
支持的配置都由 rds-*
实现,唯一例外的是 password
配置,该配置将被 AWS 认证令牌覆盖。
除了驱动程序支持的配置外,还有两个新的配置
- 'region' - 这是您想要连接的数据库的 AWS 区域
- 'password_cache_driver' - 这是您的应用程序配置的 缓存驱动程序,如果您设置此配置,则密码将存储在缓存驱动程序中,因此请确保您的缓存驱动程序足够安全。
此包使用 AWS 的 默认凭证提供程序,因此您可以与 AWS 支持的任何认证方法一起使用。
快速入门
将其添加到您的 config/database.php
中,与其他连接一起
'rds-pgsql' => [
'driver' => 'rds-pgsql',
'url' => env('DB_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'laravel'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'charset' => env('DB_CHARSET', 'utf8'),
'prefix' => '',
'prefix_indexes' => true,
'search_path' => 'public',
'region' => env('DB_AWS_REGION'),
'password_cache_driver' => env('DB_PASSWORD_CACHE_DRIVER')
],
更新您的环境变量
- DB_CONNECTION=rds-pgsql
- DB_AWS_REGION=us-east-1
- DB_PASSWORD_CACHE_DRIVER=redis # 确保您的 redis 连接足够安全!