Humilis 插件用于部署 Lambda humilis_decrypt
项目描述
A humilis 插件层,可以部署一个自定义 Cloudformation (CF) 资源,用于解密嵌入到 CF 模板中的机密信息。
致谢: 所有荣誉归 Casecommons lambda-cfn-kms。这个仓库只是将 lambda-cfn-kms 仓库捆绑为 humilis 插件的结果。
安装
pip install humilis-decrypt
要安装开发版本
pip install git+https://github.com/humilis/humilis-decrypt
开发
假设你已经安装了 virtualenv
make develop
配置 humilis
make configure
它是如何工作的?
首先创建支持自定义资源的 Lambda 函数
make create
部署将生成两个工件
与自定义资源相关联的 KMS 密钥的 ID。
已部署 Lambda 函数的 ARN。
你可以使用 KMS 密钥 ID 在本地加密你的机密信息,例如,假设你想使用密钥 3ea941bf-ee54-4941-8f77-f1dd417667cd 加密虚拟 DB 密码 dummy
aws kms encrypt --key-id 3ea941bf-ee54-4941-8f77-f1dd417667cd --plaintext 'dummy'
输出将类似于以下内容
{ "CiphertextBlob": "AQICAHi2zdvZYfUQOQV8yX/HLdcIMqHHkubAYAei2Qo498KheQFDELPYHds8169cc9EqggEuAAAAZjBkBgkqhkiG9w0BBwagVzBVAgEAMFAGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQM+gDfP3DDVgbFYNidAgEQgCMrz1beR+s0XqWTVIuCbJ+E/cC7sqUzmPEB0weOhQ3GOE65rg==", "KeyId": "arn:aws:kms:eu-west-1:XXXXX:key/a86x4dd8-6b8e-41ce-aa65-4aa370d9ccbf" }
每次你想在 CF 模板中使用你的机密信息时,你会这样做
--- resources: DbPasswordDecrypt: Type: "Custom::KMSDecrypt" Properties: ServiceToken: <lambda_function_arn> Ciphertext: "AQICAHi2zdvZYfUQOQV8yX/HLdcIMqHHkubAYAei2Qo498KheQFDELPYHds8169cc9EqggEuAAAAZjBkBgkqhkiG9w0BBwagVzBVAgEAMFAGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQM+gDfP3DDVgbFYNidAgEQgCMrz1beR+s0XqWTVIuCbJ+E/cC7sqUzmPEB0weOhQ3GOE65rg==" DbInstance: Type: "AWS::RDS::DBInstance" Properties: AllocatedStorage: "20" DBInstanceClass: "db.m1.small" Engine: "MySQL" EngineVersion: "5.5" MasterUsername: "admin" MasterUserPassword: Fn::Sub: ${DbPasswordDecrypt.Plaintext}
其中你需要将 <lambda_function_arn> 替换为支持自定义 CF 资源并实现解密逻辑的 Lambda 函数的 ARN。
更多信息
见 humilis 文档。
联系
如果你有任何问题、错误报告、建议等,请在 GitHub 项目页面 上创建一个问题。
许可证
见 lambda-cfn-kms 仓库中的原始许可证。
项目详情
关闭
humilis-decrypt-0.0.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9a1f5bfe5072e156484b52faf9336f26be1985a940248918868980c356d5e94e |
|
MD5 | 0d47b570125327976e4897683cedece0 |
|
BLAKE2b-256 | fc7e473794a8f4bc3e7e3102e8f96b11befd249b03abb8b2b3765716e0684457 |