Udostępnij za pośrednictwem


Certyfikaty i klucze

Zaktualizowano: 19 czerwca 2015 r.

Dotyczy: Azure

Microsoft Azure Active Directory Access Control (znanej również jako usługa Access Control lub ACS) oferuje dwa różne sposoby podpisywania i szyfrowania tokenów: certyfikaty X.509 z kluczem prywatnym i 256-bitowymi kluczami symetrycznymi. Każdy certyfikat lub klucz można skonfigurować pod kątem podpisywania tokenów dla określonych aplikacji jednostki uzależnionej lub wszystkich aplikacji jednostki uzależnionej w przestrzeni nazw oraz wyznaczać certyfikaty i klucze jako podstawowe lub pomocnicze. Aby dodać i skonfigurować podpisywanie tokenów, szyfrowanie i odszyfrowywanie certyfikatów i kluczy, użyj usługi zarządzania ACS lub portalu zarządzania ACS.

Tokeny podpisywania

Usługa ACS podpisuje wszystkie tokeny zabezpieczające, które występują w przypadku certyfikatu X.509 (z kluczem prywatnym) lub 256-bitowego klucza symetrycznego. Wybór typu poświadczenia podpisywania (certyfikatu lub klucza) zależy od formatu tokenu wybranego dla tokenów wystawionych przez usługę ACS. Aby uzyskać więcej informacji, zobacz "Logowanie tokenu" w aplikacjach jednostki uzależnionej. Podczas wybierania typu poświadczenia podpisywania do utworzenia należy wziąć pod uwagę następujące kwestie:

  • Tokeny SAML są podpisane przy użyciu certyfikatów X.509. SAML to domyślny format tokenu używany przez aplikacje oparte na programie Windows Identity Foundation (WIF). Tokeny SAML można wystawiać za pośrednictwem wielu protokołów, takich jak WS-Federation i WS-Trust.

  • Tokeny SWT są podpisane przy użyciu 256-bitowych kluczy symetrycznych. Tokeny SWT można wystawiać za pośrednictwem wielu protokołów, takich jak OAuth WRAP i WS-Federation.

  • Tokeny JWT mogą być podpisane przez certyfikaty X.509 lub 256-bitowe klucze symetryczne. Tokeny JWT można wystawiać za pośrednictwem wielu protokołów, takich jak WS-Federation, WS-Trust i OAuth 2.0.

Przestrzeń nazw lub dedykowane certyfikaty i klucze

Certyfikat podpisywania lub klucz symetryczny można skonfigurować tak, aby był używany dla całej przestrzeni nazw Access Control lub tylko dla określonej aplikacji jednostki uzależnionej w przestrzeni nazw. Różnica jest następująca:

  • Access Control przestrzeni nazw — gdy certyfikat podpisywania lub klucz jest skonfigurowany dla całej przestrzeni nazw Access Control, usługa ACS używa certyfikatu lub klucza do podpisywania tokenów dla wszystkich aplikacji jednostki uzależnionej w tej przestrzeni nazw, które nie mają certyfikatu ani klucza specyficznego dla aplikacji. Certyfikat o zakresie przestrzeni nazw jest również używany do podpisywania metadanych usługi ACS WS-Federation.

  • Dedykowane — jeśli skonfigurujesz certyfikat podpisywania lub klucz do użycia dla określonej aplikacji jednostki uzależnionej, usługa ACS używa certyfikatu podpisywania lub klucza tylko do podpisywania tokenów dostarczonych do określonej aplikacji jednostki uzależnionej.

    Jeśli tworzysz lub wprowadzasz dedykowany klucz symetryczny, usługa ACS używa dedykowanego klucza do podpisywania tokenów dla aplikacji. Jeśli dedykowany klucz wygaśnie i nie zostanie zastąpiony, usługa ACS używa klucza symetrycznego dla przestrzeni nazw Access Control do podpisywania tokenów dla aplikacji.

Uwaga

  • Najlepszym rozwiązaniem w zakresie zabezpieczeń w przypadku używania kluczy symetrycznych jest utworzenie dedykowanego klucza dla każdej aplikacji jednostki uzależnionej. Certyfikat X.509 może być bezpiecznie współużytkowany przez wiele aplikacji w przestrzeni nazw Access Control.

  • Podczas dodawania aplikacji jednostki uzależnionej zarządzanej przez firmę Microsoft do zarządzanej przestrzeni nazw, takiej jak dodawanie aplikacji jednostki uzależnionej Service Bus do przestrzeni nazw Service Bus, nie należy używać certyfikatów ani kluczy specyficznych dla aplikacji. Zamiast tego wybierz opcję ACS, aby użyć certyfikatów i kluczy skonfigurowanych dla wszystkich aplikacji w zarządzanej przestrzeni nazw. W przypadku wszystkich innych aplikacji jednostki uzależnionej użyj certyfikatów i kluczy specyficznych dla aplikacji. Aby uzyskać więcej informacji, zobacz Zarządzane przestrzenie nazw.

  • Podczas konfigurowania aplikacji jednostki uzależnionej, która używa certyfikatu X.509 dla przestrzeni nazw Access Control do podpisywania tokenów JWT, linki do certyfikatu przestrzeni nazw Access Control i klucza przestrzeni nazw Access Control są wyświetlane na stronie aplikacji jednostki uzależnionej w portalu zarządzania ACS. Jednak usługa ACS używa tylko certyfikatu przestrzeni nazw do podpisywania tokenów dla aplikacji jednostki uzależnionej.

Certyfikaty podpisywania są zwykle używane do podpisywania tokenów dla wszystkich aplikacji jednostki uzależnionej w przestrzeni nazw. Składnik klucza publicznego certyfikatu podpisywania przestrzeni nazw jest publikowany w metadanych usługi ACS WS-Federation, co umożliwia aplikacjom jednostki uzależnionej automatyzację konfiguracji. Klucze publiczne certyfikatów przypisanych tylko do określonej aplikacji jednostki uzależnionej nie są obecne w metadanych usługi ACS WS-Federation i są używane tylko wtedy, gdy wymagana jest niezależna kontrola nad certyfikatem podpisywania aplikacji jednostki uzależnionej.

Certyfikaty podstawowe i klucze

W usłudze ACS można obsługiwać kilka certyfikatów i kluczy, ale używać tylko wyznaczonych certyfikatów i kluczy do podpisywania tokenów. Certyfikaty i klucze przeznaczone do podpisywania są nazywane certyfikatami podstawowymi i kluczami.

Aby wyznaczyć certyfikat lub klucz jako podstawowy, wybierz pozycję Ustaw element podstawowy na stronie certyfikatu lub klucza. Aby wyznaczyć inny certyfikat jako podstawowy, wybierz pozycję Ustaw element podstawowy na stronie dla innego certyfikatu lub klucza. Gdy to zrobisz, usługa ACS automatycznie obniża wszystkie istniejące certyfikaty podstawowe lub klucze do innych niż podstawowe.

Jeśli co najmniej jeden certyfikat lub klucz jest podstawowy, certyfikaty i klucze inne niż podstawowe nie są używane do podpisywania, dopóki nie zostaną podniesione do stanu podstawowego przez administratora, nawet jeśli certyfikat podstawowy lub klucz jest nieprawidłowy lub wygasł. Jeśli jednak żaden z certyfikatów (lub kluczy) nie jest podstawowy, usługa ACS używa certyfikatu innego niż podstawowy, który ma najwcześniejszą prawidłową datę rozpoczęcia.

Składnik klucza publicznego zarówno certyfikatów podstawowych, jak i innych niż podstawowe jest publikowany w metadanych usługi ACS WS-Federation w celu włączenia programowego przerzucania certyfikatów. Jednak usługa ACS używa tylko certyfikatów podstawowych i kluczy do podpisywania tokenów.

Obowiązujące i wygasane daty kluczy podpisywania

Po dodaniu 256-bitowych kluczy podpisywania symetrycznego należy również określić datę wejścia w życie i datę wygaśnięcia. Data wejścia w życie wskazuje datę wprowadzenia tego klucza. Data wygaśnięcia wskazuje datę wygaśnięcia tego klucza i nie można jej używać do podpisywania tokenów.

Szyfrowanie tokenów

W usłudze ACS możesz wybrać opcję szyfrowania dowolnego tokenu SAML 1.1 lub SAML 2.0, który może powodować problemy z aplikacjami jednostki uzależnionej.

Ważne

Usługa ACS nie obsługuje szyfrowania tokenów SWT ani JWT.

Szyfrowanie tokenów jest wymagane dla usług internetowych, które używają tokenów dowodowych posiadania za pośrednictwem protokołu WS-Trust. Jeśli używasz usługi ACS do zarządzania uwierzytelnianiem dla takiej aplikacji jednostki uzależnionej, wszystkie tokeny wystawione przez usługę ACS dla tej aplikacji jednostki uzależnionej muszą być szyfrowane. We wszystkich innych scenariuszach szyfrowanie tokenów jest opcjonalne.

Usługa ACS szyfruje tokeny SAML przy użyciu certyfikatu X.509 zawierającego klucz publiczny (plik cer). Token aplikacji jednostki uzależnionej odszyfrowuje token przy użyciu klucza prywatnego dla tego certyfikatu X.509. Aby uzyskać więcej informacji, zobacz "Szyfrowanie tokenów" w aplikacjach jednostki uzależnionej.

Odszyfrowywanie tokenów

Usługa ACS może akceptować zaszyfrowane tokeny od dostawców tożsamości WS-Federation, takich jak . Dostawca tożsamości WS-Federation odbiera klucz publiczny certyfikatu X.509 podczas importowania WS-Federation metadanych z usług ACS i używa tego klucza publicznego do szyfrowania tokenu zabezpieczającego przekazywanego do usługi ACS. Usługa ACS odszyfrowuje token przy użyciu klucza prywatnego tego certyfikatu X.509. Aby uzyskać więcej informacji, zobacz Instrukcje: konfigurowanie usług AD FS 2.0 jako dostawcy tożsamości.

Certyfikaty odszyfrowywania tokenu podstawowego

Można zachować wiele certyfikatów odszyfrowywania tokenów dla aplikacji jednostki uzależnionej lub Access Control przestrzeni nazw. W przypadku wyznaczenia certyfikatu jako podstawowego usługa ACS używa tego certyfikatu do odszyfrowywania tokenów od dostawców tożsamości WS-Federation i używa certyfikatów innych niż podstawowe tylko wtedy, gdy próba użycia certyfikatu podstawowego zakończy się niepowodzeniem.

Aby wyznaczyć certyfikat odszyfrowywania jako podstawowy, wybierz pozycję Ustaw element podstawowy na stronie certyfikatu. Aby wyznaczyć inny certyfikat jako podstawowy, wybierz pozycję Ustaw element podstawowy na stronie dla innego certyfikatu. Gdy to zrobisz, usługa ACS automatycznie obniża wszystkie istniejące podstawowe certyfikaty odszyfrowywania do innych niż podstawowe.

Ograniczenia usługi ACS dotyczące plików certyfikatów X.509

W usłudze ACS certyfikaty X.509 zawierające tylko klucz publiczny (plik cer) mogą być używane podczas tworzenia tożsamości usługi, weryfikowania podpisu dostawcy tożsamości lub szyfrowania tokenów SAML. Pliki certyfikatów X.509 zawierające tylko klucz publiczny (plik cer) muszą być zakodowane w formacie DER do użycia z usługą ACS. Pliki certyfikatów zakodowane w formacie Base64 nie są obecnie obsługiwane. Przekazanie certyfikatu zakodowanego w formacie base64 do usługi ACS spowoduje błąd weryfikacji, gdy usługa ACS odbiera token przychodzący, który wymaga tego certyfikatu.

W usłudze ACS certyfikaty X.509 muszą być podpisane samodzielnie lub podpisane i powiązane bezpośrednio z publicznym urzędem certyfikacji. Usługa ACS nie będzie działać z certyfikatami wystawionymi przez prywatny urząd certyfikacji.

Uwaga

Certyfikaty X.509 zaimportowane do usługi ACS nie mogą być wygasłe.

Uzyskiwanie certyfikatu X.509

Istnieje kilka sposobów uzyskania certyfikatu X.509 na potrzeby podpisywania tokenu, szyfrowania tokenu lub odszyfrowywania. Używana metoda zależy od wymagań i narzędzi dostępnych w organizacji.

Komercyjny urząd certyfikacji — możesz kupić certyfikat X.509 od komercyjnego urzędu certyfikacji.

Wygeneruj certyfikat Self-Signed — możesz wygenerować własny certyfikat z podpisem własnym do użycia z usługą ACS. Jeśli korzystasz z systemu operacyjnego opartego na Windows, możesz użyć MakeCert.exe, narzędzia dołączonego do zestawu Microsoft Windows Software Development Kit (https://go.microsoft.com/fwlink/?LinkID=214104), aby wygenerować certyfikat z podpisem własnym.

Na przykład następujące polecenie generuje certyfikat z podpisem własnym w osobistym magazynie certyfikatów.

MakeCert.exe -r -pe -n "CN=<service_namespace_name>.accesscontrol.windows.net" -sky exchange -ss my -len 2048 –e <1 year from today>

gdzie <service_namespace_name> to nazwa przestrzeni nazw Access Control.

Następnie możesz wyeksportować klucz prywatny z magazynu osobistego jako plik pfx i użyć portalu zarządzania ACS, aby przekazać go do usługi ACS.

Eksportowanie certyfikatu Self-Signed

Te instrukcje wyjaśniają, jak wyeksportować certyfikat z podpisem własnym z komputera z systemem Windows 8, Windows Server 2012, lub .

Aby wyeksportować certyfikat z podpisem własnym

  1. Uruchom MMC.exe i dodaj przystawkę Certyfikaty do konsoli programu MMC.

  2. Kliknij dwukrotnie pozycję Certyfikaty — bieżący użytkownik, osobisty, a następnie pozycję Certyfikaty.

  3. Kliknij prawym przyciskiem myszy certyfikat, kliknij pozycję Wszystkie zadania, a następnie kliknij polecenie Eksportuj.

  4. Na stronie Powitanie Kreatora eksportu certyfikatów kliknij przycisk Dalej.

  5. Na stronie Eksportowanie klucza prywatnego wybierz opcję Tak, eksportuj klucz prywatny, a następnie kliknij przycisk Dalej.

  6. Na stronie Format pliku eksportu kliknij pozycję Informacje osobiste Exchange — PKCS #12 (. PFX).

  7. W polach Hasło wprowadź hasło i hasło potwierdzenia, a następnie kliknij przycisk Dalej.

  8. W polu Nazwa pliku wprowadź ścieżkę i nazwę pliku z rozszerzeniem nazwy pliku PFX, a następnie kliknij przycisk Dalej.

  9. Kliknij przycisk Finish (Zakończ).

Prawidłowe daty certyfikatów i kluczy

Usługa ACS ocenia daty rozpoczęcia i zakończenia (oraz daty i godziny) certyfikatów i kluczy w uniwersalnym czasie koordynowanym (UTC). W związku z tym usługa ACS może rozważyć, że klucze i certyfikaty są nieprawidłowe, nawet jeśli są one prawidłowe w czasie lokalnym komputera lokalnego lub w innej strefie czasowej.

Aby upewnić się, że certyfikat lub klucz jest prawidłowy natychmiast, dostosuj daty do godziny UTC. W przeciwnym razie usługa ACS może nie wydać tokenu, ponieważ klucz lub certyfikat nie jest jeszcze prawidłowy.

Zobacz też

Pojęcia

Składniki ACS 2.0
Aplikacje jednostek uzależnionych
Wskazówki dotyczące zarządzania certyfikatami i kluczami