Udostępnij za pośrednictwem


Błąd usługi ADFS 2.0: odmowa dostępu

Ten artykuł zawiera rozwiązanie umożliwiające naprawienie błędu usług Federacyjnych Active Directory (AD FS) 2.0.

Oryginalny numer KB: 3044977

Podsumowanie

Większość problemów z usługami AD FS 2.0 należy do jednej z następujących głównych kategorii. Ten artykuł zawiera instrukcje krok po kroku dotyczące rozwiązywania problemów z regułami oświadczeń.

Symptomy

  • Token wystawiony przez usługę AD FS nie ma odpowiednich oświadczeń do autoryzowania dostępu użytkownika do aplikacji.

  • Serwer usług AD FS zwraca następujący komunikat o błędzie:

    Odmowa dostępu

  • Jeśli włączysz inspekcję usług AD FS przy użyciu tematu Konfigurowanie serwerów usług ADFS na potrzeby rozwiązywania problemów , w dzienniku zdarzeń zostanie wyświetlony następujący błąd:

    Identyfikator zdarzenia 325
    Usługa federacyjna nie może autoryzować wystawiania tokenów dla elementu wywołującego.

Rozwiązanie

Aby rozwiązać ten problem, wykonaj następujące kroki w podanej kolejności. Te kroki pomogą Ci określić przyczynę problemu. Upewnij się, że sprawdzasz, czy problem został rozwiązany po każdym kroku.

Krok 1. Uzyskiwanie szczegółowych informacji o wymaganych oświadczeniach

  • Ustal, które typy oświadczeń są wymagane w tokenie SAML od właściciela jednostki uzależnionej.
  • Określ, który dostawca oświadczeń był używany do uwierzytelniania użytkownika.

Na przykład:

  • Dostawca jednostki uzależnionej może wskazywać, że chce podać wartości Adres e-mail, Nazwa i Rola użytkownika.

  • Jeśli dostawca oświadczeń w tej sytuacji to "Active Directory", należy skonfigurować regułę oświadczenia akceptacji na poziomie "Active Directory".

    Uwaga 16.

    Jeśli dostawca oświadczeń jest inną usługą tokenu zabezpieczającego (STS), musimy utworzyć regułę przekazywania lub przekształcania oświadczenia, aby zaakceptować magazyn wartości oświadczeń w lokalnie zdefiniowanych typach oświadczeń, które mają być przekazywane do jednostki uzależnionej.

  • Utwórz oświadczenie przekazywane dla tych oświadczeń na poziomie jednostki uzależnionej.

Krok 2. Sprawdzanie, czy usługi AD FS odmawiają tokenu na podstawie reguł autoryzacji

W tym celu kliknij prawym przyciskiem myszy jednostkę uzależnioną, kliknij polecenie Edytuj reguły oświadczeń, a następnie kliknij kartę Reguły autoryzacji wystawiania. Podczas badania informacji o regułach należy wziąć pod uwagę następujące wskazówki:

  • Wszystkie reguły oświadczeń autoryzacji są przetwarzane.
  • Jeśli żadne reguły nie są zdefiniowane, serwer usług AD FS odrzuca wszystkich użytkowników.
  • Można również użyć metody allowlist zamiast używać reguły Zezwalaj na wszystko. W takiej sytuacji należy zdefiniować zestaw reguł określający warunki, w których użytkownik musi mieć wystawiony token.
  • W podejściu do listy zablokowanych będzie potrzebny jeden reguła Zezwól na wszystkie reguły wraz z co najmniej jedną regułą odmowy, która jest oparta na warunku.
  • Reguła odmowy zawsze zastępuje regułę Zezwalaj. Oznacza to, że jeśli zarówno warunki zezwalania, jak i odmowy oświadczenia są spełnione dla użytkownika, zostanie przestrzegana reguła Odmowy.
  • W przypadku reguł autoryzacji opartych na innych wartościach oświadczeń umożliwiających lub odmawiających tokenu te oświadczenia powinny być już wypchnięte do potoku oświadczeń z poziomu zaufania dostawcy oświadczeń.

Krok 3. Przechwytywanie śledzenia programu Fiddler

Przechwyć ślad debugera internetowego programu Fiddler w celu przechwycenia komunikacji z usługą AD FS i ustalenia, czy został wystawiony token SAML. Jeśli wystawiono token SAML, zdekoduj token, aby określić, czy jest wystawiany prawidłowy zestaw oświadczeń.

Aby uzyskać więcej informacji na temat tego procesu, zobacz AD FS 2.0: How to Use Fiddler Web Debugger to Analyze a WS-Federation Passive Sign-In (Jak używać debugera internetowego programu Fiddler do analizowania pasywnego logowania WS-Federation).

Aby znaleźć token SAML wystawiony przez usługę AD FS:

  • W śladzie programu fiddler przejrzyj odpowiedź z usług AD FS, aby określić, gdzie usługa AD FS ustawia pliki cookie MSISAuth i MSISAuthenticated. Możesz też przejrzeć żądanie, gdy usługi AD FS ustawiają pliki cookie MSISAuth i MSISAuthenticated.
  • Wybierz token, a następnie uruchom narzędzie TextWizard w programie Fiddler. Użyj elementu URLDecode dla odpowiedzi protokołu RSTR (WS-Fed) lub FromDeflatedSAML.

Krok 4. Włączanie inspekcji usług AD FS i sprawdzanie, czy token został wystawiony lub odrzucony, wraz z listą przetwarzanych oświadczeń

Skonfiguruj serwery usług AD FS do rejestrowania inspekcji zdarzeń usług AD FS w dzienniku zabezpieczeń. Aby skonfigurować dziennik Zabezpieczenia Windows w celu obsługi inspekcji zdarzeń usług AD FS, wykonaj następujące kroki:

  1. Kliknij przycisk Start, wskaż pozycję Narzędzia administracyjne, a następnie kliknij pozycję Zasady zabezpieczeń lokalnych.
  2. Kliknij dwukrotnie pozycję Zasady lokalne, a następnie kliknij pozycję Zasady inspekcji.
  3. W okienku szczegółów kliknij dwukrotnie pozycję Inspekcja dostępu do obiektu.
  4. Na stronie Audit object access Properties (Właściwości dostępu do obiektu inspekcji) wybierz pozycję Success (Powodzenie) lub Failure (Niepowodzenie) lub Failure (Niepowodzenie), a następnie kliknij przycisk OK.
  5. Zamknij przystawkę Ustawienia zabezpieczeń lokalnych.
  6. W wierszu polecenia wpisz gpupdate /force, a następnie naciśnij Enter, aby natychmiast odświeżyć zasady lokalne.

Do skonfigurowania dziennika Zabezpieczenia Windows można również użyć następującego obiektu zasad grupy:

Konfiguracja komputera\Zasady\Ustawienia systemu Windows\Ustawienia zabezpieczeń\Zaawansowana konfiguracja zasad inspekcji\Zasady inspekcji\Dostęp do obiektu\Wygenerowana aplikacja inspekcji — powodzenie i niepowodzenie konfigurowania usług AD FS

Jest to przydatne w scenariuszu, w którym usługi AD FS odmówiły tokenu użytkownikowi. Proces inspekcji usług AD FS zgłosi zdarzenie i oświadczenia, które zostały wygenerowane przed odmową tokenu. Ułatwia to określenie, które oświadczenie spowodowało zastosowanie reguły odmowy. Sprawdź dziennik zdarzeń zabezpieczeń szczególnie pod kątem identyfikatora zdarzenia 299, 500, 501 i 325.

Krok 5. Określanie, czy wymagane jest oświadczenie niestandardowe

Jeśli wymagania dotyczące wystawiania oświadczeń nie mogą być spełnione przez domyślne szablony reguł oświadczeń, może być konieczne napisanie oświadczenia niestandardowego. Aby uzyskać więcej informacji, zobacz Understanding Claim Rule Language in AD FS 2.0 and Higher (Opis języka reguł oświadczeń w usługach AD FS 2.0 i nowszych).

Zastrzeżenie dotyczące innych firm

Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych ani żadnego innego rodzaju, w odniesieniu do wydajności lub niezawodności tych produktów.