masitings/aws-secret-manager

此包最新版本(dev-master)没有提供许可证信息。

dev-master 2023-01-20 09:19 UTC

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_IDAWS_SECRET_ACCESS_KEY 替换为您自己的凭证,并赋予该凭证 AWSSecretManager 权限。

AWS_SECRETS_TAG_NAMEAWS_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