Infrastructure-as-Code: Erweiterte Security und Kontrolle in der Pulumi Cloud

Role-Based Access Control und die Integration von GitHub Actions sollen die Zugangskontrolle und das Secrets-Management auf der IaC-Plattform verbessern.

In Pocket speichern vorlesen Druckansicht
Infrastructure-as-Code: Automatisch planen und aufräumen mit Pulumi Deployments

(Bild: iX)

Lesezeit: 3 Min.

Das Pulumi-Entwicklungsteam erweitert seine Infrastructure-as-Code-(IaC-)Plattform um neue Funktionen zum Automatisieren der Sicherheit und Zugangskontrolle rund um Cloud-Ressourcen. Die Ă„nderungen betreffen unter anderem ein System fĂĽr Role-Based Access Control (RBAC), das automatische Rotieren von Anmeldedaten sowie die Integration von GitHub Actions fĂĽr das Secrets-Management bei der Arbeit mit CI/CD-Pipelines.

In Pulumi ESC (Environment, Secrets und Configuration Management) können Anwenderinnen und Anwender nun die Secrets für statische Anmeldedaten automatisiert rotieren lassen. Ziel ist es, auch in Umgebungen, die nicht auf dynamische Anmeldedaten umgestellt sind oder wurden, die Sicherheit zu erhöhen und Compliance-Anforderungen besser erfüllen zu können. Die Funktion Rotated Secrets erlaubt es dazu, den Wechsel bei Bedarf einzuleiten oder über einen Rotationsplan gezielt zu steuern. Sie folgt dabei einer Zwei-Secrets-Strategie, sodass in der Übergangsphase jeweils beide Anmeldeinformationen zur Verfügung stehen. Um sämtliche Änderungen nachvollziehen und prüfen zu können, hält Rotated Secrets jeweils den Zeitpunkt des Wechsels fest und wer zugegriffen hat.

Als Alternative zu statischen Secrets und Anmeldedaten ermöglicht es die Integration von GitHub Actions in Pulumi ESC Entwicklungsteams jetzt, diese Informationen dynamisch nach Bedarf in ihre Workflows einzufügen und zu rotieren. In den GitHub Actions Workflows lassen sich zudem beliebige ESC-Kommandos ausführen, beispielsweise um im Rahmen eines CI/CD-Prozesses ESC-Umgebungen anzulegen, zu aktualisieren oder abzuschalten. Dazu kann die GitHub Action die Pulumi ESC CLI herunterladen und entweder alle Umgebungsvariablen – oder auch nur bestimmte – aus einer ESC-Umgebung einfügen. Das folgende Listing zeigt beispielhaft, wie ein einfacher Workflow in GitHub aufgebaut sein kann, von der Anmeldung in der Pulumi Cloud bis zum Einfügen der Umgebungsvariablen:

on:
  - pull_request

permissions:
  id-token: write
  contents: read

jobs:
  test-env-injection:
    runs-on: ubuntu-latest
    steps:
      - name: Check out repository
        uses: actions/checkout@v4
      - name: Authenticate with Pulumi Cloud
        uses: pulumi/auth-actions@v1
        with:
          organization: pulumi
          requested-token-type: urn:pulumi:token-type:access_token:organization
      - name: Install and inject ESC environment variables
        uses: pulumi/esc-action@v1
        with:
          environment: 'tinyco/someProject/myEnv@stable'
      - name: Verify environment variables
        run: |
          echo "FOO=$FOO"
          echo "SOME_IMPORTANT_KEY=$SOME_IMPORTANT_KEY"
          echo "TEST_ENV=$TEST_ENV"

Um innerhalb einer Organisation die Kontrolle darüber, wer auf Ressourcen zugreifen und diese ändern darf, besser verwalten zu können, führt Pulumi ein System für Role-Based Access Control (RBAC) ein. Das System soll einheitlich über alle Produkte in der Pulumi Cloud arbeiten und den Zugriff auf Ressourcen wie IaC-Stacks, ESC-Umgebungen und Insights-Konten regeln. Anwenderinnen und Anwender können somit die spezifischen Berechtigungen für den Zugriff auf Benutzer- und Team-Ebene detailliert konfigurieren. Über rollenbasierte Zugriffstoken lässt sich zudem steuern, dass auch automatisierte Prozesse nur über die jeweils erforderlichen Berechtigungen verfügen.

Die neuen Funktionen Rotated Secrets, die Integration der GitHub Actions sowie auch eine Erweiterung der Policy-as-Code-Fähigkeiten in Pulumi Insights stehen Anwenderinnen und Anwendern bereits in vollem Umfang zur Verfügung. Für das angekündigte RBAC-System soll der konkrete Starttermin in Kürze folgen.

(map)