Ważne zagadnienia i ograniczenia dotyczące poświadczeń tożsamości federacyjnej

W tym artykule opisano ważne zagadnienia, ograniczenia i ograniczenia dotyczące poświadczeń tożsamości federacyjnej w aplikacjach Firmy Microsoft Entra i tożsamościach zarządzanych przypisanych przez użytkownika.

Aby uzyskać więcej informacji na temat scenariuszy obsługiwanych przez poświadczenia tożsamości federacyjnej, zobacz Omówienie federacji tożsamości obciążenia.

Ogólne zagadnienia dotyczące poświadczeń tożsamości federacyjnej

Dotyczy: aplikacje i tożsamości zarządzane przypisane przez użytkownika

Każda osoba z uprawnieniami do tworzenia rejestracji aplikacji i dodawania wpisu tajnego lub certyfikatu może dodać poświadczenia tożsamości federacyjnej do aplikacji. Jeśli przełącznik Użytkownicy mogą rejestrować aplikacje ma wartość Nie w bloku Użytkownicy-użytkownik> Ustawienia w centrum administracyjnym firmy Microsoft Entra, nie będzie można jednak utworzyć rejestracji aplikacji ani skonfigurować poświadczeń tożsamości federacyjnej. Znajdź administratora, aby skonfigurować poświadczenia tożsamości federacyjnej w Twoim imieniu, osobę w rolach Administracja istratora aplikacji lub właściciela aplikacji.

Poświadczenia tożsamości federacyjnej nie korzystają z limitu przydziału obiektu jednostki usługi dzierżawy firmy Microsoft.

Do aplikacji lub tożsamości zarządzanej przypisanej przez użytkownika można dodać maksymalnie 20 poświadczeń tożsamości federacyjnej.

Podczas konfigurowania poświadczeń tożsamości federacyjnej należy podać kilka ważnych informacji:

  • wystawca i podmiot to kluczowe informacje potrzebne do skonfigurowania relacji zaufania. Kombinacja elementów issuer i subject musi być unikatowa w aplikacji. Gdy obciążenie oprogramowania zewnętrznego żąda Platforma tożsamości Microsoft wymiany tokenu zewnętrznego dla tokenu dostępu, wystawca i wartości podmiotu poświadczeń tożsamości federacyjnej są sprawdzane względem issuer poświadczeń i subject podanych w tokenie zewnętrznym. Jeśli sprawdzanie poprawności zakończy się pomyślnie, Platforma tożsamości Microsoft wystawia token dostępu do zewnętrznego obciążenia oprogramowania.

  • wystawca jest adresem URL zewnętrznego dostawcy tożsamości i musi być zgodny z issuer oświadczeniem wymienianego tokenu zewnętrznego. Wymagany. issuer Jeśli oświadczenie ma wiodące lub końcowe białe znaki w wartości, wymiana tokenów zostanie zablokowana. To pole ma limit znaków 600 znaków.

  • subject jest identyfikatorem obciążenia oprogramowania zewnętrznego i musi być zgodny sub z oświadczeniem (subject) zewnętrznego tokenu wymienianego. podmiot nie ma stałego formatu, ponieważ każdy dostawca tożsamości używa własnego identyfikatora — czasami identyfikator GUID, czasami identyfikator rozdzielany dwukropkiem, czasami dowolnych ciągów. To pole ma limit znaków 600 znaków.

    Ważne

    Wartości ustawień podmiotu muszą dokładnie odpowiadać konfiguracji w konfiguracji przepływu pracy usługi GitHub. W przeciwnym razie Platforma tożsamości Microsoft przyjrzy się przychodzącego tokenu zewnętrznego i odrzuci wymianę tokenu dostępu. Nie zostanie wyświetlony błąd, wymiana kończy się niepowodzeniem bez błędu.

    Ważne

    Jeśli przypadkowo dodasz nieprawidłowe informacje o obciążeniu zewnętrznym w temacie , ustawienie poświadczenia tożsamości federacyjnej zostanie utworzone pomyślnie bez błędu. Błąd nie jest widoczny, dopóki wymiana tokenów nie powiedzie się.

  • odbiorcy wyświetlają listę odbiorców, którzy mogą pojawić się w tokenie zewnętrznym. Wymagany. Musisz dodać pojedynczą wartość odbiorców, która ma limit 600 znaków. Zalecana wartość to "api://AzureADTokenExchange". Mówi, co Platforma tożsamości Microsoft musi zaakceptować w oświadczeniu aud w tokenie przychodzącym.

  • name jest unikatowym identyfikatorem poświadczeń tożsamości federacyjnej. Wymagany. To pole ma limit znaków od 3 do 120 znaków i musi być przyjazny dla adresu URL. Obsługiwane są znaki alfanumeryczne, kreskowe lub podkreślenia. Pierwszy znak musi być tylko alfanumeryczny.  Jest niezmienny po utworzeniu.

  • opis to podany przez użytkownika opis poświadczeń tożsamości federacyjnej. Opcjonalny. Opis nie jest weryfikowany ani sprawdzany przez identyfikator Entra firmy Microsoft. To pole ma limit 600 znaków.

Symbole wieloznaczne nie są obsługiwane w żadnej wartości właściwości poświadczeń tożsamości federacyjnej.

Nieobsługiwane regiony (tożsamości zarządzane przypisane przez użytkownika)

Dotyczy: tożsamości zarządzane przypisane przez użytkownika

Tworzenie poświadczeń tożsamości federacyjnej nie jest obecnie obsługiwane w przypadku tożsamości zarządzanych przypisanych przez użytkownika utworzonych w następujących regionach:

  • Azja Wschodnia
  • Katar Środkowy
  • Malezja Południowa
  • Włochy Północne
  • Izrael Centralny

Obsługa tworzenia poświadczeń tożsamości federacyjnej dla tożsamości przypisanych przez użytkownika w tych regionach będzie stopniowo wdrażana. Zasoby w tym regionie, które muszą używać poświadczeń tożsamości federacyjnej, mogą to zrobić, korzystając z tożsamości zarządzanej przypisanej przez użytkownika utworzonej w obsługiwanym regionie.

Obsługiwane algorytmy podpisywania i wystawcy

Dotyczy: aplikacje i tożsamości zarządzane przypisane przez użytkownika

Tylko wystawcy, którzy dostarczają tokeny podpisane przy użyciu algorytmu RS256, są obsługiwane w przypadku wymiany tokenów przy użyciu federacji tożsamości obciążenia. Wymiana tokenów podpisanych za pomocą innych algorytmów może działać, ale nie została przetestowana.

Wystawcy firmy Microsoft Entra nie są obsługiwane

Dotyczy: aplikacje i tożsamości zarządzane przypisane przez użytkownika

Tworzenie federacji między dwiema tożsamościami firmy Microsoft Entra z tej samej lub innej dzierżawy nie jest obsługiwane. Podczas tworzenia poświadczeń tożsamości federacyjnej konfigurowanie wystawcy (adresu URL zewnętrznego dostawcy tożsamości) z następującymi wartościami nie jest obsługiwane:

  • *.login.microsoftonline.com
  • *.login.windows.net
  • *.login.microsoft.com
  • *.sts.windows.net

Chociaż istnieje możliwość utworzenia poświadczeń tożsamości federacyjnej za pomocą wystawcy Firmy Microsoft Entra, próba użycia go do autoryzacji kończy się niepowodzeniem z powodu błędu AADSTS700222: AAD-issued tokens may not be used for federated identity flows.

Czas propagacji zmian poświadczeń federacyjnych

Dotyczy: aplikacje i tożsamości zarządzane przypisane przez użytkownika

Propagacja poświadczeń tożsamości federacyjnej w całym regionie po początkowym skonfigurowaniu zajmuje trochę czasu. Żądanie tokenu wykonane kilka minut po skonfigurowaniu poświadczeń tożsamości federacyjnej może zakończyć się niepowodzeniem, ponieważ pamięć podręczna jest wypełniana w katalogu starymi danymi. W tym przedziale czasu żądanie autoryzacji może zakończyć się niepowodzeniem z komunikatem o błędzie: AADSTS70021: No matching federated identity record found for presented assertion.

Aby uniknąć tego problemu, zaczekaj chwilę po dodaniu poświadczeń tożsamości federacyjnej przed zażądaniem tokenu, aby upewnić się, że replikacja zostanie ukończona we wszystkich węzłach usługi autoryzacji. Zalecamy również dodanie logiki ponawiania prób dla żądań tokenów. Ponowne próby należy wykonać dla każdego żądania nawet po pomyślnym uzyskaniu tokenu. Po zakończeniu replikacji danych procent awarii spadnie.

Aktualizacje współbieżne nie są obsługiwane (tożsamości zarządzane przypisane przez użytkownika)

Dotyczy: tożsamości zarządzane przypisane przez użytkownika

Tworzenie wielu poświadczeń tożsamości federacyjnej w ramach tej samej tożsamości zarządzanej przypisanej przez użytkownika współbieżnie wyzwala logikę wykrywania współbieżności, co powoduje niepowodzenie żądań z kodem stanu HTTP o konflikcie 409.

Program Terraform Provider for Azure (Resource Manager) w wersji 3.40.0 wprowadza aktualizację, która tworzy wiele poświadczeń tożsamości federacyjnej sekwencyjnie zamiast współbieżnie. Wersje starsze niż 3.40.0 mogą powodować błędy w potokach po utworzeniu wieloseparowych tożsamości federacyjnych. Zalecamy użycie dostawcy programu Terraform dla platformy Azure (Resource Manager) w wersji 3.40.0 lub nowszej, tak aby wiele poświadczeń tożsamości federacyjnej było tworzonych sekwencyjnie.

W przypadku używania automatyzacji lub szablonów usługi Azure Resource Manager (szablonów usługi ARM) do tworzenia poświadczeń tożsamości federacyjnej w ramach tej samej tożsamości nadrzędnej należy utworzyć poświadczenia federacyjne sekwencyjnie. Poświadczenia tożsamości federacyjnej w ramach różnych tożsamości zarządzanych można tworzyć równolegle bez żadnych ograniczeń.

Jeśli poświadczenia tożsamości federacyjnej są aprowizowanych w pętli, możesz aprowizować je szeregowo, ustawiając "tryb": "serial".

Można również aprowizować wiele nowych poświadczeń tożsamości federacyjnej sekwencyjnie przy użyciu właściwości dependsOn . Poniższy przykład szablonu usługi Azure Resource Manager (szablon usługi ARM) tworzy trzy nowe poświadczenia tożsamości federacyjnej sekwencyjnie na tożsamości zarządzanej przypisanej przez użytkownika przy użyciu właściwości dependsOn :

{ 
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", 
    "contentVersion": "1.0.0.0", 
    "parameters": { 
        "userAssignedIdentities_parent_uami_name": { 
            "defaultValue": "parent_uami", 
            "type": "String" 
        } 
    }, 
    "variables": {}, 
    "resources": [ 
        { 
            "type": "Microsoft.ManagedIdentity/userAssignedIdentities", 
            "apiVersion": "2022-01-31-preview", 
            "name": "[parameters('userAssignedIdentities_parent_uami_name')]", 
            "location": "eastus" 
        }, 
        { 
            "type": "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials", 
            "apiVersion": "2022-01-31-preview", 
            "name": "[concat(parameters('userAssignedIdentities_parent_uami_name'), '/fic01')]", 
            "dependsOn": [ 
                "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('userAssignedIdentities_parent_uami_name'))]" 
            ], 
            "properties": { 
                "issuer": "https://kubernetes-oauth.azure.com", 
                "subject": "fic01", 
                "audiences": [ 
                    "api://AzureADTokenExchange" 
                ] 
            } 
        }, 
        { 
            "type": "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials", 
            "apiVersion": "2022-01-31-preview", 
            "name": "[concat(parameters('userAssignedIdentities_parent_uami_name'), '/fic02')]", 
            "dependsOn": [ 
                "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('userAssignedIdentities_parent_uami_name'))]", 
                "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials', parameters('userAssignedIdentities_parent_uami_name'), 'fic01')]" 
            ], 
            "properties": { 
                "issuer": "https://kubernetes-oauth.azure.com", 
                "subject": "fic02", 
                "audiences": [ 
                    "api://AzureADTokenExchange" 
                ] 
            } 
        }, 
        { 
            "type": "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials", 
            "apiVersion": "2022-01-31-preview", 
            "name": "[concat(parameters('userAssignedIdentities_parent_uami_name'), '/fic03')]", 
            "dependsOn": [ 
                "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('userAssignedIdentities_parent_uami_name'))]", 
                "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials', parameters('userAssignedIdentities_parent_uami_name'), 'fic02')]" 
            ], 
            "properties": { 
                "issuer": "https://kubernetes-oauth.azure.com", 
                "subject": "fic03", 
                "audiences": [ 
                    "api://AzureADTokenExchange" 
                ] 
            } 
        } 
    ] 
} 

Azure Policy

Dotyczy: aplikacje i tożsamości zarządzane przypisane przez użytkownika

W poniższym przykładzie szablonu usługi ARM można użyć odmowy usługi Azure Policy :

{ 
"policyRule": { 
            "if": { 
                "field": "type", 
                "equals": "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials" 
            }, 
            "then": { 
                "effect": "deny" 
            } 
        } 
}

Limity ograniczania przepustowości

Dotyczy: tożsamości zarządzane przypisane przez użytkownika

W poniższej tabeli opisano limity żądań do tożsamości zarządzanych przypisanych przez użytkownika interfejsów API REST. Jeśli przekroczysz limit ograniczania przepustowości, zostanie wyświetlony błąd HTTP 429.

Operacja Żądania na sekundę na dzierżawę firmy Microsoft Entra Żądania na sekundę na subskrypcję Żądania na sekundę na zasób
Tworzenie lub aktualizowanie żądań 10 2 0.25
Pobieranie żądań 30 10 0.5
Wyświetlanie listy według grupy zasobów lub listy według żądań subskrypcji 15 5 0.25
Usuwanie żądań 10 2 0.25

Błędy

Dotyczy: aplikacje i tożsamości zarządzane przypisane przez użytkownika

Następujące kody błędów mogą być zwracane podczas tworzenia, aktualizowania, pobierania, wyświetlania listy lub usuwania poświadczeń tożsamości federacyjnej.

Kod HTTP Komunikat o błędzie Komentarze
405 Format żądania był nieoczekiwany: obsługa poświadczeń tożsamości federacyjnej nie jest włączona. Poświadczenia tożsamości federacyjnej nie są włączone w tym regionie. Zapoznaj się z tematem "Aktualnie obsługiwane regiony".
400 Poświadczenia tożsamości federacyjnej muszą mieć dokładnie jedną grupę odbiorców. Obecnie poświadczenia tożsamości federacyjnej obsługują pojedyncze grupy odbiorców "api://AzureADTokenExchange".
400 Poświadczenia tożsamości federacyjnej z treści PROTOKOŁU HTTP mają puste właściwości Wszystkie właściwości poświadczeń tożsamości federacyjnej są obowiązkowe.
400 Nazwa poświadczenia tożsamości federacyjnej "{ficName}" jest nieprawidłowa. Alfanumeryczne, kreska, podkreślenie, nie więcej niż 3–120 symboli. Pierwszy symbol to alfanumeryczne.
404 Tożsamość przypisana przez użytkownika nadrzędnego nie istnieje. Sprawdź nazwę tożsamości przypisanej przez użytkownika w ścieżce zasobu poświadczeń tożsamości federacyjnej.
400 Kombinacja wystawcy i podmiotu już istnieje dla tej tożsamości zarządzanej. Jest to ograniczenie. Wyświetl listę wszystkich poświadczeń tożsamości federacyjnej skojarzonych z tożsamością przypisaną przez użytkownika, aby znaleźć istniejące poświadczenia tożsamości federacyjnej.
409 Konflikt Równoczesne żądanie zapisu do zasobów poświadczeń tożsamości federacyjnej w ramach tej samej tożsamości przypisanej przez użytkownika zostało odrzucone.