Konfigurieren von SAML-basiertem einmaligen Anmelden für Ihre Anwendung mithilfe der Microsoft Graph-API

In diesem Artikel erfahren Sie, wie Sie mithilfe der Microsoft Graph-API SAML-basiertes einmaliges Anmelden (Single Sign-On; SSO) für Ihre Anwendung in Azure Active Directory (Azure AD) erstellen und konfigurieren. Die Anwendungskonfiguration umfasst grundlegende SAML-URLs, eine Anspruchszuordnungsrichtlinie und die Verwendung eines Zertifikats zum Hinzufügen eines benutzerdefinierten Signaturschlüssels. Nachdem die Anwendung erstellt wurde, weisen Sie ihr einen Benutzer als Administrator zu. Anschließend können Sie eine URL verwenden, um die Azure AD-SAML-Metadaten für eine zusätzliche Konfiguration der Anwendung zu erhalten.

In diesem Artikel wird eine AWS-Azure AD-Anwendungsvorlage verwendet, doch Sie können die in diesem Artikel beschriebenen Schritte für jede SAML-basierte App im Azure AD-Katalog verwenden.

Voraussetzungen

In diesem Tutorial wird davon ausgegangen, dass Sie Graph-Tester verwenden, Sie können jedoch auch Postman verwenden oder eine eigene Client-App erstellen, um Microsoft Graph aufzurufen. Zum Aufrufen von Microsoft Graph-APIs in diesem Tutorial müssen Sie ein Konto mit einer globalen Administratorrolle und den entsprechenden Berechtigungen verwenden. Für dieses Lernprogramm werden Application.ReadWrite.All, AppRoleAssignment.ReadWrite.All, Policy.Read.All, Policy.ReadWrite.ApplicationConfiguration und User.ReadWrite.All delegierte Berechtigungen benötigt. Führen Sie die folgenden Schritte aus, um Berechtigungen im Graph-Tester festzulegen:

  1. Wechseln Sie zum Graph-Tester.

  2. Wählen Sie Anmeldung mit Microsoft aus, und melden Sie sich mit einem globalen Azure AD-Administratorkonto an. Nach der erfolgreichen Anmeldung werden die Details des Benutzerkontos im linken Bereich angezeigt.

  3. Wählen Sie das Symbol "Einstellungen" rechts neben den Details des Benutzerkontos aus, und wählen Sie dann Berechtigungen auswählen.

    Auswählen der Microsoft Graph-Berechtigungen

  4. Scrollen Sie in der Liste der Berechtigungen zu AppRoleAssignment (1), erweitern Sie diese und wählen Sie dann die Berechtigung AppRoleAssignment.ReadWrite.All aus. Scrollen Sie weiter nach unten und erweitern Sie Anwendung (2) und wählen Sie dann die Berechtigung Application.ReadWrite.All aus. Fahren Sie fort, indem Sie Richtlinie (13) erweitern und wählen Sie dann die Berechtigungen Policy.Read.All und Policy.ReadWrite.ApplicationConfiguration aus. Scrollen Sie abschließend zu Benutzer (8), erweitern Sie und wählen Sie dann User.ReadWrite.All.

    Scrollen Sie zu den App-Rollenzuweisungs-, Anwendungs- und Richtlinienberechtigungen, und wählen Sie sie aus.

  5. Wählen Sie Zustimmung aus, und wählen Sie dann Annehmen aus, um die Zustimmung zu den Berechtigungen zu erteilen. Sie müssen diesen Berechtigungen nicht im Namen Ihrer Organisation zustimmen.

    Zustimmung zu den Berechtigungen erteilen

Schritt 1: Erstellen der Anwendung

Azure AD enthält einen Katalog mit Tausenden von integrierten Anwendungen, die Sie als Vorlage für Ihre Anwendung verwenden können. Die Anwendungsvorlage beschreibt die Metadaten für diese Anwendung. Mithilfe dieser Vorlage können Sie eine Instanz der Anwendung und des Dienstprinzipals in Ihrem Mandanten für die Verwaltung erstellen.

Um die Anwendung aus dem Katalog zu erstellen, erhalten Sie zuerst den Bezeichner der Anwendungsvorlage und verwenden dann diesen Bezeichner, um die Anwendung zu erstellen.

In diesem Lernprogramm rufen Sie den Bezeichner der Anwendungsvorlage für AWS Single Sign-on ab. Notieren Sie den Wert der ID-Eigenschaft, um ihn später in diesem Lernprogramm zu verwenden.

Anforderung

GET https://graph.microsoft.com/v1.0/applicationTemplates?$filter=displayName eq 'AWS Single Sign-on'

Antwort

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applicationTemplates",
  "value": [
    {
      "id": "21ed01d2-ec13-4e9e-86c1-cd546719ebc4",
      "displayName": "AWS Single Sign-on",
      "homePageUrl": "https://aws.amazon.com/",
      "supportedSingleSignOnModes": [
        "saml",
        "external"
      ],
      "supportedProvisioningTypes": [
        "sync"
      ],
      "logoUrl": "https://az495088.vo.msecnd.net/app-logo/awssinglesignon_215.png",
      "categories": [
        "developerServices",
        "itInfrastructure",
        "security",
        "New"
      ],
      "publisher": "Amazon Web Services, Inc.",
      "description": "Federate once to AWS SSO & use it to manage access centrally to multiple AWS accounts. Provision users via SCIM & get Azure AD single sign-in access to the AWS Console, CLI, & AWS SSO integrated apps."
    }
  ]
}

Erstellen der Anwendung

Erstellen Sie mithilfe des ID-Werts, den Sie für die Anwendungsvorlage notiert haben, eine Instanz der Anwendung und des Dienstprinzipals in Ihrem Mandanten. Zeichnen Sie den Wert der ID-Eigenschaft der Anwendung und den Wert der Eigenschaft ID für den Dienstprinzipal auf, der später in diesem Lernprogramm verwendet werden soll.

Anforderung

POST https://graph.microsoft.com/v1.0/applicationTemplates/21ed01d2-ec13-4e9e-86c1-cd546719ebc4/instantiate
Content-type: application/json

{
  "displayName": "AWS Contoso"
}

Hinweis

Warten Sie, bis die App in Ihrem Azure AD-Mandanten bereitgestellt wurde. Das geschieht nicht sofort. Eine Strategie besteht darin, alle 5 bis 10 Sekunden eine GET-Abfrage für das Anwendungs-/Dienstprinzipalobjekt durchzuführen, bis die Abfrage erfolgreich ist.

Antwort

HTTP/1.1 201 Created
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.applicationServicePrincipal",
  "application": {
    "id": "a9be408a-6c31-4141-8cea-52fcd4a61be8",
    "appId": "17cad0e7-cd2b-4e51-a75d-ba810f3e4045",
    "applicationTemplateId": "21ed01d2-ec13-4e9e-86c1-cd546719ebc4",
    "createdDateTime": "2021-05-10T20:12:03Z",
    "deletedDateTime": null,
    "displayName": "AWS Contoso",
    "groupMembershipClaims": null,
    "identifierUris": [],
    "isFallbackPublicClient": false,
    "signInAudience": "AzureADMyOrg",
    "tags": [],
    "tokenEncryptionKeyId": null,
    "defaultRedirectUri": null,
    "optionalClaims": null,
    "verifiedPublisher": {
      "displayName": null,
      "verifiedPublisherId": null,
      "addedDateTime": null
    },
    "addIns": [],
    "api": {
      "acceptMappedClaims": null,
      "knownClientApplications": [],
      "requestedAccessTokenVersion": null,
      "oauth2PermissionScopes": [
        {
          "adminConsentDescription": "Allow the application to access AWS Contoso on behalf of the signed-in user.",
          "adminConsentDisplayName": "Access AWS Contoso",
          "id": "6f891cd3-c132-4822-930b-f343b4515d19",
          "isEnabled": true,
          "type": "User",
          "userConsentDescription": "Allow the application to access AWS Contoso on your behalf.",
          "userConsentDisplayName": "Access AWS Contoso",
          "value": "user_impersonation"
        }
      ],
      "preAuthorizedApplications": []
    },
    "appRoles": [
      {
        "allowedMemberTypes": [
          "User"
        ],
        "displayName": "User",
        "id": "8774f594-1d59-4279-b9d9-59ef09a23530",
        "isEnabled": true,
        "description": "User",
        "value": null,
        "origin": "Application"
      },
      {
        "allowedMemberTypes": [
          "User"
        ],
        "displayName": "msiam_access",
        "id": "e7f1a7f3-9eda-48e0-9963-bd67bf531afd",
        "isEnabled": true,
        "description": "msiam_access",
        "value": null,
        "origin": "Application"
      }
    ],
    "info": {
      "logoUrl": null,
      "marketingUrl": null,
      "privacyStatementUrl": null,
      "supportUrl": null,
      "termsOfServiceUrl": null
    },
    "keyCredentials": [],
    "parentalControlSettings": {
      "countriesBlockedForMinors": [],
      "legalAgeGroupRule": "Allow"
    },
    "passwordCredentials": [],
    "publicClient": {
      "redirectUris": []
    },
    "requiredResourceAccess": [],
    "web": {
      "homePageUrl": "https://*.signin.aws.amazon.com/platform/saml/acs/*?metadata=awssinglesignon|ISV9.1|primary|z",
      "redirectUris": []
    }
  },
  "servicePrincipal": {
    "id": "a750f6cf-2319-464a-bcc3-456926736a91",
    "deletedDateTime": null,
    "accountEnabled": true,
    "appId": "17cad0e7-cd2b-4e51-a75d-ba810f3e4045",
    "applicationTemplateId": "21ed01d2-ec13-4e9e-86c1-cd546719ebc4",
    "appDisplayName": "AWS Contoso",
    "alternativeNames": [],
    "appOwnerOrganizationId": "8500cad3-193d-48a6-8d00-c129b114dc10",
    "displayName": "AWS Contoso",
    "appRoleAssignmentRequired": true,
    "loginUrl": null,
    "logoutUrl": null,
    "homepage": "https://*.signin.aws.amazon.com/platform/saml/acs/*?metadata=awssinglesignon|ISV9.1|primary|z",
    "notificationEmailAddresses": [],
    "preferredSingleSignOnMode": null,
    "preferredTokenSigningKeyThumbprint": null,
    "replyUrls": [],
    "servicePrincipalNames": [
      "17cad0e7-cd2b-4e51-a75d-ba810f3e4045"
    ],
    "servicePrincipalType": "Application",
    "tags": [
      "WindowsAzureActiveDirectoryIntegratedApp"
    ],
    "tokenEncryptionKeyId": null,
    "samlSingleSignOnSettings": null,
    "verifiedPublisher": {
      "displayName": null,
      "verifiedPublisherId": null,
      "addedDateTime": null
    },
    "addIns": [],
    "appRoles": [
      {
        "allowedMemberTypes": [
          "User"
        ],
        "displayName": "User",
        "id": "8774f594-1d59-4279-b9d9-59ef09a23530",
        "isEnabled": true,
        "description": "User",
        "value": null,
        "origin": "Application"
      },
      {
        "allowedMemberTypes": [
          "User"
        ],
        "displayName": "msiam_access",
        "id": "e7f1a7f3-9eda-48e0-9963-bd67bf531afd",
        "isEnabled": true,
        "description": "msiam_access",
        "value": null,
        "origin": "Application"
      }
    ],
    "info": {
      "logoUrl": null,
      "marketingUrl": null,
      "privacyStatementUrl": null,
      "supportUrl": null,
      "termsOfServiceUrl": null
    },
    "keyCredentials": [],
    "oauth2PermissionScopes": [
      {
        "adminConsentDescription": "Allow the application to access AWS Contoso on behalf of the signed-in user.",
        "adminConsentDisplayName": "Access AWS Contoso",
        "id": "6f891cd3-c132-4822-930b-f343b4515d19",
        "isEnabled": true,
        "type": "User",
        "userConsentDescription": "Allow the application to access AWS Contoso on your behalf.",
        "userConsentDisplayName": "Access AWS Contoso",
        "value": "user_impersonation"
      }
    ],
    "passwordCredentials": []
  }
}

Schritt 2: Konfigurieren des einmaligen Anmeldens

In diesem Lernprogramm legen Sie saml im Dienstprinzipal als Modus für Single Sign-On fest. Verwenden Sie die ID für den Dienstprinzipal, den Sie zuvor aufgezeichnet haben.

Anforderung

PATCH https://graph.microsoft.com/v1.0/servicePrincipals/a750f6cf-2319-464a-bcc3-456926736a91
Content-type: application/json

{
  "preferredSingleSignOnMode": "saml"
}

Antwort

HTTP/1.1 204

Festlegen grundlegender SAML-URLs

Legen Sie unter Verwendung der ID für die Anwendung, die Sie zuvor aufgezeichnet haben. den Bezeichner-URI fest und leiten Sie den URI für AWS im Anwendungsobjekt um.

Anforderung

PATCH https://graph.microsoft.com/v1.0/applications/a9be408a-6c31-4141-8cea-52fcd4a61be8
Content-type: application/json

{
  "web": {
    "redirectUris": [
      "https://signin.aws.amazon.com/saml"
    ] 
  },
  "identifierUris": [
    "https://signin.aws.amazon.com/saml"
  ]    
}

Antwort

HTTP/1.1 204

Hinzufügen von App-Rollen (optional)

Wenn die Anwendung die Rolleninformationen im Token erfordert, fügen Sie die Definition der Rollen im „application“-Objekt hinzu.

Hinweis

Wenn Sie App-Rollen hinzufügen, ändern Sie nicht die standardmäßigen App-Rollen msiam_access.

Verwenden Sie die ID für den Dienstprinzipal, den Sie zuvor aufgezeichnet haben.

Anforderung

PATCH https://graph.microsoft.com/v1.0/serviceprincipals/a750f6cf-2319-464a-bcc3-456926736a91
Content-type: application/json

{
  "appRoles": [
    {
      "allowedMemberTypes": [
        "User"
      ],
      "displayName": "User",
      "id": "8774f594-1d59-4279-b9d9-59ef09a23530",
      "isEnabled": true,
      "description": "User",
      "value": null,
      "origin": "Application"
    },
    {
      "allowedMemberTypes": [
        "User"
      ],
      "displayName": "msiam_access",
      "id": "e7f1a7f3-9eda-48e0-9963-bd67bf531afd",
      "isEnabled": true,
      "description": "msiam_access",
      "value": null,
      "origin": "Application"
    },
    {
      "allowedMemberTypes": [
        "User"
      ],
      "description": "Admin,WAAD",
      "displayName": "Admin,WAAD",
      "id": "3a84e31e-bffa-470f-b9e6-754a61e4dc63",
      "isEnabled": true,
      "value": "arn:aws:iam::212743507312:role/accountname-aws-admin,arn:aws:iam::212743507312:saml-provider/WAAD"
    },
    {
      "allowedMemberTypes": [
        "User"
      ],
      "description": "Finance,WAAD",
      "displayName": "Finance,WAAD",
      "id": "7a960000-ded3-455b-8c04-4f2ace00319b",
      "isEnabled": true,
      "value": "arn:aws:iam::212743507312:role/accountname-aws-finance,arn:aws:iam::212743507312:saml-provider/WAAD"
    }
  ]
}

Antwort

HTTP/1.1 204

Schritt 3: Konfigurieren der Anspruchszuordnung

Erstellen einer Anspruchszuordnungsrichtlinie

Konfigurieren Sie zusätzlich zu den grundlegenden Ansprüchen die folgenden Ansprüche für Azure AD, die im SAML-Token ausgegeben werden sollen:

Anspruchsname Quelle
https://aws.amazon.com/SAML/Attributes/Role assignedroles
https://aws.amazon.com/SAML/Attributes/RoleSessionName userprincipalname
https://aws.amazon.com/SAML/Attributes/SessionDuration "900"
roles assignedroles
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier userprincipalname

Hinweis

Bei einigen Schlüsseln in der Anspruchsrichtlinie wird nach Groß-/Kleinschreibung unterschieden (z. B. "Version"). Wenn Sie eine Fehlermeldung erhalten, die besagt, dass die Eigenschaft einen ungültigen Wert aufweist, kann es sich um ein Problem mit der Groß-/Kleinschreibung handeln.

Erstellen Sie die Anspruchszuordnungsrichtlinie und notieren Sie den Wert der ID-Eigenschaft, um ihn später in diesem Lernprogramm zu verwenden.

Anforderung

POST https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies
Content-type: application/json

{
    "definition": [
        "{\"ClaimsMappingPolicy\":{\"Version\":1,\"IncludeBasicClaimSet\":\"true\", \"ClaimsSchema\": [{\"Source\":\"user\",\"ID\":\"assignedroles\",\"SamlClaimType\": \"https://aws.amazon.com/SAML/Attributes/Role\"}, {\"Source\":\"user\",\"ID\":\"userprincipalname\",\"SamlClaimType\": \"https://aws.amazon.com/SAML/Attributes/RoleSessionName\"}, {\"Value\":\"900\",\"SamlClaimType\": \"https://aws.amazon.com/SAML/Attributes/SessionDuration\"}, {\"Source\":\"user\",\"ID\":\"assignedroles\",\"SamlClaimType\": \"appRoles\"}, {\"Source\":\"user\",\"ID\":\"userprincipalname\",\"SamlClaimType\": \"https://aws.amazon.com/SAML/Attributes/nameidentifier\"}]}}"
    ],
    "displayName": "AWS Claims Policy",
    "isOrganizationDefault": false
}

Antwort

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#policies/claimsMappingPolicies/$entity",
    "id": "4bce7ba7-466d-4239-94b8-cf4f21428ca7",
    "deletedDateTime": null,
    "definition": [
        "{\"ClaimsMappingPolicy\":{\"Version\":1,\"IncludeBasicClaimSet\":\"true\", \"ClaimsSchema\": [{\"Source\":\"user\",\"ID\":\"assignedroles\",\"SamlClaimType\": \"https://aws.amazon.com/SAML/Attributes/Role\"}, {\"Source\":\"user\",\"ID\":\"userprincipalname\",\"SamlClaimType\": \"https://aws.amazon.com/SAML/Attributes/RoleSessionName\"}, {\"Value\":\"900\",\"SamlClaimType\": \"https://aws.amazon.com/SAML/Attributes/SessionDuration\"}, {\"Source\":\"user\",\"ID\":\"assignedroles\",\"SamlClaimType\": \"appRoles\"}, {\"Source\":\"user\",\"ID\":\"userprincipalname\",\"SamlClaimType\": \"https://aws.amazon.com/SAML/Attributes/nameidentifier\"}]}}"
    ],
    "displayName": "AWS Claims Policy",
    "isOrganizationDefault": false
}

Zuweisen der Anspruchszuordnungsrichtlinie zum Dienstprinzipal

Verwenden Sie die ID für den Dienstprinzipal, den Sie zuvor aufgezeichnet haben, um ihm eine Richtlinie für die Zuordnung von Ansprüchen zuzuweisen. Verwenden Sie den Wert der ID-Eigenschaft für die Anspruchszuordnungsrichtlinie im Textkörper der Anforderung.

Anforderung

POST https://graph.microsoft.com/v1.0/servicePrincipals/a750f6cf-2319-464a-bcc3-456926736a91/claimsMappingPolicies/$ref
Content-type: application/json

{
  "@odata.id":"https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies/a4b35718-fd5e-4ca8-8248-a3c9934b1b78"
}

Antwort

HTTP/1.1 204

Schritt 4: Konfigurieren eines Signaturzertifikats

Sie benötigen ein selbstsigniertes Zertifikat, mit dem Azure AD eine SAML-Antwort signieren kann. Sie können Ihr eigenes Zertifikat oder das folgende Beispiel verwenden.

Erstellen eines Signaturzertifikats

Erstellen Sie anhand der ID des von Ihnen erstellten Dienstprinzipals ein neues Zertifikat und fügen Sie es dem Dienstprinzipal hinzu.

Anforderung

POST https://graph.microsoft.com/v1.0/servicePrincipals/a750f6cf-2319-464a-bcc3-456926736a91/addTokenSigningCertificate
Content-type: application/json

{
    "displayName":"CN=AWSContoso",
    "endDateTime":"2024-01-25T00:00:00Z"
}

Antwort

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.selfSignedCertificate",
  "customKeyIdentifier": "p9PEYmuKhP2oaMzGfSdNQC/9ChA=",
  "displayName": "CN=AWSContoso",
  "endDateTime": "2024-01-25T00:00:00Z",
  "key": "MIICqjCCAZKgAwIBAgIId....4rnrk43wp75yqjRbOhAZ1ExAxVqW+o2JslhjUeltUMNQW+ynOfs9oHu1ZdnGmxrE=",
  "keyId": "70883316-50be-4016-ba80-19d9fbad873d",
  "startDateTime": "2021-05-10T20:35:37.5754318Z",
  "thumbprint": "A7D3C4626B8A84FDA868CCC67D274D402FFD0A10",
  "type": "AsymmetricX509Cert",
  "usage": "Verify"
}

Aktivieren des benutzerdefinierten Signierschlüssels

Sie müssen die Eigenschaft preferredTokenSigningKeyThumbprint des Dienstprinzipals auf den Fingerabdruck des Zertifikats festlegen, den Azure AD für die Signatur der SAML-Antwort verwenden soll.

Anforderung

PATCH https://graph.microsoft.com/v1.0/servicePrincipals/a750f6cf-2319-464a-bcc3-456926736a91
Content-type: application/json

{
  "preferredTokenSigningKeyThumbprint": "A7D3C4626B8A84FDA868CCC67D274D402FFD0A10"
}

Antwort

HTTP/1.1 204

Schritt 5: Zuweisen von Benutzern

Erstellen eines Benutzerkontos

Für dieses Lernprogramm erstellen Sie ein Benutzerkonto, das der Anwendung hinzugefügt wird. Ändern Sie im Anforderungstext contoso.com in den Domänennamen Ihres Mandanten. Mandanteninformationen finden Sie auf der Azure Active Directory-Übersichtsseite. Notieren Sie die ID des Benutzers, um sie zu einem späteren Zeitpunkt in diesem Lernprogramm zu verwenden.

Anforderung

POST https://graph.microsoft.com/v1.0/users
Content-type: application/json

{
  "accountEnabled":true,
  "displayName":"MyTestUser1",
  "mailNickname":"MyTestUser1",
  "userPrincipalName":"MyTestUser1@contoso.com",
  "passwordProfile": {
    "forceChangePasswordNextSignIn":true,
    "password":"Contoso1234"
  }
}

Antwort

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
  "id": "040f9599-7c0f-4f94-aa75-8394c4c6ea9b",
  "businessPhones": [],
  "displayName": "MyTestUser1",
  "userPrincipalName": "MyTestUser1@contoso.com"
}

Zuweisen eines Benutzers zur Anwendung

Weisen Sie dem Dienstprinzipal den erstellten Benutzer zu, und weisen Sie die Admin,WAAD-App-Rolle zu.

Geben Sie im Textkörper der Anforderung die folgenden Werte an:

  • principalId – Die ID des Benutzerkontos, das Sie erstellt haben.
  • appRoleId – Die ID der hinzugefügten Admin,WAAD-App-Rolle.
  • resourceId – Die ID des Dienstprinzipals.

Anforderung

POST https://graph.microsoft.com/v1.0/servicePrincipals/a750f6cf-2319-464a-bcc3-456926736a91/appRoleAssignments
Content-type: application/json

{
  "principalId": "040f9599-7c0f-4f94-aa75-8394c4c6ea9b",
  "principalType": "User",
  "appRoleId":"3a84e31e-bffa-470f-b9e6-754a61e4dc63",
  "resourceId":"a750f6cf-2319-464a-bcc3-456926736a91"
}

Antwort

HTTP/1.1 201 
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#servicePrincipals('a750f6cf-2319-464a-bcc3-456926736a91')/appRoleAssignments/$entity",
  "id": "mZUPBA98lE-qdYOUxMbqm2qY3odGRGdFtpYJkAfUC0Q",
  "deletedDateTime": null,
  "appRoleId": "3a84e31e-bffa-470f-b9e6-754a61e4dc63",
  "createdDateTime": "2021-05-10T21:04:11.0480851Z",
  "principalDisplayName": "MyTestUser1",
  "principalId": "040f9599-7c0f-4f94-aa75-8394c4c6ea9b",
  "principalType": "User",
  "resourceDisplayName": "AWS Contoso",
  "resourceId": "a750f6cf-2319-464a-bcc3-456926736a91"
}

Schritt 6: Abrufen von Azure AD-SAML-Metadaten

Verwenden Sie die folgende URL, um die Azure AD SAML-Metadaten für die spezielle konfigurierte Anwendung abzurufen. Die Metadaten enthalten unter anderem Informationen wie das Signaturzertifikat, Azure AD entityID und Azure AD SingleSignOnService.

https://login.microsoftonline.com/{tenant-id}/federationmetadata/2007-06/federationmetadata.xml?appid={app-id}

Im Folgenden finden Sie ein Beispiel dafür, was bei Ihrer Anwendung möglicherweise zu sehen ist:

<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" ID="_05fbbf53-e892-43c9-9300-1f6738ace02c" entityID="https://sts.windows.net/2f82f566-5953-43f4-9251-79c6009bdf24/">
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">

...

<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://login.microsoftonline.com/2f82f566-5953-43f4-9251-79c6009bdf24/saml2"/>
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://login.microsoftonline.com/2f82f566-5953-43f4-9251-79c6009bdf24/saml2"/>
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://login.microsoftonline.com/2f82f566-5953-43f4-9251-79c6009bdf24/saml2"/>
</IDPSSODescriptor>
</EntityDescriptor>

Schritt 7: Ressourcen bereinigen

In diesem Schritt entfernen Sie die Ressourcen, die Sie erstellt haben.

Löschen der Anwendung

Löschen Sie die von Ihnen erstellte Anwendung.

Anforderung

DELETE https://graph.microsoft.com/v1.0/applications/a9be408a-6c31-4141-8cea-52fcd4a61be8

Antwort

No Content - 204

Löschen Sie das Benutzerkonto.

Löschen Sie das MyTestUser1-Benutzerkonto.

Anforderung

DELETE https://graph.microsoft.com/v1.0/users/040f9599-7c0f-4f94-aa75-8394c4c6ea9b

Antwort

No Content - 204

Löschen einer Anspruchszuordnungsrichtlinie

Löschen Sie die Anspruchszuordnungsrichtlinie.

Anforderung

DELETE https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies/a4b35718-fd5e-4ca8-8248-a3c9934b1b78

Antwort

No Content - 204

Siehe auch