Auf dieser Seite werden HMAC-Schlüssel (Hash-basierter Message Authentication Code) beschrieben, mit denen Sie Anfragen an die Cloud Storage XML API authentifizieren können. HMAC-Schlüssel sind nützlich, wenn Sie Daten zwischen anderen Cloud Storage-Anbietern und Cloud Storage verschieben möchten, da Sie mit HMAC-Schlüsseln Ihren vorhandenen Code wiederverwenden können, um auf Cloud Storage zuzugreifen.
Übersicht
Ein HMAC-Schlüssel ist eine Art von Anmeldedaten, die mit einem Konto, in der Regel einem Dienstkonto, verknüpft sind. Mit einem HMAC-Schlüssel können Sie Signaturen mit dem Signaturalgorithmus HMAC-SHA256 erstellen. Die von Ihnen erstellten Signaturen werden dann in Anfragen an die Cloud Storage XML API aufgenommen. Signaturen zeigen, dass eine bestimmte Anfrage vom Konto autorisiert wurde, das mit dem HMAC-Schlüssel verknüpft ist.
HMAC-Schlüssel bestehen aus zwei Hauptteilen: einer Zugriffs-ID und einem Secret.
Zugriffs-ID: Ein alphanumerischer String, der mit einem bestimmten Konto verknüpft ist.
Wenn der String mit einem Dienstkonto verknüpft ist, beträgt der String 61 Zeichen.
Das folgende Beispiel zeigt eine Zugriff-ID:
GOOGTS7C7FUP3AIRVJTE2BCDKINBTES3HC2GY5CBFJDCQ2SYHV6A6XXVTJFSA
Secret: Ein Base-64-codierter String mit 40 Zeichen, der mit einer bestimmten Zugriffs-ID verknüpft ist. Ein Secret ist ein gemeinsamer geheimer Schlüssel, den nur Sie und Cloud Storage kennen. Sie verwenden Ihr Secret als Teil des Authentifizierungsprozesses, um Signaturen zu erstellen. Hier sehen Sie ein Beispiel für ein Secret:
bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ
Sowohl die Zugriffs-ID als auch das Secret dienen zur Identifizierung eines HMAC-Schlüssels. Secrets sind jedoch wesentlich vertraulichere Informationen, da sie zum Erstellen von Signaturen verwendet werden.
Sie können optional die Einschränkung restrictAuthTypes
für eine Ressource aktivieren, die den Zugriff für Anfragen beschränkt, die von HMAC-Schlüsseln signiert wurden.
Secrets speichern
Beim Erstellen eines HMAC-Schlüssels für ein Dienstkonto erhalten Sie das Secret für den Schlüssel ein einziges Mal. Sie müssen das Secret zusammen mit der zugehörigen Zugriffs-ID sicher aufbewahren. Wenn Sie das Secret verlieren, kann es weder von Ihnen noch von Trusted Cloud by S3NSabgerufen werden. Sie müssen dann einen neuen HMAC-Schlüssel für das Dienstkonto erstellen, um Anfragen weiterhin authentifizieren zu können.
Best Practices zum Speichern von Secrets
Geben Sie das HMAC-Schlüssel-Secret nicht weiter. Sie sollten mit HMAC-Schlüssel-Secrets wie mit allen anderen Arten von Anmeldedaten umgehen.
Als bewährte Sicherheitsmethode sollten Sie Ihre Schlüssel im Rahmen einer Schlüsselrotation regelmäßig ändern.
Wenn Sie den Verdacht haben, dass eine andere Person Ihre HMAC-Schlüssel verwendet, sollten Sie die betroffenen HMAC-Schlüssel sofort löschen und neue erstellen.
Wenn Sie HMAC-Schlüssel ändern, sollten Sie Ihren Code mit den neuen HMAC-Schlüsseln aktualisieren, bevor Sie die alten Schlüssel löschen. Wenn Sie HMAC-Schlüssel löschen, werden diese sofort ungültig und können nicht wiederhergestellt werden.
Beschränkungen
Mit HMAC-Schlüsseln können nur Anfragen an die XML API gesendet werden, nicht jedoch an die JSON API.
Pro Dienstkonto können maximal 10 HMAC-Schlüssel verwendet werden. Gelöschte Schlüssel werden nicht auf dieses Limit angerechnet.
Nach der Erstellung kann es bis zu 60 Sekunden dauern, bis der HMAC-Schlüssel eines Dienstkontos verwendet werden kann. Nach dem Löschen eines Dienstkontos funktionieren die zugehörigen HMAC-Schlüssel möglicherweise noch bis zu fünf Minuten lang. Umgekehrt kann es bis zu fünf Minuten dauern, bis die HMAC-Schlüssel wieder verwendet werden können, nachdem das Dienstkonto, zu dem sie gehören, wiederhergestellt wurde.
Wenn Sie die Einschränkung
restrictAuthTypes
für eine Ressource aktivieren, können Sie für den angegebenen Kontotyp in dieser Ressource keine HMAC-Schlüssel mehr erstellen oder aktivieren.
Nächste Schritte
- HMAC-Schlüssel für Ihre Dienstkonten erstellen
- HMAC-Schlüssel in einer authentifizierten Anfrage verwenden