Sdílet prostřednictvím


Přizpůsobení deklarací identity pomocí vlastních zásad deklarací identity v Microsoft Graphu (Preview)

Deklarace identity je informace, které zprostředkovatel identity uvádí o uživateli uvnitř tokenu, který pro daného uživatele vydává. Vlastní nastavení deklarací identity používají správci tenanta k přizpůsobení deklarací identity v tokenech pro konkrétní aplikaci ve svém tenantovi. Přizpůsobení deklarací identity podporuje konfiguraci deklarací identity pro aplikace pomocí protokolů SAML, OAuth a OpenID Connect. Přizpůsobení deklarací identity můžete použít k:

  • Vyberte, které deklarace identity jsou součástí tokenů.
  • Vytvořte typy deklarací identity, které ještě neexistují.
  • Zvolte nebo změňte zdroj dat vygenerovaných v konkrétních deklarací identity.

V tomto průvodci postupy probereme několik běžných scénářů, které vám pomůžou pochopit, jak používat vlastní zásady deklarací identity.

Požadavky

  • Tenant Microsoft Entra.
  • Podniková aplikace nakonfigurovaná v Centru pro správu Microsoft Entra.
  • Pro uživatele PowerShellu si stáhněte nejnovější sadu Microsoft Graph PowerShell SDK. Tento krok je nepovinný.

Přizpůsobení deklarací identity v Microsoft Entra ID

Microsoft Entra ID podporuje dva způsoby přizpůsobení deklarací identity pomocí Microsoft Graphu nebo PowerShellu pro vaše aplikace:

V následujících příkladech vytvoříte, aktualizujete a nahradíte zásady pro instanční objekty. Vlastní zásady deklarací identity jsou vždy propojené s instančními objekty. Před vytvořením vlastních zásad deklarací identity pro aplikaci nebo instanční objekt se ujistěte, že jste podnikovou aplikaci nakonfigurovali jako součást požadavků.

Otevřete Microsoft Graph Explorer v prohlížeči, přihlaste se k Microsoft Graph Exploreru jako alespoň správce aplikace a zvolte jeden z následujících scénářů.

Po vytvoření vlastní zásady deklarací identity byste měli nakonfigurovat aplikaci tak, aby potvrdila, že tokeny obsahují přizpůsobené deklarace identity. Další informace najdete v tématu Důležité informace o zabezpečení.

Vynechání základních deklarací identity z tokenů

V tomto příkladu vytvoříte vlastní zásadu deklarací identity, která odebere základní sadu deklarací identity z tokenů vystavených propojenému instančnímu objektu.

  1. V Microsoft Graph Exploreru identifikujte aplikaci, pro kterou chcete nakonfigurovat vlastní zásady deklarací identity pro použití rozhraní API instančního objektu.

  2. Vytvořte vlastní zásady deklarací identity spuštěním následujícího rozhraní API. Tato zásada propojená s instančním objektem vynechá základní deklarace identity z tokenů.

    PUT https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
    

    Text požadavku:

    {
        "includeBasicClaimSet": false
    }
    
  3. Pokud chcete zobrazit novou zásadu, spusťte následující příkaz.

    GET https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
    

    Odpověď:

    HTTP/1.1 200 OK
    Content-type: application/json
    
    {
        "@odata.context": "…",
        "id": "aaaaaaaa-bbbb-cccc-1111-222222222222.",
        "includeBasicClaimSet": false,
        "includeApplicationIdInIssuer": false,
        "audienceOverride": null,
        "groupFilter": null,
        "claims": []
    }
    

EmployeeID Zahrnutí deklarací identity a TenantCountry jako deklarací identity do tokenů

V tomto příkladu vytvoříte přizpůsobení deklarací identity, které přidají EmployeeID tokeny a TenantCountry do tokenů. V tomto příkladu zahrneme také základní deklarace identity nastavené do tokenů.

  1. V Microsoft Graph Exploreru identifikujte aplikaci, pro kterou chcete nakonfigurovat vlastní zásady deklarací identity pro použití rozhraní API instančního objektu.

  2. Vytvořte vlastní zásady deklarací identity spuštěním následujícího rozhraní API. Tato zásada propojená s instančním objektem přidá deklarace Identity EmployeeID a TenantCountry do tokenů.

    PUT https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
    

    Text požadavku:

    {
        "includeBasicClaimSet": true,
        "claims": [
            {
                "@odata.type": "#microsoft.graph.customClaim",
                "name": "employeeId",
                "namespace": null,
                "tokenFormat": [
                    "jwt"
                ],
                "samlAttributeNameFormat": null,
                "configurations": [
                    {
                        "condition": null,
                        "attribute": {
                            "@odata.type": "#microsoft.graph.sourcedAttribute",
                            "id": " employeeid",
                            "source": "user",
                            "isExtensionAttribute": false
                        },
                        "transformations": []
                    }
                ]
            },
            {
                "@odata.type": "#microsoft.graph.customClaim",
                "name": "country",
                "namespace": null,
                "tokenFormat": [
                    "jwt"
                ],
                "samlAttributeNameFormat": null,
                "configurations": [
                    {
                        "condition": null,
                        "attribute": {
                            "@odata.type": "#microsoft.graph.sourcedAttribute",
                            "id": " tenantcountry",
                            "source": "user",
                            "isExtensionAttribute": false
                        },
                        "transformations": []
                    }
                ]
            }
        ]
    }
    
  3. Pokud chcete zobrazit novou zásadu, spusťte následující příkaz:

    GET https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
    

    Odpověď:

    {
        "@odata.context": "…",
        "id": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "includeBasicClaimSet": true,
        "includeApplicationIdInIssuer": false,
        "audienceOverride": null,
        "groupFilter": null,
        "claims": [...]
    }
    

Použití transformace deklarací identity v tokenech

V tomto příkladu aktualizujete zásadu tak, aby vygeneruje vlastní deklaraci identity JoinData pro JWT vydané propojenými instančními objekty. Tato deklarace identity obsahuje hodnotu vytvořenou spojením dat uložených v atributu extensionattribute1 u objektu uživatele s "-ext". V tomto příkladu vyloučíme základní deklarace identity nastavené v tokenech.

  1. V Microsoft Graph Exploreru identifikujte aplikaci, pro kterou chcete nakonfigurovat vlastní zásady deklarací identity pro použití rozhraní API instančního objektu.

  2. Vytvořte vlastní zásady deklarací identity spuštěním následujícího rozhraní API. Tato zásada generuje vlastní deklaraci identity JoinedData do tokenů.

    PATCH https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
    

    Text požadavku:

    {
        "includeBasicClaimSet": true,
        "claims": 
        [
            {
                "@odata.type": "#microsoft.graph.customClaim",
                "name": "JoinedData",
                "namespace": null,
                "tokenFormat": [
                    "jwt"
                ],
                "samlAttributeNameFormat": null,
                "configurations": 
                [
                    {
                        "condition": null,
                        "attribute": null,
                        "transformations": 
                        [
                            {
                                "@odata.type": "#microsoft.graph.joinTransformation",
                                "separator": "-",
                                "input": 
                                {
                                    "treatAsMultiValue": false,
                                    "attribute": 
                                    {
                                        "@odata.type": "#microsoft.graph.sourcedAttribute",
                                        "id": "extensionattribute1",
                                        "source": "user",
                                        "isExtensionAttribute": false
                                    }
                                },
                                "input2": 
                                {
                                    "treatAsMultiValue": false,
                                    "attribute": 
                                    {
                                        "@odata.type":"#microsoft.graph.valueBasedAttribute",
                                        "value": "ext"
                                     }
                                }
                            }
                        ]
                    }
                ]
            }
        ]
    }
    

    Poznámka:

    Vlastní zásady deklarací identity jsou zásady silného typu a každá transformace používá jinou @odata.type hodnotu.

  3. Pokud chcete zobrazit novou zásadu a získat ji ObjectId, spusťte následující příkaz:

    GET https://graph.microsoft.com/beta/servicePrincipals/<servicePrincipal-id>/claimsPolicy
    

    Odpověď:

    {
        "@odata.context": "…",
        "id": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "includeBasicClaimSet": true,
        "includeApplicationIdInIssuer": false,
        "audienceOverride": null,
        "groupFilter": null,
        "claims": [...]
    }