jetcod/laravel-iam-db-auth

为 Laravel 提供的 AWS IAM db 身份验证包

安装次数: 310

依赖者: 0

建议者: 0

安全性: 0

星标: 1

关注者: 0

分支: 6

类型:package

1.0.0 2024-03-22 14:55 UTC

This package is not auto-updated.

Last update: 2024-09-24 09:36:51 UTC


README

这是一个连接 Laravel 与 AWS RDS 实例的 IAM 身份验证的包。

它包括一个服务提供者,当框架请求 MySQL/PGSQL 连接时,提供我们重写的 MySQL/PGSQL 连接器类。

安装

使用 Composer 安装此包

composer require jetcod/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