Vorgehensweise: Erstellen meines ersten anspruchsbasierten ASP.NET Diensts mit ACS

Aktualisiert: 19. Juni 2015

Gilt für: Azure

Gilt für

  • Zugriffssteuerung für Microsoft Azure Active Directory (auch Zugriffssteuerungsdienst oder ACS)

Übersicht

Hinweis

Dieses Thema bezieht sich auf eine Technologie der Vorversion. Informationen zum Erstellen von XML-Webdiensten und XML-Webdienstclients finden Sie unter https://go.microsoft.com/fwlink/?LinkID=220304.

In diesem Thema wird beschrieben, wie Sie einen einfachen ASP.NET Webdienst mit ACS integrieren. Durch die Integration Ihres Webdiensts mit ACS können Sie die Features der Authentifizierung und Autorisierung aus Ihrem Code heraus berücksichtigen. ACS stellt den Mechanismus zur Authentifizierung und Autorisierung von Clients für Ihren Webdienst bereit. Weitere Informationen finden Sie unter Webdienste und ACS

In einem Webdienstszenario wird davon ausgegangen, dass ein Webdienstclient keinen Zugriff auf einen Browser besitzt und autonom (ohne Benutzereingriffe) agiert. In einem Webdienstszenario kann ein Client außerdem mithilfe einer Dienstidentität oder einer Unternehmensidentität auf einen Webdienst zugreifen. In der in diesem Thema beschriebenen Übung erhält ein Client Zugriff auf einen Beispiel-ASP.NET Webdienst mithilfe eines in ACS konfigurierten Dienstidentitätsinformationstyps.

Sie müssen einen ASP.NET-Beispieldienst herunterladen, damit Sie die in diesem Thema beschriebenen Schritte ausführen können. Weitere Informationen finden Sie im Codebeispiel: ASP.NET Webdienst.

Schritte für die Integration von ACS in einen ASP.NET-Webdienst

Wichtig

Stellen Sie vor der Ausführung der folgenden Schritte sicher, dass Ihr System alle .NET Framework- und Plattformanforderungen erfüllt, die in ACS-Voraussetzungen zusammengefasst sind.

Führen Sie die folgenden Schritte aus, um ACS in diesen Beispiel-ASP.NET Webdienst zu integrieren:

  • Schritt 1 – Erstellen eines Access Control-Namespaces

  • Schritt 2 – Starten des ACS-Verwaltungsportals

  • Schritt 3 – Hinzufügen einer Anwendung der vertrauenden Seite

  • Schritt 4 – Erstellen von Regeln

  • Schritt 5 - Konfigurieren einer Dienstidentität

  • Schritt 6 - Konfigurieren der Vertrauensstellung zwischen ACS und dem ASP.NET-Webdienst

  • Schritt 7 - Testen der Integration von ACS in den ASP.NET-Webdienst

Schritt 1 – Erstellen eines Access Control-Namespaces

Ausführliche Anweisungen finden Sie unter How to: Create an Access Control Namespace.

Schritt 2 – Starten des ACS-Verwaltungsportals

Mit dem ACS-Verwaltungsportal können Sie Ihren Access Control-Namespace konfigurieren, indem Sie Identitätsanbieter hinzufügen, Benutzeranwendungen konfigurieren, Regeln und Gruppen von Regeln definieren und die Anmeldeinformationen einrichten, die Ihre vertrauende Parteianwendung vertrauen.

So starten Sie das ACS-Verwaltungsportal

  1. Wechseln Sie zum Microsoft Azure Verwaltungsportal (https://manage.WindowsAzure.com), melden Sie sich an, und klicken Sie dann auf Active Directory. (Problembehandlungstipps: Das Element "Active Directory" fehlt oder nicht verfügbar)

  2. Um einen Namespace für die Zugriffssteuerung zu verwalten, wählen Sie den Namespace aus und klicken Sie dann auf Verwalten. (Oder klicken Sie auf Namespaces für die Zugriffssteuerung, wählen Sie den Namespace aus und klicken Sie dann auf Verwalten.)

Schritt 3 – Hinzufügen einer Anwendung der vertrauenden Seite

In diesem Abschnitt wird das Hinzufügen einer Anwendung der vertrauenden Seite beschrieben. Weitere Informationen zu vertrauenden Partyanwendungen finden Sie unter "Vertrauende Parteianwendungen".

So richten Sie eine Anwendung der vertrauenden Seite ein

  1. Klicken Sie im ACS-Verwaltungsportal auf die Struktur "Vertrauende Parteianwendungen" auf der linken Seite, oder klicken Sie auf den Link "Vertrauende Parteianwendungen" unter dem Abschnitt "Erste Schritte".

  2. Klicken Sie auf der Seite Anwendungen der vertrauenden Seite auf Hinzufügen.

  3. Führen Sie auf der Seite Anwendung der vertrauenden Seite hinzufügen die folgenden Aktionen aus:

    • Geben Sie unter Name den Namen der Anwendung der vertrauenden Seite ein. Geben Sie für diese Übung ASPNET Simple Service ein.

    • Wählen Sie unter Modus die Option Einstellungen manuell eingeben aus.

    • Geben Sie im Bereich den URI ein, auf den das von ACS ausgestellte Sicherheitstoken angewendet wird. Geben Sie für diese Übung den Typ https://localhost:8000/Service.

    • Geben Sie in der Rückgabe-URL die URL ein, an die ACS das Sicherheitstoken zurückgibt. Geben Sie für diese Übung den Typ https://localhost:8000/Service.

    • Geben Sie in der Fehler-URL (optional) die URL ein, die ACS posten kann, wenn während der Anmeldung ein Fehler auftritt. Für diese Übung lassen Sie dieses Feld leer.

    • Wählen Sie im Tokenformat ein Tokenformat für ACS aus, das beim Ausstellen von Sicherheitstoken für diese vertrauende Parteianwendung verwendet werden soll. Geben Sie für diese Übung SWT ein. Weitere Informationen zu Token- und Tokenformaten finden Sie unter Tokenformate, die in ACS und "Tokenformat" in vertrauenden Parteienanwendungen unterstützt werden.

    • Geben Sie unter Tokengültigkeitsdauer (Sek.) den Zeitraum an, für den ein von ACS ausgestelltes Sicherheitstoken gültig bleibt. Akzeptieren Sie in dieser Übung den Standardwert 600. Weitere Informationen zu Token-Lebensdauern finden Sie unter "Tokenverschlüsselungsrichtlinie" in vertrauenden Parteienanwendungen.

    • Unter Identitätsanbieter können Sie die Identitätsanbieter auswählen, die mit der Anwendung dieser vertrauenden Seite verwendet werden sollen.

      Für diese Übung werden jedoch keine Identitätsanbieter verwendet, der Client erhält Zugriff auf den Webdienst mit einer Dienstidentität. Stellen Sie daher sicher, dass das Kontrollkästchen neben Windows Live ID gelöscht wird.

      Weitere Informationen zu Dienstidentitäten finden Sie unter "Dienstidentitäten".

    • Wählen Sie unter Regelgruppen die Regelgruppen aus, die diese Anwendung der vertrauenden Seite beim Verarbeiten von Ansprüchen verwenden soll. Akzeptieren Sie in dieser Übung die Option Neue Regelgruppe erstellen, die standardmäßig aktiviert ist. Weitere Informationen zu Regelgruppen finden Sie unter Regelgruppen und Regeln.

    • Klicken Sie unter Tokensignatureinstellungen für Tokensignaturschlüssel auf die Schaltfläche Generieren, um einen symmetrischen 256-Bit-Schlüssel für diese vertrauende Seite zu generieren.

  4. Klicken Sie auf Speichern.

Schritt 4 – Erstellen von Regeln

Regeln bestimmen, wie Ansprüche von Identitätsanbietern oder ACS (wenn ACS der Anspruchsaussteller ist) an Ihre vertrauende Parteianwendung übergeben werden. Weitere Informationen zu Regeln und Regelgruppen finden Sie unter Regelgruppen und Regeln.

So erstellen Sie Regeln

  1. Klicken Sie auf der Startseite des ACS-Verwaltungsportals auf "Regelgruppen" auf der struktur auf der linken Seite, oder klicken Sie auf den Link "Regelgruppen" unter dem Abschnitt "Erste Schritte".

  2. Klicken Sie auf der Seite Regelgruppen auf Standardregelgruppe für ASPNET Simple Service (da Sie die Anwendung der vertrauenden Seite ASPNET Simple Service genannt haben).

  3. Klicken Sie auf der Seite Regelgruppe bearbeiten auf Hinzufügen.

  4. Führen Sie auf der Seite Anspruchsregel hinzufügen die folgenden Aktionen aus:

    • Wählen Sie im Abschnitt Wenn unter Anspruchsaussteller die Option Access Control Service aus.

    • Belassen Sie im Abschnitt Wenn unter Eingabeanspruchstyp die Standardauswahl Beliebiger.

    • Belassen Sie im Abschnitt Wenn unter Eingabeanspruchswert die Standardauswahl Beliebiger.

    • Wählen Sie im Abschnitt "Dann" unter "Ausgabeanspruchstyp" den Eingabetyp aus, und geben Sie dann die Aktion ein, da das im Code des ASP.NET-Webdienstbeispiels angegebene Anspruchstyp ist, den Sie in dieser Übung verwenden: requiredClaimType = “action” Diese Zeichenfolge finden Sie im Beispielcode in Default.aspx.cs unter acs\WebServices\ASPNETSimpleService\Service.

    • Wählen Sie im Abschnitt "Dann" unter "Ausgabeanspruchswert" den Wert "Eingeben" aus, und geben Sie dann umgekehrt ein, da es sich um den Anspruchstyp handelt, der im Code des ASP.NET-Webdienstbeispiels angegeben ist, das Sie in dieser Übung verwenden: requiredClaimValue = “reverse” Diese Zeichenfolge finden Sie im Beispielcode in Default.aspx.cs unter acs\WebServices\ASPNETSimpleService\Service.

    • Klicken Sie auf Speichern.

  5. Klicken Sie auf der Seite Regelgruppe bearbeiten auf Speichern.

Schritt 5 - Konfigurieren einer Dienstidentität

In der Übung, die in diesem Thema beschrieben wurde, fordert der Client ein ACS-ausgestelltes Einfaches Webtoken (SWT) von ACS mit einem Benutzernamen und Kennwort an, das mit acS registriert und verwaltet wird, d. h. eine ACS-Dienstidentität. In diesem Abschnitt wird beschrieben, wie Sie eine ACS-Dienstidentität konfigurieren oder Anmeldeinformationen konfigurieren, die von ACS gehostet werden, mit denen der Client ein Token von ACS anfordern kann. Weitere Informationen finden Sie unter Dienstidentitäten. Legen Sie für diese Übung den Dienstidentitätsnamen auf acssample fest (der ASP.NET-Dienstclient verwendet diesen Wert als Benutzername beim Anfordern eines Token von ACS) und das Kennwort auf pass@word1.

So konfigurieren Sie eine Dienstidentität

  1. Klicken Sie auf der Homepage des ACS-Verwaltungsportals auf " Dienstidentitäten " auf der linken Seite auf die Struktur.

  2. Klicken Sie auf der Seite Dienstidentitäten auf Hinzufügen.

  3. Führen Sie auf der Seite Dienstidentität hinzufügen die folgenden Aktionen aus, und klicken Sie dann auf Speichern:

    1. Geben Sie unter Name die Angabe acssample ein.

    2. Wählen Sie unter Typ die Option Kennwort aus.

    3. Geben Sie unter Kennwort das Kennwort pass@word1 ein.

    4. Lassen Sie die Standardwerte in Gültigkeitsdatum und Ablaufdatum unverändert.

  4. Klicken Sie auf der Seite Dienstidentität bearbeiten auf Speichern.

Schritt 6 - Konfigurieren der Vertrauensstellung zwischen ACS und dem ASP.NET-Webdienst

In diesem Abschnitt wird beschrieben, wie ACS in Ihren Beispiel-ASP.NET-Dienst integriert werden kann. Weitere Informationen finden Sie im Codebeispiel: ASP.NET Webdienst.

So konfigurieren Sie die Vertrauensstellung zwischen ACS und dem ASP.NET-Dienst

  1. Suchen Sie ASPNETSimpleService.sln im heruntergeladenen Beispiel, und öffnen Sie die Datei dann in Visual Studio® 2010.

  2. Doppelklicken Sie in Visual Studio 2010 in Projektmappen-Explorer unter "ASPNETSimpleService" auf web.config.

  3. Geben Sie in web.configden Namen des Access Control Namespace und den Tokensignaturschlüssel ein, den Sie in ACS in den oben genannten Schritten konfiguriert haben. Klicken Sie zum Anzeigen des Tokensignaturschlüssels auf Zertifikate und Schlüssel im ACS-Verwaltungsportal.

    Der folgende Codeausschnitt zeigt die Elemente der Datei web.config, die aktualisiert werden müssen.

    <appSettings>
        <add key="AccessControlHostName" value="accesscontrol.windows.net"/>
        <add key="AccessControlNamespace" value="...enter your Access Control namespace name..."/>
        <add key="IssuerSigningKey" value="...enter your signing key..."/>
      </appSettings>
    
  4. Speichern Sie die aktualisierte Datei web.config.

  5. Doppelklicken Sie in Visual Studio 2010 im Projektmappen-Explorer unter Projekt "ASPNETSimpleService" auf die Datei app.config.

  6. Geben Sie in der dateiapp.configden Namen Ihres Access Control Namespace und den Benutzernamen und das Kennwort der Dienstidentität ein, die Sie in ACS in den vorherigen Schritten konfiguriert haben. Um den Benutzernamen und das Kennwort anzuzeigen, klicken Sie im ACS-Verwaltungsportal auf Dienstidentitäten .

    Der folgende Codeausschnitt zeigt die Elemente der Datei app.config, die Sie ändern müssen.

    <appSettings>
        <add key="AccessControlHostName" value="accesscontrol.windows.net"/>
        <add key="AccessControlNamespace" value="...enter your Access Control namespace name..."/>
        <add key="WrapPassword" value="...update to your password..."/>
        <add key="WrapUsername" value="...update to your username..."/>
        <add key="ServiceAddress" value="https://localhost:8000/Service/Default.aspx" />
      </appSettings>
    
  7. Speichern Sie die aktualisierte Datei app.config.

Schritt 7 - Testen der Integration von ACS in den ASP.NET-Webdienst

In diesem Abschnitt wird beschrieben, wie Sie die Integration zwischen Ihrem ASP.NET Webdienst und ACS testen können.

So testen Sie die Integration von ACS in den ASP.NET-Webdienst

  1. Drücken Sie F5 in Visual Studio 2010, um den ASP.NET-Dienst auszuführen.

  2. Wenn Sie den ASP.NET-Webdienstclient ausführen möchten, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Client, klicken Sie auf Debuggen, und wählen Sie dann Neue Instanz starten aus.

    Ein Befehlszeilenfenster wird mit der folgenden Meldung geöffnet: Geben Sie eine Zeichenfolge ein, um die UMGEKEHRTE Zeichenfolge zurückzugeben, und drücken Sie dann die <EINGABETASTE>.

  3. Geben Sie eine beliebige Zeichenfolge ein, z. B. hello world!, und drücken Sie dann die EINGABETASTE.

    Wenn Ihre Eingabe hallo World war!, sollten Sie die folgende Antwort auf die Konsolenanwendung sehen: !dlrow olleh.

Weitere Informationen

Konzepte

ACS – Vorgehensweisen