sunwolfengineering / laravel-secrets-vault
将Laravel应用程序与秘密管理系统集成,以安全地配置环境。
Requires
- php: ^7.4|^8.0
- ext-json: *
- aws/aws-sdk-php: ^3.304
Requires (Dev)
- mockery/mockery: ^1.6
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
README
Laravel Secrets Vault包提供了Laravel应用程序与秘密管理服务之间的无缝集成,从支持AWS Secrets Manager开始。此包允许开发人员在版本控制系统之外安全地管理应用程序的秘密,如数据库密码或API密钥,从而提高其应用程序的安全性。
要求
- Laravel 8.x或更高版本
- PHP 7.4或更高版本
安装
您可以通过composer安装此包
composer require sunwolfengineering/laravel-secrets-vault
安装后,您应该将包的配置文件发布到您的应用程序配置目录
php artisan vendor:publish --provider="SunwolfEngineering\LaravelSecretsVault\LaravelSecretsVaultServiceProvider" --tag="config"
配置您的Secrets Vault
发布配置文件后,它将出现在您的应用程序配置目录中,名为secrets-vault.php。您需要在您的.env文件中设置适当的环境变量来配置AWS SDK并启用该包
LARAVEL_SECRETS_VAULT_ENABLED=true AWS_DEFAULT_REGION=your-aws-region AWS_ACCESS_KEY_ID=your-aws-access-key-id AWS_SECRET_ACCESS_KEY=your-aws-secret-access-key LARAVEL_SECRETS_VAULT_TAG_NAME=stage LARAVEL_SECRETS_VAULT_TAG_VALUE=local
此外,您可以在secrets-vault.php配置文件中的mappings数组中定义AWS Secrets Manager中的秘密密钥与您的Laravel应用程序配置密钥之间的映射。
用法
安装并配置了包后,它将根据secrets-vault.php配置文件中定义的映射自动从您的Laravel应用程序配置中获取并注入秘密。此过程发生在应用程序的引导阶段,确保在加载应用程序服务之前您的秘密可用。
测试
composer test
变更日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
贡献
请参阅CONTRIBUTING以获取详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件oss@sunwolf.studio而不是使用问题跟踪器。
许可证
GNU GPLv3。请参阅许可证文件以获取更多信息。
关于Sunwolf Studio
Sunwolf Studio,一家位于波特兰的按需SRE开发工作室,为在产品开发动态环境中导航的初创企业提供专家服务。专注于站点可靠性工程、网络安全、云应用程序开发和开发者体验优化,Sunwolf Studio架起了技术需求与业务目标之间的桥梁。他们致力于提升开发实践和确保产品可靠性,从基层开始解决挑战,并促进长期增长。有关他们的实践经验以及探索潜在合作的更多信息,请访问Sunwolf Studio。