IBM Cloud Docs
Profile verwalten

Profile verwalten

Mit IBM Cloud® App ID können Sie Informationen zu den einzelnen Benutzern Ihrer Anwendung in einem Profil kompilieren. Die Informationen im Profil können darauf beruhen, wie die Benutzer mit Ihrer App interagieren oder von Ihnen in ihrem Auftrag hinzugefügt werden. Wenn Sie diese Informationen speichern, können Sie auf sie zugreifen, um personalisierte Erfahrungen mit Ihrer App für Ihre Benutzer zu erstellen.

Suchen Sie nach Informationen zu den Cloud Directory-Benutzern? Weitere Informationen finden Sie unter Benutzer verwalten.

Anzeigen von Benutzerprofilen in der Konsole

Sie können die Daten, die für die Benutzer Ihrer App verfügbar sind, mit der Benutzerschnittstelle (UI) von App ID anzeigen.

  1. Navigieren Sie zur Registerkarte Benutzerprofile > Profile Ihrer App ID-Instanz.

  2. Durchsuchen Sie die Tabelle oder suchen Sie mithilfe einer E-Mail-Adresse, um den Benutzer zu finden, für den Sie die Informationen anzeigen möchten. Der Suchbegriff muss genau sein.

  3. Klicken Sie im Überlaufmenü der Zeile des Benutzers auf Benutzerprofil anzeigen. Es wird eine Seite geöffnet, auf der die Informationen des Benutzers enthalten sind. In der folgenden Tabelle sehen Sie, welche Informationen angezeigt werden.

    Benutzerdetails wie im App ID Dashboard angezeigt
    Detail Beschreibung
    IDP-ID Die IDP-ID wird von dem Provider ausgegeben, mit dem sich Ihr Benutzer bei Ihrer Anwendung angemeldet hat.
    E-Mail Die primäre E-Mail-Adresse, die dem Benutzer zugeordnet ist.
    Name Der Vor- und Nachname des Benutzers, wie vom Identitätsprovider ausgegeben.
    Identitätsprovider Der Provider, mit dem sich Ihr Benutzer angemeldet hat.
    ID Die ID, die dem Benutzer von App ID zugeordnet wird.
    Angepasste Attribute Angepasste Attribute sind zusätzliche Informationen, die zu einem Profil hinzugefügt werden oder die während der Interaktion des Benutzers mit der Anwendung erfasst werden.
    Zusammenfassung Alle Informationen, die diesem Benutzer zugeordnet sind, werden als JSON-Objekt angezeigt.

Benutzerprofile mit der Anwendungsprogrammierschnittstelle anzeigen

Sie können in der App ID-API Details zu den App-Benutzern anzeigen.

  1. Rufen Sie Ihre Tenant-ID von der Instanz des Service ab. Sie finden die ID in Ihren Service- oder Anwendungsberechtigungsnachweisen.

  2. Durchsuchen Sie Ihre App ID-Benutzer mit einer Abfrage, mit der sich diese identifizieren lassen, zum Beispiel über eine E-Mail-Adresse, um die Benutzer-ID zu finden.

    curl -X GET "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/Users?query=<identifyingSearchQuery>" \
    -H "accept: application/json" \
    -H "authorization: Bearer <token>"
    

    Beispiel:

    curl -X GET https://us-south.appid.cloud.ibm.com/management/v4/e19a2778-3262-4986-8875-8khjafsdkhjsdafkjh/cloud_directory/Users?query=example@domain.com -H "accept: application/json" -H "authorization: Bearer eyJraWQiOiIyMDE3MTEyOSIsImFsZ...."
    
  3. Erstellen Sie mithilfe der im vorherigen Schritt abgerufenen ID eine GET-Anforderung für den Endpunkt /users, um das vollständige Benutzerprofil anzuzeigen.

    curl -X GET "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/users/<userID>/profile" \
    -H "accept: application/json" \
    -H "authorization: Bearer <token>"
    

    Beispielantwort:

    {
       "id": "a0791903-ed4c-41cf-bd0e-a37957dad820",
       "name": "David Test-user",
       "email": "dave.test@domain.com",
       "picture": "https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=11122233344455566&height=50&width=50&ext=1569429199&hash=AaAaAAAAAaAAAaaA",
       "identities": [
          {
          "provider": "facebook",
          "id": "11122233344455566",
          "idpUserInfo": {
                "id": "11122233344455566",
                "name": "David Test-user",
                "picture": {
                "data": {
                   "height": 50,
                   "is_silhouette": false,
                   "url": "https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=11122233344455566&height=50&width=50&ext=1569429199&hash=AaAaAAAAAaAAAaaA",
                   "width": 50
                }
                },
                "first_name": "David",
                "last_name": "Test-user",
                "email": "dave.test@domain.com",
                "idpType": "facebook"
          }
          }
       ],
       "attributes": {
          "role": "admin"
       }
    }
    

    Den vollständigen Benutzerdatensatz, den App ID unterstützt, können Sie im SCIM-Kernschema nachlesen.

Benutzerdefinierte Attribute in der Konsole einstellen

Durch Festlegen eines angepassten Attributs können Sie angepasste Informationen über Ihre Benutzer zu deren Profil hinzufügen, wie z. B. eine Rolle, die sie innehaben, oder eine für sie gültige Vorgabe. Zum Festlegen eines Attributs können Sie die Benutzerschnittstelle (UI) von App ID verwenden.

Angepasste Attribute können standardmäßig geändert werden und können mit einem App ID-Zugriffstoken von einer Clientanwendung aus aktualisiert werden. Ohne geeignete Vorsichtsmaßnahmen kann entweder der Benutzer oder die Anwendung angepasste Attribute unmittelbar nach der ersten Benutzeranmeldung aktualisieren, wenn sie über ein Zugriffstoken verfügen. Dies kann unbeabsichtigte Folgen haben. Ein Benutzer könnte beispielsweise seine Rolle von 'Benutzer' in 'Administrator' ändern. Dadurch könnten Administratorberechtigungen in die falschen Hände gelangen.

  1. Wechseln Sie zur Registerkarte Benutzerprofile > Einstellungen im App ID-Dashboard.

  2. Legen Sie für angepasste Attribute die Einstellung Aktiviert fest.

  3. Klicken Sie im Überlaufmenü der Zeile für den Benutzer, für den Sie das Attribut festlegen möchten, auf Profil anzeigen.

  4. Klicken Sie im Abschnitt Angepasste Attribute auf Bearbeiten.

  5. Geben Sie die Attribute ein, die Sie als JSON-Objekt hinzufügen möchten. Beispiel: {"role":"admin"}.

Angepasste Attribute mit der Anwendungsprogrammierschnittstelle festlegen

Als Administrator können Sie durch Festlegen eines angepassten Attributs angepasste Informationen über Ihre Benutzer zu deren Profil hinzufügen, wie z. B. eine Rolle, die sie innehaben, oder eine für sie gültige Vorgabe. Zum Festlegen eines Attributs können Sie die Anwendungsprogrammierschnittstelle (API) von App ID verwenden, um den Endpunkt /users aufzurufen. Um angepasste Attribute festzulegen, bevor sich ein Benutzer erstmalig bei Ihrer Anwendung anmeldet, lesen Sie die Informationen im Abschnitt Zukünftige Benutzer vorab registrieren.

Angepasste Attribute können standardmäßig geändert werden und können mit einem App ID-Zugriffstoken von einer Clientanwendung aus aktualisiert werden. Dies bedeutet, dass der Benutzer oder die Anwendung ohne besondere Vorsichtsmaßnahmen die angepassten Attribute unmittelbar nach der ersten Anmeldung aktualisieren kann, vorausgesetzt, es besteht Zugriff auf ein Zugriffstoken. Dies kann unbeabsichtigte Folgen haben. Ein Benutzer könnte beispielsweise seine Rolle von 'Benutzer' in 'Administrator' ändern. Dadurch könnten Administratorberechtigungen in die falschen Hände gelangen.

  1. Wechseln Sie zur Registerkarte Benutzerprofile > Einstellungen im App ID-Dashboard.

  2. Legen Sie für angepasste Attribute die Einstellung Aktiviert fest.

  3. Rufen Sie ein IAM-Token ab.

    1. Klicken Sie im IBM Cloud-Dashboard auf Verwalten > Zugriff (IAM).

    2. Wählen Sie IBM Cloud-API-Schlüssel aus.

    3. Klicken Sie auf Erstellen eines IBM Cloud-API-Schlüssels.

    4. Geben Sie dem Schlüssel einen Namen und beschreiben Sie ihn. Klicken Sie auf Erstellen. Daraufhin wird eine Anzeige mit Ihrem Schlüssel geöffnet.

    5. Klicken Sie auf Kopieren oder Herunterladen, um auf Ihren Schlüssel zuzugreifen. Wenn Sie die Anzeige schließen, können Sie nicht mehr auf den Schlüssel zugreifen.

    6. Erstellen Sie die folgende cURL-Anforderung mit dem von Ihnen erstellten API-Schlüssel.

      curl -k -X POST \
      --header "Content-Type: application/x-www-form-urlencoded" \
      --header "Accept: application/json" \
      --data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
      --data-urlencode "apikey=<apikey>" \
      "https://iam.cloud.ibm.com/identity/token"
      
  4. Erstellen Sie eine PUT-Anforderung an einen der beiden /users-Endpunkte.

    curl -X PUT "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/users/<userID>/profile" \
    -H "accept: application/json" \
    -H "Content-Type: application/json" \
    -H "authorization: Bearer <token>"
    -d "{ \"attributes\": { \"points\": \"150\" } { \"role\": \"admin\" }}"
    

Löschung eines Profils in der Konsole

Als Administrator können Sie eine Person als Benutzer Ihrer Anwendung entfernen, indem Sie das Profil des jeweiligen Benutzers löschen.

  1. Navigieren Sie zur Registerkarte Benutzerprofile > Profile Ihrer App ID-Instanz.

  2. Durchsuchen Sie die Tabelle oder suchen Sie mithilfe einer E-Mail-Adresse, um den Benutzer zu finden, für den Sie die Informationen anzeigen möchten. Der Suchbegriff muss genau sein.

  3. Klicken Sie im Überlaufmenü der Zeile des Benutzers auf Löschen. Daraufhin wird eine Bestätigungsanzeige geöffnet.

  4. Stellen Sie sicher, dass Sie den richtigen Benutzer löschen, indem Sie seine E-Mail-Adresse mit der angezeigten vergleichen. Wenn es sich um den richtigen Benutzer handelt, klicken Sie auf Löschen. Diese Aktion kann nicht rückgängig gemacht werden. Der Benutzer kann erneut hinzugefügt werden, aber sein Profil zeigt an, dass er ab dem Datum, an dem er erneut hinzugefügt wird, ein neuer Benutzer ist.

Profil mit der Anwendungsprogrammierschnittstelle löschen

Als Administrator können Sie eine Person als Benutzer Ihrer Anwendung entfernen, indem Sie das Profil des jeweiligen Benutzers löschen.

  1. Rufen Sie Ihre Tenant-ID von der Instanz des Service ab. Sie finden die ID in Ihren Service- oder Anwendungsberechtigungsnachweisen.

  2. Durchsuchen Sie Ihre App ID-Benutzer mit einer Abfrage, mit der sich diese identifizieren lassen, zum Beispiel über eine E-Mail-Adresse, um die Benutzer-ID zu finden.

    curl -X GET "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/Users?query=<identifyingSearchQuery>" \
    -H "accept: application/json" \
    -H "authorization: Bearer <token>"
    

    Beispiel:

    curl -X GET https://us-south.appid.cloud.ibm.com/management/v4/e19a2778-3262-4986-8875-8khjafsdkhjsdafkjh/cloud_directory/Users?query=example@domain.com -H "accept: application/json" -H "authorization: Bearer eyJraWQiOiIyMDE3MTEyOSIsImFsZ...."
    
  3. Verwenden Sie die ID, die Sie im vorherigen Schritt erhalten haben, und stellen Sie eine DELETE-Anforderung an den /users, um das Profil zu löschen.

    curl -X DELETE "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/users/<userID>/profile" \
    -H "accept: application/json" \
    -H "authorization: Bearer <token>"
    

Benutzerprofile migrieren

Gelegentlich kann es notwendig sein, eine Instanz von App ID zu Ihrem Konto hinzuzufügen, um eine hohe Verfügbarkeit oder die Wiederherstellung nach einem Stör-/Katastrophenfall sicherzustellen. Es kann auch erforderlich sein, eine Instanz des Service gänzlich nicht mehr zu verwenden. Zum Migrieren der Benutzerinformationen können Sie die Benutzerprofile aus einer Instanz von App ID exportieren und in eine andere Instanz importieren.

Diese Aktion kann nur über die Anwendungsprogrammierschnittstelle (API) durchgeführt werden. Informationen zu den entsprechenden Schritten erhalten Sie in den Anweisungen für die Anwendungsprogrammierschnittstelle (API).

Benutzerprofile exportieren

Bevor Sie Ihre Profile in Ihre neue Instanz importieren können, müssen Sie sie aus Ihrer ursprünglichen Instanz exportieren.

  1. Stellen Sie sicher, dass Ihnen für beide Instanzen von App ID die IAM-Rolle Manager zugeordnet ist.

  2. Exportieren Sie die Profile aus Ihrer ursprünglichen Instanz des Service.

    curl -X GET https://us-south.appid.cloud.ibm.com/management/v4/<tenantID>/users/export \
    --header "Accept: application/json" \
    --header "Authorization: Bearer <IAMToken>"
    
    Befehlsvariablen für den Benutzerimport
    Variable Beschreibung
    tenantID Die Service-Tenant-ID ist in Ihren Serviceberechtigungsnachweisen enthalten. Ihre Service- oder Anwendungsberechtigungsnachweise finden Sie im App ID-Dashboard.
    iam-token Ihr IAM-Token.

    Beispielantwort:

    {
       "itemsPerPage": 2,
       "totalResults": 2,
       "requestOptions": {},
       "users": [
       {
          "id": "7ae804f3-0ed3-45f0-bc6b-1c6af868e6d6",
          "name": "App ID Google User profile",
          "email": "your@mail.com",
          "identities": [
             {
             "provider": "google",
             "id": "105646725068605084546",
             "idpUserInfo": {
                "id": "105646725068605084546",
                "email": "your@mail.com",
                "picture": "profilePic.jpg"
             }
             }
          ],
          "attributes": {
             "points": 150
          },
          "roles": ["admin"]
       {
          "id": "1439d777-185d-4be1-8f4a-c4e8142b87ea",
          "name": "App ID Facebook User profile",
          "email": "mail@mail.com",
          "identities": [
             {
             "provider": "facebook",
             "id": "100195207128541",
             "picture": {
                "data": {
                   "height": 50,
                   "width": 50,
                   "url": "https://url-to-idp-profile-picture.com"
                }
             },
             "first_name": "AppID",
             "last_name": "Development"
             }
          ],
          "attributes": {
             "points": 250
          },
          "roles": ["admin"]
       }
    }
    

Benutzerprofile importieren

Nachdem Sie nun eine Liste der exportierten Benutzerprofile haben, können Sie sie in die neue Instanz importieren.

  1. Stellen Sie sicher, dass Ihnen für beide Instanzen von App ID die IAM-Rolle Manager zugeordnet ist.

  2. Wenn Ihren Benutzern Rollen zugewiesen wurden, müssen Sie die Rollen und Bereiche in Ihrer neuen Instanz von App ID erstellen.

    Die Rollen und Bereiche müssen genau so und mit derselben Schreibweise wie in der vorherigen Instanz erstellt werden.

  3. Importieren Sie die Benutzer in Ihre neue Instanz des Service.

    curl -X POST "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/users/import" \
    -H "accept: application/json" \
    -H "Authorization: Bearer <bearerToken>" \
    -H "Content-Type: application/json" \
    -d "{ \"itemsPerPage\": 2, \"totalResults\": 2, \"requestOptions\": {}, \"users\": [ { \"id\": \"7ae804f3-0ed3-45f0-bc6b-1c6af868e6d6\", \"name\": \"App ID Google User profile\", \"email\": \"your@mail.com\", \"identities\": [ { \"provider\": \"google\", \"id\": \"105646725068605084546\", \"idpUserInfo\": { \"id\": \"{ID}\", \"email\": \"your@mail.com\", \"picture\": \"{profile.jpg}\" } } ], \"attributes\": { \"points\": 150 } { \"role\": admin } }, { \"id\": \"{userinfo}\", \"name\": \"App ID Facebook User profile\", \"email\": \"mail@mail.com\", \"identities\": [ { \"provider\": \"facebook\", \"id\": \"{id}\", \"picture\": { \"data\": { \"height\": 50, \"width\": 50, \"url\": \"https://{url}.com\" } }, \"first_name\": \"AppID\", \"last_name\": \"Development\" } ], \"attributes\": { \"points\": 250 } { \"role\": admin } } ]}"
    

    Wenn Sie Benutzer in eine Instanz von App ID importieren, bleibt die ID des Identitätsproviders identisch.