pixelvide / laravel-iam-db-auth
Laravel的AWS IAM数据库身份验证包
3.1.0
2024-01-29 06:31 UTC
Requires
- php: >=7.3
- ext-pdo: *
- aws/aws-sdk-php-laravel: ^3.3.0
Requires (Dev)
- laravel/framework: ^6.0|^7.0|^8.0|^9.0|^10.0
README
这是一个用于使用IAM身份验证将Laravel与AWS RDS实例连接的包。
它包括一个服务提供者,当框架请求MySQL/PGSQL连接时,它会提供我们重写的MySQL/PGSQL连接器类。
安装
使用Composer安装此包
composer require pixelvide/laravel-iam-db-auth
在config/database.php中的连接数组中添加缺少的变量
<?php [ 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'database_name'), 'username' => env('DB_USERNAME', 'database_username'), 'password' => '', 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => false, 'engine' => null, 'aws_region' => env('AWS_REGION'), 'use_iam_auth' => env('DB_USE_IAM_AUTH', true), 'options' => array( 'MYSQLI_READ_DEFAULT_FILE' => env('MYSQL_CNF_FILE', '/path/to/cnf/file'), PDO::MYSQL_ATTR_SSL_CA => base_path('vendor/pixelvide/laravel-iam-db-auth/certs/rds-ca-2019-root.pem'), ), ], ];
<?php [ 'pgsql' => [ 'driver' => 'pgsql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '5432'), 'database' => env('DB_DATABASE', 'database_name'), 'username' => env('DB_USERNAME', 'database_username'), 'password' => '', 'charset' => 'utf8mb4', 'aws_region' => env('AWS_REGION'), 'use_iam_auth' => env('DB_USE_IAM_AUTH', true), 'options' => array( PDO::ATTR_PERSISTENT => env('DB_PERSISTENT', false), ), ], ];
从https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html 获取rds-combined-ca-bundle.pem