Blog

AWS SSM-Parameter von einem Konto auf ein anderes kopieren

Mark van Holsteijn

Mark van Holsteijn

Aktualisiert Oktober 21, 2025
3 Minuten

Vor zwei Jahren habe ich ein Dienstprogramm erstellt, um AWS SSM-Parameter von einem Konto auf ein anderes zu kopieren. Ich habe das Dienstprogramm auf pypi.org veröffentlicht, ohne einen Blog darüber zu schreiben. Als ich herausfand, dass viele Leute das Dienstprogramm nutzen, beschloss ich, es in diesem Blog vorzustellen.
Ich habe mich nie getraut, die Existenz dieses Dienstprogramms zu veröffentlichen, da es gegen meine Prinzipien von Infrastruktur als Code
und unveränderlicher Infrastruktur verstößt. Nach zwei Jahren bin ich nun endlich bereit zuzugeben, dass ich es geschrieben habe.

ein Wort der Warnung

Bevor wir fortfahren, sollten Sie wissen, dass dieses Programm in zweierlei Hinsicht gefährlich ist:

  1. können Sie vorhandene Parameterwerte überschreiben
  2. ermöglicht es anderen, Ihre Parameter im Handumdrehen zu exfiltrieren.
    Um dem ersten entgegenzuwirken, müssen Sie explizit darum bitten, vorhandene Werte zu überschreiben. Gegen den zweiten gibt es nichts
    , außer der Erstellung geeigneter Zugriffsrichtlinien. Ich habe mich damit abgefunden, dass Sie alle Geheimnisse auch mit dem folgenden AWS CLI-Standardbefehl extrahieren können:
aws ssm get-parameters-by-path --path / --with-decryption > all-the-secrets.json

Hier ist sie also!

die Installation des Dienstprogramms

Um das Dienstprogramm zu installieren, geben Sie ein:

pip install aws-ssm-copy

Was macht es?

Mit diesem Dienstprogramm können Sie:

  1. Parameter in einem Parameterspeicher in ein anderes Konto kopieren
  2. Parameter im Parameterspeicher in eine andere Region desselben Kontos kopieren
    Sie können:
  3. einzelne Parameter auswählen
  4. einen Pfad zurückverfolgen
  5. Ändern Sie den Zielpfad
    Nachfolgend finden Sie ein paar Beispiele:

Kopieren von Parametern in eine andere Region

Um alle Parameter in eine andere Region zu kopieren, geben Sie ein:

aws-ssm-copy 
   --dry-run 
   --source-region eu-central-1 
   --region eu-west-1 
   --recursive / 

Entfernen Sie die --dry-run, um die Kopie tatsächlich durchzuführen.

Kopieren von Parametern in ein anderes Konto

Um alle Parameter von einem Konto auf ein anderes Konto zu kopieren, geben Sie ein:

aws-ssm-copy 
   --dry-run 
   --source-profile binx-io 
   --recursive /

Entfernen Sie die --dry-run, um die Kopie tatsächlich durchzuführen.

Kopieren von Parametern in einen anderen Pfad

Um alle Parameter in einen anderen Pfad zu kopieren, geben Sie ein:

aws-ssm-copy 
   --dry-run 
   --target-path /old-dev 
   --recursive /dev 

Entfernen Sie die --dry-run, um die Kopie tatsächlich durchzuführen.

andere Optionen

Die anderen verfügbaren Kommandozeilenoptionen sind:

| option | explanation |
| - | - |
| -one-level | one-level copy |
| -overwrite | existing values |
| -keep-going | as much as possible, even after an error |
| -key-id ID | to use for parameter values in the destination |
| -clear-key-id | clear the KMS key id associated with the parameter |

Fazit

Das Dienstprogramm aws-ssm-copy bietet eine einfache Möglichkeit, AWS SSM-Parameter zwischen Regionen und Konten zu kopieren. Sehen Sie sich den Quellcode auf github an und verwenden Sie ihn mit Vorsicht!
Bild von Astrid Schmid aus Pixabay

Verfasst von

Mark van Holsteijn

Mark van Holsteijn is a senior software systems architect at Xebia Cloud-native solutions. He is passionate about removing waste in the software delivery process and keeping things clear and simple.

Contact

Let’s discuss how we can support your journey.