# Best Practices für die Verwaltung von API-Geheimschlüsseln Erfahren Sie, wie Sie geheime API-Schlüssel verwalten und mit offengelegten oder kompromittierten Schlüsseln umgehen. Geheime API-Schlüssel sind eine Form von Kontoanmeldedaten, ähnlich wie Benutzername und Passwort. Im Gegensatz zu veröffentlichbaren Schlüsseln, die sicher in Webseiten und Apps eingebunden werden können, müssen geheime Schlüssel in Ihrer Serverumgebung verbleiben. Wenn eine unbefugte Person Ihren geheimen API-Schlüssel erhält, kann sie unbefugte Abbuchungen vornehmen, auf Kundendaten zugreifen oder Ihre Integration stören. ## Schützen Sie geheime API-Schlüssel Sie müssen Ihre geheimen API-Schlüssel in jeder Phase der Entwicklung sicher handhaben und speichern, um sie vor Offenlegung oder Kompromittierung zu schützen. - **Geheime API-Schlüssel niemals in Quellcode einfügen**: Böswillige Akteurinnen und Akteure scannen öffentliche Repositorys kontinuierlich nach API-Schlüsseln von Stripe. Selbst private Repositorys können in Entwicklungsumgebungen offengelegt werden. - Verwenden Sie die Tools zur Verwaltung von Geheimschlüsseln Ihrer Plattform (z. B. einen Geheimschlüsseltresor) oder Umgebungsvariablen, um API-Schlüssel für Ihren Integrationscode bereitzustellen. - Überprüfen Sie regelmäßig Ihren Quellcode, Ihre Konfigurationsdateien und Ihre CI/CD-Pipelines auf sensible Schlüssel, indem Sie nach `sk_live_` und `rk_live_` suchen. Wenn Sie einen sensiblen Schlüssel finden, gehen Sie davon aus, dass er [offengelegt und kompromittiert](https://docs.stripe.com/keys-best-practices.md#handling-compromised-keys) wurde. - Verwenden Sie einen Pre-Commit-Hook in Ihrem Versionskontrollsystem, um Commits abzulehnen, die Zeichenfolgen enthalten, die diesen Mustern entsprechen. - Codeausschnitte in der Stripe-Dokumentation enthalten manchmal nur zu Illustrationszwecken Schlüssel. Fügen Sie keine echten Schlüssel in Ihren Code ein. - **Betten Sie geheime API-Schlüssel niemals in Anwendungen ein**: Unbefugte können Anwendungen entpacken, um nach eingebetteten Schlüsseln zu suchen. Verwenden Sie für clientseitige Anwendungsfälle wie Client-Tools, SDKs und mobile Apps stattdessen [veröffentlichbare Schlüssel](https://docs.stripe.com/keys.md#obtain-api-keys). - **Befolgen Sie das Prinzip der geringsten Berechtigungen**: Personen und Systeme dürfen *nur die Berechtigungen haben, die für die Ausübung ihrer Arbeit erforderlich sind*. - Legen Sie klare Richtlinien fest, welche Teammitglieder die Berechtigung zum Erstellen, Aktualisieren oder Lesen geheimer API-Schlüssel haben. Beschränken Sie den Zugriff auf diejenigen, die ihn benötigen, und überprüfen Sie die Schlüsselberechtigungen regelmäßig. - Halten Sie die Dokumentation zum Umgang mit geheimen API-Schlüsseln in Ihrem Unternehmen stets auf dem neuesten Stand. Führen Sie regelmäßig Schulungen durch, um Best Practices zu festigen. - **Gehen Sie sorgfältig mit geheimen API-Schlüsseln um**: Wenn Sie einen geheimen API-Schlüssel im Stripe-Dashboard erstellen, wird dieser nur einmal angezeigt. Speichern Sie den Schlüssel umgehend im Geheimnisverwaltungstool Ihrer Plattform oder in einer Umgebungsvariablen und speichern Sie ihn an keiner anderen Stelle. - Geben Sie geheime API-Schlüssel über die Tools zur Geheimnisverwaltung Ihrer Plattform weiter – nicht via E-Mail, Chat-Nachrichten oder Kundensupport-Nachrichten. **Stripe fragt Sie niemals nach Ihrem geheimen API-Schlüssel.** - Verwenden Sie [eingeschränkte API-Schlüssel](https://docs.stripe.com/keys-best-practices.md#limit-access) mit begrenzten Berechtigungen anstelle von uneingeschränkten geheimen API-Schlüsseln. - **Rotieren Sie geheime API-Schlüssel regelmäßig**: Legen Sie einen Prozess für die [Rotation Ihrer Stripe-API-Schlüssel fest](https://docs.stripe.com/keys.md#rolling-keys) und setzen Sie diesen konsequent um. Durch regelmäßige Rotation stellen Sie sicher, dass Sie wissen, wo jeder Schlüssel verwendet wird, und dass Ihr Team einen Schlüssel kurzfristig ersetzen kann. Erstellen Sie einen Notfallplan, damit Ihr Team im Falle einer Offenlegung oder Kompromittierung eines Schlüssels mit minimalen Auswirkungen auf Ihr Unternehmen reagieren kann. - **Prüfen Sie die Logs von API-Anfragen, um verdächtige Aktivitäten zu überwachen.** Prüfen oder überwachen Sie die Logs von API-[Anfragen](https://docs.stripe.com/development/dashboard/request-logs.md) regelmäßig, um missbräuchlich verwendete API-Schlüssel proaktiv zu identifizieren. Stellen Sie sicher, dass Ihre Entwickler/innen keine Live-Schlüssel verwenden, wenn ein *Sandbox* (A sandbox is an isolated test environment that allows you to test Stripe functionality in your account without affecting your live integration. Use sandboxes to safely experiment with new features and changes)-Schlüssel angemessen ist. Siehe [Sandbox versus Live-Modus](https://docs.stripe.com/keys.md#test-live-modes). ## API-Zugriff mit eingeschränkten API-Schlüsseln anpassen Anstelle von geheimen API-Schlüsseln mit umfassenden Zugriffsrechten können Sie [eingeschränkte API-Schlüssel](https://docs.stripe.com/keys.md#create-restricted-api-secret-key) erstellen, um Personen und Systemen bestimmte Berechtigungen zuzuweisen. Beispielsweise können Sie Ihrem Rechnungsstellungssystem die Berechtigung zum Verwalten von Rechnungen erteilen, ohne weitere Zugriffsrechte zu gewähren. Eingeschränkte API-Schlüssel helfen Ihnen, die potenziellen Auswirkungen einer Kompromittierung zu begrenzen. Wenn Sie beispielsweise einen Stripe-API-Schlüssel an einen Dritten weitergeben müssen, der Zahlungsanfechtungen überwacht, können Sie einen eingeschränkten API-Schlüssel erstellen, der Lesezugriff auf zutreffende Ressourcen in Ihrem Stripe-Konto gewährt und alles andere blockiert. Sollte der Dritte kompromittiert werden, wäre ein/e Angreifer/in, der Ihren eingeschränkten API-Schlüssel gestohlen hat, auf diese API-Aufrufe beschränkt. ## IP-Adressen beschränken, die API-Anfragen senden können Wenn Ihr Dienst API-Anfragen von stabilen IP-Adressen sendet, können Sie Ihre geheimen oder eingeschränkten API-Schlüssel auf diese Adressen beschränken. Wenn Ihre Plattform beispielsweise ein dediziertes NAT-Gateway oder eine andere Möglichkeit zur Rückstellung einer IP-Adresse oder eines IP-Adressbereichs bietet, können Sie Stripe so konfigurieren, dass API-Anfragen mit Ihren Schlüsseln von anderen Standorten blockiert werden. Anweisungen dazu, wie Sie einen Schlüssel auf eine oder mehrere IP-Adressen beschränken können, finden Sie unter [So beschränken Sie geheime oder eingeschränkte Schlüssel](https://docs.stripe.com/keys.md#limit-api-secret-keys-ip-address). ## Umgang mit kompromittierten geheimen API-Schlüsseln Sollte ein geheimer API-Schlüssel offengelegt oder kompromittiert worden sein, ersetzen Sie ihn umgehend, auch wenn Sie nicht sicher sind, ob jemand ihn gesehen hat. Behandeln Sie jede Offenlegung als potenzielle Kompromittierung. - *Offenlegung* bedeutet, dass der Schlüssel an einem Ort sichtbar wurde, an dem er nicht sichtbar sein sollte, z. B. in einem öffentlichen Repository, einer Protokolldatei oder einer E-Mail. - *Kompromittierung* bedeutet, dass es Hinweise auf eine unbefugte Verwendung des Schlüssels gibt. ### Reagieren Sie auf eine Offenlegung oder Kompromittierung des Schlüssels Befolgen Sie bitte die folgenden Schritte, wenn Sie feststellen, dass ein geheimer API-Schlüssel offengelegt oder kompromittiert wurde: 1. **Rotieren Sie den betroffenen Schlüssel umgehend.** [Rotieren Sie den Schlüssel](https://docs.stripe.com/keys.md#rolling-keys) im [Stripe-Dashboard](https://dashboard.stripe.com/apikeys) und ersetzen Sie ihn in Ihrer Integration. Wenn Sie eine verzögerte Ablaufzeit für den alten Schlüssel festlegen, um Ausfallzeiten zu vermeiden, halten Sie das Zeitfenster so kurz wie möglich. 1. **Bestimmen Sie, welche Schlüssel rotiert werden sollen.** Rotieren Sie mindestens den spezifischen Schlüssel, der offengelegt wurde. Wenn der Umfang der Offenlegung unklar ist – beispielsweise wenn ein Server oder ein Credential Store kompromittiert wurde – rotieren Sie alle geheimen und eingeschränkten API-Schlüssel in Ihrem Konto. 1. **Überprüfen Sie Ihre API-Anforderungs-Logs.** Überprüfen Sie die [API-Anforderungs-Logs](https://docs.stripe.com/development/dashboard/request-logs.md) für den betroffenen Schlüssel. Achten Sie auf Anfragen, die Sie nicht erkennen, unerwartete IP-Adressen oder ungewöhnliche Muster wie Volumenspitzen oder Aufrufe von Stripe-APIs, die Ihre Integration normalerweise nicht verwendet. 1. **Wenden Sie sich an den Stripe-Support, wenn Sie unbekannte Aktivitäten feststellen.** Wenn Ihre Anforderungs-Logs Aktivitäten aufweisen, die Sie nicht erklären können, wenden Sie sich an den [Stripe-Support](https://support.stripe.com/), um Hilfe bei der Untersuchung und Minderung der Auswirkungen zu erhalten. ### Proaktiver Schlüsselschutz von Stripe Wenn Stripe einen offengelegten geheimen oder eingeschränkten API-Schlüssel erkennt, benachrichtigen wir Sie und bitten Sie, den Schlüssel zu rotieren. In einigen Fällen deaktiviert Stripe den Schlüssel proaktiv und informiert Sie über alle von uns ergriffenen Maßnahmen. Stripe garantiert nicht, dass alle offengelegten oder kompromittierten Schlüssel erkannt werden. Die Befolgung dieser bewährten Verfahren hilft Ihnen, die Offenlegung von Schlüsseln zu verhindern und Ihre Integration mit Stripe sicher zu halten. ## See also - [API-Schlüssel](https://docs.stripe.com/keys.md) - [Schutz vor kompromittierten API-Schlüsseln](https://support.stripe.com/questions/protecting-against-compromised-api-keys)