Opcje konfiguracji TLS

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
informacje.

Ten dokument zawiera omówienie sposobu konfigurowania protokołu TLS na serwerach brzegowych w 2 obszarach funkcjonalnych:

  1. Dostęp do serwerów proxy interfejsu API przez klienty interfejsu API. Aby skonfigurować TLS, użyj hostów wirtualnych w routerze brzegowym.
  2. Dostęp do usług backendu przez Edge. Użyj docelowych punktów końcowych i serwerów docelowych w procesorze wiadomości brzegowych, aby skonfigurować TLS.

Poniżej przedstawiliśmy oba te rodzaje dostępu:

Informacje o konfigurowaniu opcji TLS na hoście wirtualnym lub docelowym punkcie końcowym/serwerze docelowym

Host wirtualny może być reprezentowany przez obiekt XML w postaci:

<VirtualHost name="secure">
    ...
    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>true</ClientAuthEnabled> 
        <KeyStore>ref://myKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
        <TrustStore>ref://myTruststoreRef</TrustStore> 
        <IgnoreValidationErrors>false</IgnoreValidationErrors>
    </SSLInfo>
</VirtualHost>

Obszar hosta wirtualnego, który zmodyfikujesz w celu skonfigurowania TLS, jest definiowany przez tag <SSLInfo>. Do skonfigurowania docelowego punktu końcowego lub serwera docelowego używasz tego samego tagu <SSLInfo>.

W tabeli poniżej opisujemy elementy konfiguracji TLS używane przez tag <SSLInfo>:

Element Opis
<Włączone>

Włącza jednokierunkowe połączenie TLS między Edge a klientem interfejsu API lub między Edge a docelowym backendem.

W przypadku hosta wirtualnego musisz zdefiniować magazyn kluczy zawierający certyfikat i klucz prywatny.

<ClientAuthEnabled>

Włącza dwukierunkowe połączenie TLS między Edge a klientem interfejsu API lub między Edge a docelowym backendem.

Włączenie dwukierunkowego protokołu TLS zwykle wymaga skonfigurowania magazynu zaufania na serwerach brzegowych.

<KeyStore> Magazyn kluczy.
<KeyAlias> Alias określony podczas przesyłania certyfikatu i klucza prywatnego do magazynu kluczy.
<TrustStore> Magazyn zaufania.
<IgnoreValidationErrors>

Jeśli ma wartość prawda, Edge ignoruje błędy certyfikatów TLS. Ma zastosowanie podczas konfigurowania protokołu TLS dla serwerów docelowych i docelowych punktów końcowych oraz przy konfigurowaniu hostów wirtualnych używających dwukierunkowego protokołu TLS. Wartość domyślna to false (fałsz).

Jeśli system backendu używa rozszerzenia SNI i zwraca certyfikat o nazwie wyróżniającej podmiotu (DN), która nie jest zgodna z nazwą hosta, nie ma możliwości zignorowania błędu i nie uda się nawiązać połączenia.

<CommonName>

Jeśli zostanie określona, jest weryfikowana pospolita nazwa certyfikatu docelowego. Ta wartość jest prawidłowa tylko w przypadku konfiguracji docelowego punktu końcowego i serwera docelowego. Nie jest prawidłowy w przypadku konfiguracji VirtualHost.

Domyślnie podana wartość jest dopasowywana dokładnie do wspólnej nazwy certyfikatu docelowego. Na przykład użycie *.myhost.com jako wartości dla <CommonName> spowoduje dopasowanie i zweryfikowanie docelowej nazwy hosta tylko wtedy, gdy dokładna wartość *.myhost.com jest określona jako wspólna nazwa w certyfikacie docelowym.

Opcjonalnie Apigee może dopasować dopasowanie z symbolami wieloznacznymi, korzystając z atrybutu wildcardMatch.

Na przykład wspólna nazwa określona w certyfikacie docelowym jako abc.myhost.com będzie dopasowywana i weryfikowana, jeśli element <CommonName> jest określony w ten sposób:

<CommonName wildcardMatch="true">*.myhost.com</CommonName>

Informacje o ustawianiu elementów <KeyStore> i <TrustStore>

W podanym wyżej przykładzie hosta wirtualnego magazyn kluczy i magazyn zaufania są określone za pomocą references w formacie:

<KeyStore>ref://myKeystoreRef</KeyStore>
<TrustStore>ref://myTruststoreRef</TrustStore>

Apigee zdecydowanie zaleca, aby zawsze używać odwołań do magazynu kluczy i magazynu zaufanych. Odwołanie to zmienna, która zawiera nazwę magazynu kluczy lub magazynu kluczy, a nie bezpośrednio jego nazwy. W tym przykładzie:

  • myKeystoreRef to odwołanie zawierające nazwę magazynu kluczy. W tym przykładzie nazwa magazynu kluczy to myKeystore.
  • myTruststoreRef to odwołanie zawierające nazwę magazynu zaufania. W tym przykładzie nazwa magazynu zaufania to myTruststore.

Po wygaśnięciu certyfikatu musisz zaktualizować hosta wirtualnego, docelowy punkt końcowy/serwer docelowy, aby określić magazyn kluczy lub magazyn zaufania zawierający nowy certyfikat. Zaletą pliku referencyjnego jest to, że możesz zmodyfikować jego wartość, aby zmienić magazyn kluczy lub magazyn zaufania bez konieczności modyfikowania hosta wirtualnego, docelowego punktu końcowego/serwera docelowego:

  • Dla klientów korzystających z Cloud: zmiana wartości pliku referencyjnego nie wymaga kontaktowania się z zespołem pomocy Apigee Edge.
  • Klienci Private Cloud: zmiana wartości pliku referencyjnego nie wymaga ponownego uruchamiania komponentów Edge, takich jak routery i procesory wiadomości.

Możesz też bezpośrednio określić nazwę i nazwę magazynu kluczy:

<KeyStore>myKeystore</KeyStore>
<TrustStore>myTruststore</TrustStore> 

Jeśli podasz bezpośrednio nazwę magazynu kluczy lub magazynu zaufanych, klienci Cloud będą musieli skontaktować się z zespołem pomocy Apigee Edge, a klienci Private Cloud będą musieli ponownie uruchomić niektóre komponenty Edge, aby zaktualizować certyfikat.

Trzecią opcją, która dotyczy tylko docelowych punktów końcowych/serwera docelowego, jest użycie zmiennych przepływu:

<KeyStore>{ssl.keystore}</KeyStore>
<TrustStore>{ssl.truststore}</TrustStore> 

Zmienne przepływu działają z docelowymi punktami końcowymi/serwerami docelowymi i umożliwiają aktualizowanie magazynu kluczy lub magazynu zaufania, tak jak odniesienia. Nie działają jednak z hostami wirtualnymi i wymagają przekazywania informacji o magazynie kluczy, aliasie i magazynie zaufania w każdym żądaniu.

Ograniczenia w korzystaniu z odwołań do magazynów kluczy i magazynu zaufanych

Klienci korzystający z płatnej usługi Cloud i wszyscy klienci Private Cloud konfigurujący TLS muszą uwzględniać to ograniczenie podczas używania odniesień do magazynów kluczy i magazynów zaufania:

  • Odniesień do magazynu kluczy i magazynu zaufanych certyfikatów możesz używać na hostach wirtualnych tylko wtedy, gdy wyłączysz protokół TLS w routerach Apigee.
  • Jeśli masz system równoważenia obciążenia przed routerami Apigee i wyłączysz protokół TLS w systemie równoważenia obciążenia, nie będzie można używać odwołań do magazynu kluczy i magazynu zaufanych certyfikatów na hostach wirtualnych.

Jeśli Twój istniejący host wirtualny używa literału kluczy lub magazynu zaufania

Istniejące hosty wirtualne Edge mogą nie być skonfigurowane tak, aby nie używały odwołań dla magazynów kluczy i zaufanych magazynów zaufania. W takim przypadku możesz zaktualizować hosta wirtualnego, używając odwołania.

  1. Edge for the Cloud

    Aby zmienić hosta wirtualnego tak, aby używał odniesienia do magazynu kluczy, musisz skontaktować się z zespołem pomocy Apigee Edge.

  2. Brzegowy Private Cloud

    Aby przekonwertować hosta wirtualnego na referencję:

    1. Zaktualizuj hosta wirtualnego tak, aby używał odwołania.
    2. Ponownie uruchom routery.
    Więcej informacji znajdziesz w sekcji „Modyfikowanie hosta wirtualnego w celu użycia odwołań do magazynu kluczy i zaufanego magazynu kluczy” w artykule Konfigurowanie dostępu TLS do interfejsu API chmury prywatnej.

Informacje o korzystaniu z bezpłatnego certyfikatu i klucza wersji próbnej Apigee

Jeśli masz płatne konto Edge dla Cloud i nie masz jeszcze certyfikatu ani klucza TLS, możesz utworzyć hosta wirtualnego, który będzie używał bezpłatnego certyfikatu i klucza próbnego Apigee. Oznacza to, że możesz utworzyć hosta wirtualnego bez wcześniejszego tworzenia magazynu kluczy.

Obiekt XML definiujący hosta wirtualnego za pomocą bezpłatnego certyfikatu próbnego Apigee oraz klucz pomija elementy <KeyStore> i <KeyAlias> i zastępuje je elementem <UseBuiltInFreeTrialCert>, jak pokazano poniżej:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

Nawet jeśli korzystasz z dwukierunkowego protokołu TLS, nadal musisz ustawić element <ClientAuthEnabled> na true i określić magazyn zaufania za pomocą odwołania z elementem <TrustStore>.

Więcej informacji znajdziesz w artykule Konfigurowanie hostów wirtualnych dla chmury.

Informacje o konfigurowaniu protokołu TLS

Sposób konfiguracji TLS zależy od 2 głównych czynników:

  • Czy jesteś klientem Edge Cloud lub Private Cloud?
  • Jak uaktualnicie wygasłe lub wygasłe certyfikaty?

Opcje konfiguracji Cloud i chmury prywatnej

W tabeli poniżej znajdziesz różne opcje konfiguracji dla klientów Cloud i Private Cloud:

Private Cloud Cloud
Host wirtualny Pełna kontrola Pełna kontrola tylko na kontach płatnych
Docelowy punkt końcowy/serwer docelowy Pełna kontrola Pełna kontrola

Klienci Private Cloud mają pełną kontrolę nad konfiguracją hostów wirtualnych oraz docelowych punktów końcowych/serwerów docelowych. To ustawienie obejmuje możliwość tworzenia i usuwania hostów wirtualnych oraz ustawiania wszystkich właściwości na hoście wirtualnym.

Wszyscy klienci Cloud (płatni i oceny) mają pełną kontrolę nad konfiguracją docelowych punktów końcowych/serwerów docelowych. Dodatkowo klienci korzystający z płatnej wersji Cloud mają pełną kontrolę nad hostami wirtualnymi, w tym nad właściwościami TLS.

Obsługa wygasłych certyfikatów

Jeśli certyfikat TLS wygaśnie lub konfiguracja systemu ulegnie zmianie, w wyniku czego certyfikat utracił ważność, musisz zaktualizować certyfikat. Konfigurując protokół TLS dla hosta wirtualnego lub docelowego punktu końcowego bądź serwera docelowego, przed wykonaniem konfiguracji określ, jak chcesz przeprowadzić tę aktualizację.

Po wygaśnięciu certyfikatu

Certyfikaty możesz przechowywać w jednym z dwóch miejsc:

  • Magazyn kluczy – zawiera certyfikat TLS i klucz prywatny używane do identyfikowania jednostki podczas uzgadniania połączenia TLS.
  • Truststore – zawiera zaufane certyfikaty dla klienta TLS używane do weryfikowania certyfikatu serwera TLS przedstawianego klientowi. Są to zwykle certyfikaty podpisane samodzielnie, certyfikaty podpisane przez zaufany urząd certyfikacji lub certyfikaty używane w ramach dwukierunkowego protokołu TLS.

Jeśli certyfikat w magazynie kluczy utraci ważność i użyjesz odwołania do magazynu kluczy, nie możesz przesłać do niego nowego certyfikatu. Zamiast tego:

  1. Utwórz nowy magazyn kluczy.
  2. Prześlij nowy certyfikat do nowego magazynu kluczy, używając tej samej nazwy aliasu co w starym magazynie kluczy.
  3. Zaktualizuj odniesienie na hoście wirtualnym albo serwerze docelowym/docelowym punkcie końcowym, aby używać nowego magazynu kluczy.

Gdy certyfikat w magazynie zaufania utraci ważność i używasz odwołania do tego magazynu:

  1. Utwórz nowy magazyn zaufania.
  2. Prześlij nowy certyfikat do nowego magazynu zaufania. Nazwa aliasu nie ma znaczenia w przypadku magazynów zaufania. Uwaga: jeśli certyfikat jest częścią łańcucha, musisz utworzyć 1 plik zawierający wszystkie certyfikaty i przesłać go do jednego aliasu lub przesłać wszystkie certyfikaty w łańcuchu oddzielnie do magazynu zaufania, używając dla każdego certyfikatu innego aliasu.
  3. Zaktualizuj odniesienie na hoście wirtualnym albo serwerze docelowym/docelowym punkcie końcowym, aby używać nowego magazynu zaufania.

Podsumowanie metod aktualizowania wygasłego certyfikatu

Metoda używana do określania nazwy magazynu kluczy i magazynu zaufanych certyfikatów na hoście wirtualnym lub docelowym punkcie końcowym/serwerze docelowym określa sposób aktualizowania certyfikatu. Możesz użyć:

  • Odniesienia
  • Nazwy bezpośrednie
  • Zmienne przepływu

Każda z tych metod ma inny wpływ na proces aktualizacji opisany w tabeli poniżej. Jak widać, pliki referencyjne zapewniają największą elastyczność zarówno klientom Cloud, jak i Private Cloud:

Typ konfiguracji Jak zaktualizować lub zastąpić certyfikat Private Cloud Cloud
Materiały referencyjne (zalecane) W przypadku magazynu kluczy utwórz nowy magazyn kluczy o nowej nazwie i aliasie o tej samej nazwie co stary alias.

W przypadku magazynu zaufania utwórz magazyn o nowej nazwie.

Zaktualizuj odniesienie do magazynu kluczy lub magazynu zaufanych.

Nie jest konieczne ponowne uruchomienie routera ani procesora wiadomości.

Zaktualizuj odniesienie do magazynu kluczy lub magazynu zaufanych.

Nie musisz kontaktować się z zespołem pomocy Apigee.

Zmienne przepływu (tylko docelowy punkt końcowy) W przypadku magazynu kluczy utwórz nowy magazyn kluczy o nowej nazwie i aliasie o tej samej lub nowej nazwie.

W przypadku magazynu zaufania utwórz magazyn o nowej nazwie.

Przekaż zaktualizowaną zmienną przepływu w każdym żądaniu, podając nazwę nowego magazynu kluczy, aliasu lub magazynu zaufania.

Nie jest konieczne ponowne uruchomienie routera ani procesora wiadomości.

Przekaż zaktualizowaną zmienną przepływu w każdym żądaniu, podając nazwę nowego magazynu kluczy, aliasu lub magazynu zaufania.

Nie musisz kontaktować się z zespołem pomocy Apigee.

Bezpośrednie Utwórz nowy magazyn kluczy, alias lub magazyn zaufania. Zaktualizuj hosta wirtualnego i ponownie uruchom routery.

Jeśli magazyn zaufania jest używany przez docelowy punkt końcowy/serwer docelowy, wdróż ponownie serwer proxy.

W przypadku hostów wirtualnych skontaktuj się z zespołem pomocy Apigee Edge, aby ponownie uruchomić routery.

Jeśli magazyn zaufania jest używany przez docelowy punkt końcowy/serwer docelowy, wdróż ponownie serwer proxy.

Bezpośrednie Usuń magazyn kluczy lub magazyn zaufania i utwórz go ponownie z tą samą nazwą. Nie jest wymagana aktualizacja hosta wirtualnego. Nie jest konieczne ponowne uruchomienie routera. Żądania do interfejsu API kończą się jednak niepowodzeniem, dopóki nie zostaną ustawione nowy magazyn kluczy i alias.

Jeśli magazyn kluczy jest używany na potrzeby dwukierunkowego protokołu TLS między Edge a usługą backendu, uruchom ponownie procesory wiadomości.

Nie jest wymagana aktualizacja hosta wirtualnego. Żądania do interfejsu API kończą się jednak niepowodzeniem, dopóki nie ustawisz nowego magazynu kluczy i aliasu.

Jeśli magazyn kluczy jest używany na potrzeby dwukierunkowego protokołu TLS między Edge a usługą backendu, skontaktuj się z zespołem pomocy Apigee Edge, aby ponownie uruchomić procesory wiadomości.

Bezpośrednie Tylko w przypadku magazynu zaufania prześlij do niego nowy certyfikat. Jeśli magazyn zaufania jest używany przez hosta wirtualnego, uruchom ponownie routery.

Jeśli magazyn zaufania jest używany przez docelowy punkt końcowy/serwer docelowy, uruchom ponownie procesory wiadomości.

W przypadku hostów wirtualnych skontaktuj się z zespołem pomocy Apigee Edge, aby ponownie uruchomić routery brzegowe.

Jeśli magazyn zaufania jest używany przez docelowy punkt końcowy/serwer docelowy, skontaktuj się z zespołem pomocy Apigee Edge, aby ponownie uruchomić procesory wiadomości.