Ich möchte geheime Informationen mit einer Python-App verwalten. Dieses Mal werden geheime Informationen von yaml verwaltet. Verwenden Sie zum Ver- und Entschlüsseln den [Key Management Service] von GCP (https://cloud.google.com/kms?hl=ja). Entschlüsseln Sie es mit einer Python-App, damit es verwendet werden kann.
Erstellen Sie einen Schlüssellink und einen Schlüssel unter Schnellstart.
Erstellen Sie zunächst eine Yaml-Datei mit geheimen Informationen
sample_secret.yaml
HOGE_SECRET: HOGEHOGE
FUGA_SECRET: FUGAFUGA
Verschlüsseln Sie dies wie folgt und erstellen Sie "sample_secret.yml.encrypted"
gcloud kms encrypt --location global --keyring test --key quickstart
--plaintext-file sample_secret.yml
--ciphertext-file sample_secret.yml.encrypted
Gehen Sie wie folgt vor, wenn Sie es in einer Python-App verwenden.
f = open("/path/to/sample_secret.yml.encrypted", "rb")
client = kms_v1.KeyManagementServiceClient()
name = client.crypto_key_path_path(
'YOUR_PROJECT',
'global',
'test',
'quickstart'
)
res = client.decrypt(name, f.read())
data = yaml.load(res.plaintext, Loader=yaml.BaseLoader)
print(data)
Die verschlüsselte geheime Datei sollte von git verwaltet werden, und die unverschlüsselte sollte von .gitignore als Ziel ausgewählt werden.
Recommended Posts