Dapr安全特性与Actor模型深度解析
1. Dapr安全特性概述
Dapr目前提供了一系列安全特性,包括秘密存储、秘密API和相互TLS(mTLS)。这些特性旨在保护应用程序的敏感信息和通信安全。
2. 秘密存储
秘密存储用于存储诸如证书和密码等敏感信息。与数据库不同,秘密存储应用了额外的机制和约束来进一步保护所保存的信息,具体如下:
- 受限的API表面和访问控制 :通常需要特定的凭证和服务器角色。
- 静态加密 :一些秘密存储会使用存储控制的密钥或用户提供的密钥对静态秘密数据进行自动加密。Kubernetes秘密存储默认将秘密以Base - 64编码的数据形式保存在底层的etcd存储中,数据默认不加密,但可以选择启用静态加密。
- 硬件保护 :像Azure Key Vault这样的安全存储使用硬件安全模块(HSM)通过专用硬件来保护秘密。
Dapr通过秘密存储接口支持可插拔的秘密存储,目前支持的秘密存储包括:
- Kubernetes秘密存储
- Azure Key Vault
- HashiCorp Vault
- AWS Secrets Manager
- Google Cloud KMS
- Google Secret Manager
Dapr对Kubernetes秘密存储提供内置支持,无需特定配置。其他秘密存储可以通过秘密存储描述清单进行描述。例如,以下清单描述了一个Azure Key Vault: