Wprowadzenie z uwierzytelnianiem opartym na certyfikatach w Azure Active Directory z federacją

Uwierzytelnianie oparte na certyfikatach (CBA) z federacją umożliwia uwierzytelnianie przez Azure Active Directory przy użyciu certyfikatu klienta na urządzeniu Windows, Android lub iOS podczas łączenia konta Exchange online z:

  • Aplikacje mobilne firmy Microsoft, takie jak microsoft Outlook i Microsoft Word
  • klienci Exchange ActiveSync (EAS)

Skonfigurowanie tej funkcji eliminuje konieczność wprowadzenia kombinacji nazwy użytkownika i hasła w określonych aplikacjach poczty i Microsoft Office na urządzeniu przenośnym.

Uwaga

Alternatywnie organizacje mogą wdrażać Azure AD CBA bez konieczności federacji. Aby uzyskać więcej informacji, zobacz Omówienie uwierzytelniania opartego na certyfikatach Azure AD względem Azure Active Directory.

Ten temat:

Wymagania

Aby skonfigurować cba z federacją, następujące instrukcje muszą być prawdziwe:

  • Usługa CBA z federacją jest obsługiwana tylko w środowiskach federacyjnych dla aplikacji przeglądarki, natywnych klientów korzystających z nowoczesnego uwierzytelniania (ADAL) lub bibliotek MSAL. Jednym z wyjątków jest Exchange Active Sync (EAS) dla Exchange Online (EXO), które mogą być używane dla kont federacyjnych i zarządzanych. Aby skonfigurować Azure AD CBA bez konieczności federacji, zobacz Jak skonfigurować uwierzytelnianie oparte na certyfikatach Azure AD.
  • Główny urząd certyfikacji i wszystkie pośrednie urzędy certyfikacji muszą być skonfigurowane w Azure Active Directory.
  • Każdy urząd certyfikacji musi mieć listę odwołania certyfikatów (CRL), do których można się odwoływać za pośrednictwem internetowego adresu URL.
  • W Azure Active Directory musi być skonfigurowany co najmniej jeden urząd certyfikacji. Powiązane kroki można znaleźć w sekcji Konfigurowanie urzędów certyfikacji .
  • W przypadku klientów Exchange ActiveSync certyfikat klienta musi mieć adres e-mail z routingiem użytkownika w Exchange online w polu Główna nazwa lub nazwa RFC822 pola Nazwa alternatywna podmiotu. Azure Active Directory mapuje wartość RFC822 na atrybut Adres serwera proxy w katalogu.
  • Urządzenie klienckie musi mieć dostęp do co najmniej jednego urzędu certyfikacji, który wystawia certyfikaty klienta.
  • Certyfikat klienta na potrzeby uwierzytelniania klienta musi zostać wystawiony klientowi.

Ważne

Maksymalny rozmiar listy CRL dla Azure Active Directory pomyślnego pobrania i pamięci podręcznej wynosi 20 MB, a czas wymagany do pobrania listy CRL nie może przekraczać 10 sekund. Jeśli Azure Active Directory nie można pobrać listy CRL, uwierzytelnianie oparte na certyfikatach przy użyciu certyfikatów wystawionych przez odpowiedni urząd certyfikacji zakończy się niepowodzeniem. Najlepsze rozwiązania w celu zapewnienia, że pliki listy CRL znajdują się w ramach ograniczeń rozmiaru, to utrzymanie okresów istnienia certyfikatów w rozsądnych granicach i czyszczenie wygasłych certyfikatów.

Krok 1. Wybieranie platformy urządzenia

W pierwszym kroku dla platformy urządzeń, o której dbasz, należy przejrzeć następujące kwestie:

  • Obsługa aplikacji mobilnych Office
  • Określone wymagania dotyczące implementacji

Powiązane informacje istnieją dla następujących platform urządzeń:

Krok 2. Konfigurowanie urzędów certyfikacji

Aby skonfigurować urzędy certyfikacji w Azure Active Directory, dla każdego urzędu certyfikacji przekaż następujące elementy:

  • Publiczna część certyfikatu w formacie cer
  • Adresy URL dostępne z Internetu, w których znajdują się listy odwołania certyfikatów (CRL)

Schemat urzędu certyfikacji wygląda następująco:

    class TrustedCAsForPasswordlessAuth
    {
       CertificateAuthorityInformation[] certificateAuthorities;
    }

    class CertificateAuthorityInformation

    {
        CertAuthorityType authorityType;
        X509Certificate trustedCertificate;
        string crlDistributionPoint;
        string deltaCrlDistributionPoint;
        string trustedIssuer;
        string trustedIssuerSKI;
    }

    enum CertAuthorityType
    {
        RootAuthority = 0,
        IntermediateAuthority = 1
    }

W przypadku konfiguracji można użyć programu Azure Active Directory PowerShell w wersji 2:

  1. Rozpocznij Windows PowerShell z uprawnieniami administratora.

  2. Zainstaluj moduł Azure AD w wersji 2.0.0.33 lub nowszej.

        Install-Module -Name AzureAD –RequiredVersion 2.0.0.33
    

W pierwszym kroku konfiguracji należy nawiązać połączenie z dzierżawą. Gdy tylko istnieje połączenie z dzierżawą, możesz przeglądać, dodawać, usuwać i modyfikować zaufane urzędy certyfikacji zdefiniowane w katalogu.

Połącz

Aby nawiązać połączenie z dzierżawą, użyj polecenia cmdlet Połączenie-AzureAD:

    Connect-AzureAD

Pobrać

Aby pobrać zaufane urzędy certyfikacji zdefiniowane w katalogu, użyj polecenia cmdlet Get-AzureADTrustedCertificateAuthority .

    Get-AzureADTrustedCertificateAuthority

Dodaj

Aby utworzyć zaufany urząd certyfikacji, użyj polecenia cmdlet New-AzureADTrustedCertificateAuthority i ustaw atrybut crlDistributionPoint na poprawną wartość:

    $cert=Get-Content -Encoding byte "[LOCATION OF THE CER FILE]"
    $new_ca=New-Object -TypeName Microsoft.Open.AzureAD.Model.CertificateAuthorityInformation
    $new_ca.AuthorityType=0
    $new_ca.TrustedCertificate=$cert
    $new_ca.crlDistributionPoint="<CRL Distribution URL>"
    New-AzureADTrustedCertificateAuthority -CertificateAuthorityInformation $new_ca

Usuń

Aby usunąć zaufany urząd certyfikacji, użyj polecenia cmdlet Remove-AzureADTrustedCertificateAuthority :

    $c=Get-AzureADTrustedCertificateAuthority
    Remove-AzureADTrustedCertificateAuthority -CertificateAuthorityInformation $c[2]

Modyfikowanie

Aby zmodyfikować zaufany urząd certyfikacji, użyj polecenia cmdlet Set-AzureADTrustedCertificateAuthority :

    $c=Get-AzureADTrustedCertificateAuthority
    $c[0].AuthorityType=1
    Set-AzureADTrustedCertificateAuthority -CertificateAuthorityInformation $c[0]

Krok 3. Konfigurowanie odwołania

Aby odwołać certyfikat klienta, Azure Active Directory pobiera listę odwołania certyfikatów (CRL) z adresów URL przekazanych w ramach informacji o urzędzie certyfikacji i buforuje go. Ostatnia sygnatura czasowa publikowania (właściwość Effective Date ) w liście CRL służy do zapewnienia, że lista CRL jest nadal prawidłowa. Lista CRL jest okresowo odwołuje się do odwołania dostępu do certyfikatów, które są częścią listy.

Jeśli wymagane jest bardziej natychmiastowe odwołanie (na przykład jeśli użytkownik utraci urządzenie), token autoryzacji użytkownika może zostać unieważniony. Aby unieważnić token autoryzacji, ustaw pole StsRefreshTokenValidFrom dla tego konkretnego użytkownika przy użyciu Windows PowerShell. Musisz zaktualizować pole StsRefreshTokenValidFrom dla każdego użytkownika, dla którego chcesz odwołać dostęp.

Aby upewnić się, że odwołanie będzie się powtarzać, należy ustawić datę obowiązującą listy CRL na datę po wartości ustawionej przez StsRefreshTokenValidFrom i upewnić się, że certyfikat, którego dotyczy, znajduje się na liście CRL.

Poniższe kroki przedstawiają proces aktualizowania i unieważniania tokenu autoryzacji przez ustawienie pola StsRefreshTokenValidFrom .

  1. Połączenie przy użyciu poświadczeń administratora do usługi MSOL:

            $msolcred = get-credential
             connect-msolservice -credential $msolcred
    
  2. Pobierz bieżącą wartość StsRefreshTokensValidFrom dla użytkownika:

            $user = Get-MsolUser -UserPrincipalName test@yourdomain.com`
            $user.StsRefreshTokensValidFrom
    
  3. Skonfiguruj nową wartość StsRefreshTokensValidFrom dla użytkownika równą bieżącej sygnaturze czasowej:

            Set-MsolUser -UserPrincipalName test@yourdomain.com -StsRefreshTokensValidFrom ("03/05/2021")
    

Ustawiona data musi być w przyszłości. Jeśli data nie jest w przyszłości, właściwość StsRefreshTokensValidFrom nie jest ustawiona. Jeśli data jest w przyszłości, StsRefreshTokensValidFrom jest ustawiona na bieżącą godzinę (a nie datę wskazaną przez polecenie Set-MsolUser).

Krok 4. Testowanie konfiguracji

Testowanie certyfikatu

Jako pierwszy test konfiguracji należy spróbować zalogować się do usługi Outlook Web Access lub SharePoint Online przy użyciu przeglądarki na urządzeniu.

Jeśli logowanie zakończy się pomyślnie, wiesz, że:

  • Certyfikat użytkownika został aprowizowany na urządzeniu testowym
  • Usługi AD FS są poprawnie skonfigurowane

Testowanie aplikacji mobilnych Office

  1. Na urządzeniu testowym zainstaluj aplikację mobilną Office (na przykład OneDrive).
  2. Uruchom aplikację.
  3. Wprowadź nazwę użytkownika, a następnie wybierz certyfikat użytkownika, którego chcesz użyć.

Powinno nastąpić pomyślne zalogowanie.

Testowanie aplikacji klienckich Exchange ActiveSync

Aby uzyskać dostęp do Exchange ActiveSync (EAS) za pośrednictwem uwierzytelniania opartego na certyfikatach, profil EAS zawierający certyfikat klienta musi być dostępny dla aplikacji.

Profil EAS musi zawierać następujące informacje:

  • Certyfikat użytkownika do użycia do uwierzytelniania

  • Punkt końcowy EAS (na przykład outlook.office365.com)

Profil EAS można skonfigurować i umieścić na urządzeniu przy użyciu funkcji zarządzania urządzeniami przenośnymi (MDM), takich jak Microsoft Endpoint Manager lub ręcznie umieszczając certyfikat w profilu EAS na urządzeniu.

Testowanie aplikacji klienckich EAS w systemie Android

  1. Skonfiguruj profil EAS w aplikacji, który spełnia wymagania w poprzedniej sekcji.
  2. Otwórz aplikację i sprawdź, czy poczta jest synchronizowana.

Następne kroki

Dodatkowe informacje na temat uwierzytelniania opartego na certyfikatach na urządzeniach z systemem Android.

Dodatkowe informacje na temat uwierzytelniania opartego na certyfikatach na urządzeniach z systemem iOS.