Geheime Informationsverwaltung mit GCP Key Management Service + Python

Hintergrund

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.

Verschlüsselung

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

Mit Python entschlüsseln

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

Geheime Informationsverwaltung mit GCP Key Management Service + Python
Python-Dienst
[50 zählt] Schlüsselübertragung mit Python für Windows
Python-Lernplan für das KI-Lernen Fortschrittsmanagement
Mit dem Evernote SDK für Python 3 erhalten Sie Informationen zu Notizen
Python [für mich]
Von Boto3 verwendete Anmeldeinformationen (AWS SDK für Python)
Schlüsseleingabe, die nicht auf Schlüsseleingabe in Python wartet
Informationen zur Steuerung von Motoren mit Python auf RaspberryPi