afterdigital/laravel-iam-db-auth

适用于 Laravel 的 AWS IAM 数据库认证包

dev-master 2019-05-19 12:05 UTC

This package is auto-updated.

Last update: 2024-09-20 00:16:59 UTC


README

这是一个正在进行中的项目

我在被要求为客户端项目使用此数据库连接方法后创建了此包。我在网上找到了很少的信息,因此有很多尝试和错误。

这可能不会直接满足您的需求,但希望它能作为起点,帮助您进行设置。

这是一个连接 Laravel 与 AWS RDS 实例并使用 IAM 认证的包

它包含一个服务提供者,当框架请求 MySQL 连接时,提供我们的覆盖 MySQL 连接器类。

安装

使用 composer 安装此包

composer require afterdigital/laravel-iam-db-auth

将 IamDatabaseConnectorProvider 添加到 config/app.php

在 config/database.php 中添加一个 mysql_iam 连接到配置数组

'mysql_iam' => [
    '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_profile' => env('AWS_PROFILE'),
    'aws_credential_path' => env('AWS_CREDENTIAL_PATH'),
    '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    => env('RDS_CA_BUNDLE', '/path/to/rds-combined-ca-bundle.pem'),       
    ),
],

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html 获取 rds-combined-ca-bundle.pem