Share via


Authentifizieren einer Client-App (Azure Data Catalog REST-API)


In diesem Artikel erfahren Sie, wie Sie eine Data Catalog Client-App authentifizieren. Er enthält C#-Beispiele, wobei der Authentifizierungsprozess für andere Programmiersprachen identisch ist.

Data Catalog Client-Apps verwenden Active Directory (Azure AD), um Benutzer zu authentifizieren und Anwendungen zu schützen. Bei der Authentifizierung wird eine Anwendung oder ein Benutzer identifiziert. Um Ihre Client-App in Azure AD zu identifizieren, registrieren Sie Ihre App bei Azure AD. Wenn Sie eine Client-App in Azure Active Directory registrieren, gewähren Sie Ihrer App Zugriff auf die Data Catalog-APIs. Informationen zum Registrieren Ihrer Data Catalog Client-App finden Sie unter Registrieren einer Client-App.

Data Catalog REST-API-Aufrufe werden im Namen eines authentifizierten Benutzers ausgeführt, indem ein Token im Header "Authorization" der Anforderung übergeben wird. Das Token wird über Azure Active Directory abgerufen.

Was Sie zum Authentifizieren einer Data Catalog Client-App benötigen

Um eine Data Catalog Client-App zu authentifizieren und eine REST-Webanforderung auszuführen, müssen Sie Folgendes ausführen:

  1. Registrieren Ihrer Client-App: Informationen zum Registrieren einer Data Catalog Client-App finden Sie unter Registrieren einer Client-App. Wenn Sie eine Client-App in Azure Active Directory registrieren, gewähren Sie Ihrer App Zugriff auf die Data Catalog-APIs.

  2. Zuweisen der Client-ID für Ihre App : Informationen zum Abrufen der Client-ID für Ihre App finden Sie unter Abrufen einer Client-App-ID. Die Client-ID wird von der Anwendung verwendet, um sich gegenüber den Benutzern zu identifizieren, von denen sie Berechtigungen anfordern.

    • Weisen Sie in Ihrem Client-App-Code die Variable clientID der clientID Ihrer Azure-Anwendung zu.
  3. Zuweisen des Umleitungs-URI : Für eine Client-App gibt ein Umleitungs-URI Azure AD weitere Details zu der spezifischen Anwendung, die authentifiziert wird. Ein URI (Uniform Resource Identifier) ist ein Wert, der den Namen einer Ressource identifiziert.

    • Weisen Sie im Client-App-Code den redirectUri zu https://login.live.com/oauth20_desktop.srf. Da eine Clientanwendung keinen externen Dienst zum Umleiten hat, ist dieser URI der standardmäßige Platzhalter für Clientanwendungen.
  4. Zuweisen des Ressourcen-URI für Data Catalog-API: Der Ressourcen-URI identifiziert die Data Catalog API-Ressource.

    • Weisen Sie in Ihrem Client-App-Code den resourceUri zu https://datacatalog.azure.com.
  5. Weisen Sie den OAuth2-Zertifizierungsstellen-URI zu: Der Zertifizierungsstellen-URI identifiziert die OAuth2-Zertifizierungsstellenressource.

    • Weisen Sie in Ihrem Client-App-Code einen Autoritäts-URI zu https://login.windows.net/common/oauth2/authorize.

Um eine Datenanforderung an den Data Catalog REST-Dienst zu stellen, müssen Sie ein Zugriffstoken bereitstellen. In einer .NET-Client-App verwenden Sie die Microsoft Authentication Library (MSAL), um ein Zugriffstoken abzurufen.

Wichtig

Zum Authentifizieren einer Client-App müssen Sie einen Verweis auf Microsoft.Identity.Clienthinzufügen, der in der Microsoft Authentication Library (MSAL) enthalten ist. Wenn Ihre App weiterhin ADAL verwendet, migrieren Sie sie zu MSAL. Weitere Informationen finden Sie unter Unterschiede zwischen ADAL.NET- und MSAL.NET-Apps.

Install-Package Microsoft.Identity.Client -Version 4.48.1 

Schritte zum Abrufen eines Zugriffstoken

Das Abrufen eines Zugriffstokens mithilfe von MSAL hängt davon ab, ob Sie einen öffentlichen Client oder eine vertrauliche Clientanwendung erstellen. Lesen Sie die folgenden Schritte, um ein Zugriffstoken für Ihr Szenario abzurufen:

Wenn Sie über einen Datenkatalog verfügen, der noch die veraltete ADAL-Bibliothek verwendet, migrieren Sie Ihre App von ADAL zu MSAL.

Stellen Sie eine Anforderung zum Data Catalog REST-API mithilfe eines Tokens.

Nachdem Sie ein Zugriffstoken von Active Directory (Azure AD) abgerufen haben, verwenden Sie das Token, um eine Webanforderung an die Data Catalog REST-API zu stellen. Um eine Data Catalog REST-Webanforderung zu erstellen, fügen Sie einem Anforderungsheader ein Zugriffstoken hinzu. Fügen Sie beispielsweise in einer .NET-App die

HttpWebRequest request = System.Net.WebRequest.Create(apiUrl) as System.Net.HttpWebRequest;  
...  
string authHeader = authResult.CreateAuthorizationHeader();             
request.Headers.Add("Authorization", authHeader);  

Kontextfluss für Azure-Authentifizierung

In einer .NET-Client-App rufen Sie mit AuthenticationContext ein Azure-Zugriffstoken ab. AuthenticationContext ist die Hauptklasse. Sie repräsentiert die Zertifizierungsstelle für die Tokenausstellung für Azure AD-Ressourcen. AuthenticationContext bewirkt Folgendes:

  1. AuthenticationContext startet den Flow durch Umleiten des Benutzer-Agents an den Autorisierungsendpunkt von Azure Active Directory. Der Benutzer authentifiziert sich und gibt seine Zustimmung, sofern diese erforderlich ist.
  2. Der Autorisierungsendpunkt von Azure Active Directory leitet den Benutzer-Agent mit einem Autorisierungscode an AuthenticationContext zurück. Der Benutzer-Agent gibt einen Autorisierungscode an den Umleitungs-URI der Client-App zurück.
  3. AuthenticationContext fordert vom Azure Active Directory-Endpunkt für die Tokenausstellung ein Zugriffstoken an. Sie legt den Autorisierungscode vor, um zu belegen, dass der Benutzer zugestimmt hat.
  4. Der Azure Active Directory-Endpunkt für die Tokenausstellung gibt ein Zugriffstoken zurück.
  5. Die Client-App verwendet das Zugriffstoken für die Authentifizierung bei der Web-API.
  6. Nach der Authentifizierung der Clientanwendung gibt die Data Catalog REST-API die angeforderten Daten zurück.

Weitere Informationen zum Azure Active Directory-Autorisierungsflow (Azure AD) finden Sie unter Authorization Code Grant-Flow.