sunwolfengineering/laravel-secrets-vault

将Laravel应用程序与秘密管理系统集成,以安全地配置环境。

v1.0.0 2024-04-09 19:14 UTC

This package is auto-updated.

Last update: 2024-09-09 20:19:41 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

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