FAQ für App ID

Hier finden Sie Antworten auf häufig gestellte Fragen (FAQs = Frequently Asked Questions) zum IBM Cloud® App ID-Service.

Warum muss ich meinen Umleitungs-URI zulassen?

Ein Weiterleitungs-URI ist der Callback-Endpunkt Ihrer Anwendung. Wenn Sie Ihren URI in die Zulassungsliste aufnehmen, geben Sie App ID die Möglichkeit, Ihre Benutzer an diese Position zu senden. Zur Laufzeit überprüft App ID den URI anhand Ihrer Zulassungsliste, bevor der Benutzer umgeleitet wird. Dieser Prozess kann dazu beitragen, Phishing-Angriffe zu verhindern und verringert die Möglichkeit, dass ein Angreifer Zugriff auf die Tokens Ihres Benutzers erhält. Weitere Informationen zu Weiterleitungs-URIs finden Sie in Weiterleitungs-URIs hinzufügen.

Schließen Sie keine Abfrageparameter in Ihre URL ein. Diese werden im Validierungsprozess ignoriert. Beispiel-URL: http://host:[port]/path

Wie funktioniert die Verschlüsselung in App ID?

In der folgenden Tabelle finden Sie Antworten auf häufige Fragen zur Verschlüsselung.

Häufig gestellte Fragen zum Umgang mit Verschlüsselung App ID
Frage Antwort
Wozu dient die Verschlüsselung? Eine Möglichkeit, die Informationen unserer Benutzer zu schützen, ist die Verschlüsselung von Kundendaten im Ruhezustand und bei der Übertragung. Der Service verschlüsselt ruhende Kundendaten mit Tenant-spezifischen Schlüsseln und erzwingt TLS 1.2+ in allen Netzsegmenten.
Welche Algorithmen werden in App ID verwendet? Der Service verwendet AES und SHA-256 mit Salting.
Werden öffentliche oder Open-Source-Verschlüsselungsmodule oder -provider verwendet? Werden die Verschlüsselungsfunktionen offengelegt? Der Service verwendet avax.crypto-Java-Bibliotheken, stellt aber nie eine Verschlüsselungsfunktion zur Verfügung.
Wie werden Schlüssel gespeichert? Schlüssel werden generiert, mit einem Hauptschlüssel verschlüsselt, der für jede Region spezifisch ist, und dann lokal gespeichert. Die Hauptschlüssel werden in Key Protect gespeichert. Jede Region verfügt über einen eigenen Root-of-Trust-Schlüssel, der in Key Protect gespeichert wird, das von HSM gesichert wird. Jede Serviceinstanz (Tenant) verfügt über eigene Datenverschlüsselungs- und Tokensignaturschlüssel, die mit dem Root-of-Trust-Schlüssel der Region verschlüsselt sind.
Welche Schlüssellänge wird verwendet? Der Service verwendet 16 Byte.
Rufen Sie Remote-APIs auf, die Verschlüsselungsfunktionen bereitstellen Nein.

Welche Uhrzeit-Synchronisation verwendet App ID?

App ID wird in IBM Cloud ausgeführt, das einen internen NTP-Server verwendet: servertime.service.softlayer.com.

Das Synchronisieren Ihrer Anwendung mit der Uhrzeitquelle von App ID ist davon abhängig, welche Umgebung Sie für die Ausführung Ihrer Anwendung verwenden.

  • Wenn Ihre Anwendung in der klassischen IBM Cloud-Infrastruktur ausgeführt wird, setzen Sie Ihre NTP-Server auf servertime.service.softlayer.com.
  • Wenn Ihre Anwendung in IBM Cloud VPC Infrastructure ausgeführt wird, setzen Sie Ihre NTP-Server auf time.adn.networklayer.com.
  • Wenn Ihre Anwendung nicht in IBM Cloud ausgeführt wird, haben Sie keinen Zugriff auf diese Zeitserver. In diesem Fall setzen Sie Ihre NTP-Server auf time-a.nist.gov oder time-b.nist.gov.

Was ist der Unterschied zwischen App ID und Keycloak?

Sowohl App ID als auch Keycloak können verwendet werden, um eine Authentifizierung für Anwendungen und sichere Services bereitzustellen. Der Hauptunterschied zwischen den beiden Angeboten besteht in der Art ihrer Packung.

Keycloak ist als Software gepackt, was bedeutet, dass der Entwickler nach dem Herunterladen für die Verwaltung der Funktionen verantwortlich ist. Er ist verantwortlich für das Hosting, die Hochverfügbarkeit, die Compliance, Sicherungen, DDoS-Schutz, Lastausgleich, Web-Firewalls, Datenbanken, usw.

App ID ist ein vollständig verwaltetes Angebot, das 'As-a-Service' bereitgestellt wird. Dies bedeutet, dass IBM für den Betrieb des Service zuständig ist, die Konformität, die Verfügbarkeit in mehreren Zonen, das SLA und vieles mehr handhabt. App ID verfügt über eine integrierte Erfahrung mit IBM Cloud Platform, die native Laufzeiten und Services wie Kubernetes Service, Cloud Functionsund Activity Tracker umfasst.

Kann ich dieselbe Client-ID in mehr als einer Anwendung verwenden?

Obwohl Sie technisch gesehen _can_ dieselben Berechtigungsnachweise in mehreren Anwendungen verwenden, wird empfohlen, dies aus mehreren Gründen nicht zu tun. Vor allem, denn wenn Sie Ihre ID anwendungsübergreifend nutzen, wirkt sich jede Art von Attacke oder Kompromittierung auf Ihre gesamte Umgebung aus und nicht auf eine Anwendung. Wenn Sie beispielsweise Ihre ID für drei Anwendungen verwenden und eine davon kompromittiert wird, werden alle drei kompromittiert. Ein Angreifer kann die Identität Ihrer Apps annehmen. Der zweite Grund ist, dass es keine Möglichkeit gibt, zwischen Anwendungen zu unterscheiden, wenn Sie dieselbe Client-ID in mehreren Apps verwenden. Sie wissen zum Beispiel nicht, welche App zum Generieren eines Tokens verwendet wurde.

Wie kann ich meine Anwendung so aktualisieren, das sie eine neue Serviceinstanz verwendet, ohne dass dabei Daten verloren gehen?

Sie können die Informationen in einer Instanz von App ID auf eine andere Instanz migrieren.

  1. Erstellen Sie eine Instanz des Service.
  2. Duplizieren Sie die Konfiguration des Identitätsproviders mithilfe der grafischen Benutzerschnittstelle.
  3. Migrieren Sie Ihre Benutzerprofile. Bekannte Benutzer werden als JSON-Objekt exportiert. Anonyme Benutzer können nicht migriert werden. Sie können wählen, ob Sie das gesamte Objekt in die neue Instanz importieren oder es aufbrechen und die Benutzer nach Bedarf aufteilen, wenn Sie mehr als eine Instanz haben. Für Cloud Directory lesen Sie den Abschnitt Benutzer migrieren. Für föderierte Identitätsprovider gehen Sie anhand der folgenden Schritte vor.
  4. Erstellen Sie Anwendungsberechtigungsnachweise zum Aufrufen der neuen Serviceinstanz.
    1. Navigieren Sie im Service-Dashboard zur Registerkarte Anwendungen.
    2. Klicken Sie auf Anwendung hinzufügen und geben Sie Ihrer Anwendung einen Namen. Klicken Sie anschließend auf Speichern.
    3. Klicken Sie in der Tabelle auf Berechtigungsnachweise anzeigen und kopieren Sie die Ausgabe.
    4. Fügen Sie Ihre neuen Berechtigungsnachweise in Ihre Anwendung ein.
  5. Aktualisieren Sie Ihre Anwendung für die Verwendung der neuen Berechtigungsnachweise einschließlich aller URLs.
  6. Abhängig von Ihrer Konfiguration müssen Sie möglicherweise Ihre Anwendung erneut bereitstellen oder ihre Bindung aufheben und neu herstellen.

Kann App ID bei der Konfiguration der Abmeldung helfen?

Je nachdem, wie Sie Ihre Anwendung konfigurieren, kann App ID dabei helfen, eine Abmeldefunktion für Ihre Benutzer zu ermöglichen. In der folgenden Tabelle finden Sie Informationen dazu, wo die Funktionalität für die Abmeldung verfügbar ist.

Optionen für die Abmeldefunktion
Beschreibung
App ID-SDKs Die App ID -SDKs verfügen über eine integrierte Abmeldefunktion.
Cloudverzeichnis-SSO[1] App ID stellt integrierte Abmeldefunktionalität für das Feature Cloud Directory SSO bereit.
Ingress Ingress bietet eine integrierte Abmeldefunktionalität.
Istio Der Istio-Adapter ist so konfiguriert, dass er Abmeldefunktionalität durch Open ID Connect (OIDC) bereitstellt.

Abmeldung konfigurieren

Um die Abmeldung zu konfigurieren, müssen Sie Ihre Anwendung so konfigurieren, dass sie eine Anforderung an Ihren Identitätsprovider sendet. Anschließend können Sie den Benutzer zu einem Bereich Ihrer Anwendung umleiten, der keine Authentifizierung erfordert. In den meisten Anwendungsfällen kann eine Anwendungsserversitzung von den App ID SDKs, Ingress oder Istio festgelegt werden, die in Partnerschaft mit einem föderierten Identitätsprovider wie SAML oder Cloudverzeichnis arbeitet, um die Authentifizierung und Autorisierung zu aktivieren.

Im folgenden HTML-Beispiel wird ein App ID-SDK verwendet, um die Abmeldung zu konfigurieren. Wenn Sie eine andere Option verwenden, können Sie dieses Snippet zur Orientierung verwenden und an Ihre Bedürfnisse anpassen.

<script>
  var ticker = setInterval(tick, 1000);
  var counter = 5;
  function tick() {
    var timerDiv = document.getElementById("timer");
    if (counter > 0) {
      timerDiv.innerText = "Logged out. Redirecting back in " + (counter--) + " seconds.";
    } else {
      document.location = "./appid_logout";
    }
  } </script>
<iframe height="0" width="0" src="https://login.microsoftonline.com/common/wsfederation?wa=wsignout1.0"></iframe>

  1. Alle Umleitungs-URLs, die mit der Cloud Directory SSO-Funktion verwendet werden, müssen zur Abmeldeliste URL in der App ID UI hinzugefügt werden. ↩︎