API Management-Entwicklerportal - Häufig gestellte Fragen
GILT FÜR: Developer | Basic | Basic v2 | Standard | Standard v2 | Premium | Premium v2
Was passiert, wenn ich über Funktionen verfügen muss, die im Portal nicht unterstützt werden?
Sie haben die folgenden Optionen:
Verwenden Sie für kleine Anpassungen ein integriertes Widget, um benutzerdefiniertes HTML hinzuzufügen. Derzeit ist das benutzerdefinierte HTML-Codewidget in den v2-Dienstebenen von API Management nicht verfügbar.
Für größere Anpassungen erstellen Sie ein benutzerdefiniertes Widget, und laden Sie es in das verwaltete Entwicklerportal hoch. Derzeit sind keine benutzerdefinierten Widgets in den v2-Dienstebenen von API Management verfügbar.
Hosten Sie das Entwicklerportal nur dann selbst, wenn Sie Änderungen am Kern der Codebasis des Entwicklerportals vornehmen müssen.
Erstellen Sie eine Featureanforderung im GitHub Repository.
Erfahren Sie mehr über das Anpassen und Erweitern der Funktionalität des Entwicklerportals.
Kann ich über mehrere Entwicklerportale in einem API Management-Dienst verfügen?
Sie können über ein verwaltetes Portal und mehrere selbstgehostete Portale verfügen. Der Inhalt aller Portale wird im gleichen API Management-Dienst gespeichert, sodass die Portale identisch sind. Wenn das Aussehen und die Funktionalität der einzelnen Portale unterschiedlich sein soll, können Sie diese eigenständig mit Ihren benutzerdefinierten Widgets hosten, die Seiten zur Runtime dynamisch anpassen, beispielsweise basierend auf der URL.
Unterstützt das Portal Azure Resource Manager-Vorlagen und/oder ist es mit dem API Management DevOps Resource Kit kompatibel?
Nein.
Wird der Inhalt des Portals mit der Sicherungs-/Wiederherstellungsfunktion in API Management gespeichert?
Nein.
Muss ich zusätzliche VNET-Konnektivität für die Abhängigkeiten des verwalteten Portals aktivieren?
In den meisten Fällen nicht.
Wenn sich Ihr API Management-Dienst in einem internen VNET befindet, kann nur innerhalb des Netzwerks auf Ihr Entwicklerportal zugegriffen werden. Der Hostname des Verwaltungsendpunkts muss über den Computer, mit dem Sie auf die Verwaltungsschnittstelle des Portals zugreifen, zur internen VIP des Diensts aufgelöst werden. Vergewissern Sie sich, dass der Verwaltungsendpunkt im DNS registriert ist. Ist die Konfiguration fehlerhaft, wird ein Fehler angezeigt: Unable to start the portal. See if settings are specified correctly in the configuration (...)
.
Wenn sich Ihr API Management-Dienst in einem internen VNet befindet und Sie über Application Gateway über das Internet darauf zugreifen, stellen Sie sicher, dass Sie die Konnektivität mit dem Entwicklerportal und den Verwaltungsendpunkten von API Management aktivieren. Möglicherweise müssen Sie die Firewallregeln für Webanwendungen deaktivieren. Weitere Informationen finden Sie in diesem Dokumentationsartikel.
Ich habe eine benutzerdefinierte API Management-Domäne zugewiesen, und das veröffentlichte Portal funktioniert nicht
Nachdem Sie die Domäne aktualisiert haben, müssen Sie das Portal erneut veröffentlichen, damit die Änderungen wirksam werden.
Ich habe einen Identitätsanbieter hinzugefügt, er wird im Portal aber nicht angezeigt
Nachdem Sie einen Identitätsanbieter (beispielsweise Azure AD oder Azure AD B2C) konfiguriert haben, müssen Sie das Portal erneut veröffentlichen, damit die Änderungen wirksam werden. Stellen Sie sicher, dass die Seiten des Entwicklerportals das OAuth-Schaltflächen-Widget enthalten.
Ich habe die Delegierung eingerichtet, sie wird vom Portal aber nicht verwendet
Nachdem Sie die Delegierung eingerichtet haben, müssen Sie das Portal erneut veröffentlichen, damit die Änderungen wirksam werden.
Meine anderen API Management-Konfigurationsänderungen wurden nicht an das Entwicklerportal weitergegeben.
Bei den meisten Konfigurationsänderungen (beispielsweise für das VNET, für die Anmeldung und für Produktbedingungen) ist eine erneute Veröffentlichung des Portals erforderlich.
Beim Verwenden der interaktiven Konsole erhalte ich einen CORS-Fehler.
Die interaktive Konsole sendet eine clientseitige API-Anforderung über den Browser. Beheben Sie das CORS-Problem, indem Sie ihren APIs eine CORS-Richtlinie hinzufügen oder das Portal so konfigurieren, dass ein CORS-Proxy verwendet wird. Weitere Informationen finden Sie unter Aktivieren von CORS für die interaktive Konsole im API Management-Entwicklerportal.
Bei Verwendung des Widgets für benutzerdefinierten HTML-Code tritt bei mir ein CORS-Fehler auf.
Wenn Sie das Widget für benutzerdefinierten HTML-Code in Ihrer Umgebung verwenden, tritt bei der Interaktion mit dem vom Widget geladenen IFrame möglicherweise ein CORS-Fehler auf. Dieses Problem tritt auf, da für den IFrame Inhalte bereitgestellt werden, die nicht aus dem Entwicklerportal stammen. Um dieses Problem zu vermeiden, können Sie stattdessen ein benutzerdefiniertes Widget verwenden.
Welche Berechtigungen sind zum Bearbeiten des Entwicklerportals erforderlich?
Sollte beim Öffnen des Portals im Verwaltungsmodus der Fehler Oops. Something went wrong. Please try again later.
angezeigt werden, verfügen Sie möglicherweise nicht über die erforderlichen Berechtigungen (Azure RBAC).
Für das Portal ist die Berechtigung Microsoft.ApiManagement/service/users/token/action
im Bereich /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim-service-name>/users/1
erforderlich.
Sie können das folgende PowerShell-Skript verwenden, um eine Rolle mit der erforderlichen Berechtigung zu erstellen. Vergessen Sie nicht, den Parameter <subscription-id>
zu ändern.
#New Portals Admin Role
Import-Module Az
Connect-AzAccount
$contributorRole = Get-AzRoleDefinition "API Management Service Contributor"
$customRole = $contributorRole
$customRole.Id = $null
$customRole.Name = "APIM New Portal Admin"
$customRole.Description = "This role gives the user ability to log in to the new Developer portal as administrator"
$customRole.Actions = "Microsoft.ApiManagement/service/users/token/action"
$customRole.IsCustom = $true
$customRole.AssignableScopes.Clear()
$customRole.AssignableScopes.Add('/subscriptions/<subscription-id>')
New-AzRoleDefinition -Role $customRole
Nachdem die Rolle erstellt wurde, kann sie im Azure-Portal im Abschnitt Zugriffssteuerung (IAM) einem beliebigen Benutzer zugewiesen werden. Wenn Sie diese Rolle einem Benutzer zuweisen, wird die Berechtigung im Dienstbereich zugewiesen. Der Benutzer kann SAS-Token im Namen jedes beliebigen Benutzers im Dienst generieren. Diese Rolle muss mindestens dem Administrator des Diensts zugewiesen werden. Der folgende PowerShell-Befehl zeigt, wie Sie die Rolle dem Benutzer user1
im kleinstmöglichen Bereich zuweisen, um dem Benutzer keine unnötigen Berechtigungen zu erteilen:
New-AzRoleAssignment -SignInName "user1@contoso.com" -RoleDefinitionName "APIM New Portal Admin" -Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim-service-name>/users/1"
Nach Erteilung der Berechtigungen muss sich der betreffende Benutzer abmelden und erneut beim Azure-Portal anmelden, damit die neuen Berechtigungen wirksam werden.
Der Fehler Unable to start the portal. See if settings are specified correctly (...)
wird angezeigt.
Dieser Fehler wird angezeigt, wenn ein Aufruf vom Typ GET
für https://<management-endpoint-hostname>/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.ApiManagement/service/xxx/contentTypes/document/contentItems/configuration?api-version=2018-06-01-preview
nicht erfolgreich war. Der Aufruf wird vom Browser über die Verwaltungsschnittstelle des Portals ausgegeben.
Wenn sich Ihr API Management-Dienst in einem VNet befindet, lesen Sie die Frage zur VNET-Konnektivität.
Der Aufruffehler kann auch auf ein TLS/SSL-Zertifikat zurückzuführen sein, das einer benutzerdefinierten Domäne zugewiesen ist und dem der Browser nicht vertraut. Als Entschärfung können Sie die benutzerdefinierte Domäne des Verwaltungsendpunkts entfernen. API Management führt ein Fallfall zum Standardendpunkt mit einem vertrauenswürdigen Zertifikat durch.
Was ist die Browserunterstützung für das Portal?
Browser | Unterstützt |
---|---|
Apple Safari | Ja1 |
Google Chrome | Ja1 |
Microsoft Edge | Ja1 |
Microsoft Internet Explorer | Nein |
Mozilla Firefox | Ja1 |
1 In den beiden neuesten Produktionsversionen unterstützt.
Die lokale Entwicklung meines selbstgehosteten Portals funktioniert nicht mehr
Wenn Ihre lokale Version des Entwicklerportals keine Informationen aus dem Speicherkonto oder aus der API Management-Instanz abrufen kann, sind die SAS-Token möglicherweise abgelaufen. Sie können dies beheben, indem Sie neue Token generieren. Anweisungen finden Sie im Tutorial zum Selbsthosten des Entwicklerportals.
Gewusst wie: Deaktivieren der Anmeldung im Entwicklerportal
Wenn Sie die Registrierungsfunktionen nicht standardmäßig aktiviert im Entwicklerportal benötigen, können Sie sie mit den folgenden Schritten deaktivieren:
Navigieren Sie im Azure-Portal zu Ihrer API Management-Instanz.
Wählen Sie unter Entwicklerportal die Option Identitäten aus.
Löschen Sie jeden Identitätsanbieter, der in der Liste angezeigt wird. Wählen Sie jeden Anbieter aus, wählen Sie das Kontextmenü aus ( ... ), und wählen Sie dann Löschen aus.
Navigieren Sie zur Verwaltungsoberfläche des Entwicklerportals.
Entfernen Sie Im Portalinhalt Anmeldelinks und Navigationselemente. Informationen zum Anpassen von Portalinhalten finden Sie unter Tutorial: Zugreifen auf und Anpassen des Entwicklerportals.
Ändern Sie den Inhalt der Seite Registrieren, um Felder zu entfernen, die zum Eingeben von Identitätsdaten verwendet werden, falls Benutzer direkt zu ihr navigieren.
Löschen Sie optional die Seite Anmelden. Derzeit verwenden Sie die contentItem-REST-APIs zum Auflisten und Löschen dieser Seite.
Speichern Sie Ihre Änderungen, und veröffentlichen Sie das Portal erneut.
Wie kann ich die Inhalte des Entwicklerportals entfernen, die für meinen API Management bereitgestellt werden?
Geben Sie die erforderlichen Parameter im scripts.v3/cleanup.bat
-Skript im GitHub-Repository des Entwicklerportals an und führen Sie das Skript aus
cd scripts.v3
.\cleanup.bat
cd ..
Wie kann ich die SSO-Authentifizierung (Single Sign-On, einmaliges Anmelden) im selbstgehosteten Entwicklerportal aktivieren?
Neben anderen Authentifizierungsmethoden unterstützt das Entwicklerportal einmaliges Anmelden (Single Sign-On, SSO). Um sich mit dieser Methode zu authentifizieren, müssen Sie einen Aufruf von /signin-sso
mit dem Token im Abfrageparameter ausführen:
https://contoso.com/signin-sso?token=[user-specific token]
Generieren von Benutzertoken
Sie können benutzerspezifische Token (einschließlich Administratortoken) mithilfe des Vorgangs Shared Access-Token abrufen der API Management REST-API generieren.
Hinweis
Das Token muss URL-codiert sein.
Zugehöriger Inhalt
Weitere Informationen zum Entwicklerportal:
- Zugreifen auf das neue Entwicklerportal und Verwalten des Portals
- Erweitern der Funktionalität des Entwicklerportals
- Einrichten einer selbstgehosteten Version des Portals
Weitere Ressourcen: