Opcje konfiguracji TLS

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

Ten dokument zawiera omówienie konfigurowania TLS w Edge w dwóch obszarach funkcjonalnych:

  1. Dostęp do Twoich serwerów proxy API przez klientów interfejsu API. Aby skonfigurować TLS, użyj wirtualnych hostów na routerze Edge.
  2. Dostęp do usług backendowych przez Edge. Aby skonfigurować TLS, użyj docelowych punktów końcowych i docelowych serwerów w procesorze wiadomości Edge.

Oba te typy dostępu znajdziesz poniżej:

Ustawianie opcji TLS w przypadku hosta wirtualnego lub docelowego punktu końcowego/docelowego serwera

Wirtualny host 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 modyfikujesz, aby skonfigurować TLS, jest zdefiniowany przez tag <SSLInfo>. Używasz tego samego tagu <SSLInfo> do konfigurowania docelowego punktu końcowego lub docelowego serwera.

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

Element Opis
<Włączone>

Umożliwia szyfrowanie pojedynczym kluczem TLS między Edge a klientem API lub między Edge a docelowym backendem.

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

<ClientAuthEnabled>

Umożliwia dwukierunkowe szyfrowanie TLS między Edge i klientem interfejsu API lub między Edge a docelowym backendem.

Włączenie dwukierunkowego TLS zwykle wymaga skonfigurowania zaufanej bazy danych w Edge.

<KeyStore> Magazyn kluczy.
<KeyAlias> Alias określony podczas przesyłania certyfikatu i klucza prywatnego do magazynu kluczy.
<TrustStore> magazyn zaufanych certyfikatów.
<IgnoreValidationErrors>

Jeśli to pole ma wartość „prawda”, przeglądarka Edge ignoruje błędy certyfikatu TLS. Dozwolone podczas konfigurowania TLS dla serwerów docelowych i punktów końcowych docelowych oraz podczas konfigurowania hostów wirtualnych, które używają dwukierunkowego TLS. Wartość domyślna to false (fałsz).

Jeśli system backendu używa SNI i zwraca certyfikat z nazwą podmiotu (DN), która nie pasuje do nazwy hosta, a punkt końcowy lub serwer docelowy jest używany, nie można zignorować błędu i połączenie się nie powiedzie.

<CommonName>

Jeśli jest określony, wartość, na podstawie której weryfikowana jest nazwa domeny certyfikatu docelowego. Ta wartość jest prawidłowa tylko w przypadku konfiguracji Punktdocelowy i Serwerdocelowy. Nie jest ona prawidłowa w przypadku konfiguracji VirtualHost.

Domyślnie wartość jest dopasowywana dokładnie do nazwy wspólnej certyfikatu docelowego. Jeśli np. użyjesz wartości *.myhost.com w polu <CommonName>, zostanie ona dopasowana i zweryfikowana tylko wtedy, gdy w certyfikacie docelowym podana jest dokładna wartość *.myhost.com.

Opcjonalnie Apigee może dopasowywać symbole wieloznaczne za pomocą atrybutu wildcardMatch.

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

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

Ustawianie elementów <KeyStore> i <TrustStore>

W powyższym przykładzie hosta wirtualnego repozytorium kluczy i repozytorium zaufania są określane za pomocą odwołań w tej postaci:

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

Apigee zdecydowanie zaleca, aby zawsze używać odwołań do klucza i repozytorium zaufania. odwołanie to zmienna zawierająca nazwę magazynu kluczy lub magazynu zaufania, a nie bezpośrednio nazwę magazynu kluczy. 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ę repozytorium zaufania. W tym przykładzie nazwa repozytorium zaufania to myTruststore.

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

  • Użytkownicy Cloud: aby zmienić wartość odwołania, nie musisz kontaktować się z zespołem pomocy Apigee Edge.
  • Klienci chmury prywatnej: zmiana wartości odwołania nie wymaga ponownego uruchamiania komponentów Edge, takich jak routery i procesory wiadomości.

Możesz też bezpośrednio podać nazwę magazynu kluczy i nazwę magazynu zaufania:

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

Jeśli bezpośrednio określisz nazwę repozytorium kluczy lub repozytorium zaufania, klienci Cloud muszą skontaktować się z zespołem pomocy Apigee Edge, a klienci chmury prywatnej muszą ponownie uruchomić niektóre komponenty Edge, aby zaktualizować certyfikat.

Trzecią opcją, która dotyczy tylko docelowych punktów końcowych lub docelowego serwera, jest użycie zmiennych procesu:

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

Zmienne przepływu działają w przypadku docelowych punktów końcowych lub docelowych serwerów i umożliwiają aktualizowanie odwołań do klucza lub zaufanej pamięci. Nie działają jednak z hostami wirtualnymi i wymagają przekazywania informacji o sklepie kluczy, aliasie i sklepie zaufanych kluczy przy każdej prośbie.

Ograniczenia dotyczące korzystania z odwołań do kluczowych repozytoriów i repozytoriów zaufanych

Klienci płatnych usług w chmurze i wszyscy klienci usług Private Cloud konfigurujący TLS muszą wziąć pod uwagę tę restrykcję podczas używania odwołań do repozytorium kluczy i repozytorium zaufania:

  • Odwołania do klucza i repozytorium zaufania możesz używać w hostach wirtualnych tylko wtedy, gdy zakończysz szyfrowanie TLS na routerach Apigee.
  • Jeśli masz system równoważenia obciążenia przed routerami Apigee i kończysz szyfrowanie TLS na tym systemie, nie możesz używać odwołań do magazynu kluczy i magazynu zaufania w hostach wirtualnych.

Jeśli istniejący host wirtualny używa dosłownej nazwy repozytorium kluczy lub repozytorium zaufania

Istniejące hosty wirtualne w Edge mogą nie być skonfigurowane pod kątem korzystania z odniesienia do repozytorium kluczy i repozytorium zaufania. W takim przypadku możesz zaktualizować hosta wirtualnego, aby używał odwołania.

  1. Edge dla chmury

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

  2. Edge dla Private Cloud

    Aby przekonwertować hosta wirtualnego na hosta korzystającego z odwołania:

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

Korzystanie z certyfikatu i klucza z bezpłatnego okresu próbnego Apigee

Jeśli masz płatne konto Edge for Cloud i nie masz jeszcze certyfikatu i klucza TLS, możesz utworzyć hosta wirtualnego, który używa certyfikatu i klucza z bezpłatnej wersji próbnej Apigee. Oznacza to, że możesz utworzyć hosta wirtualnego bez wcześniejszego utworzenia magazynu kluczy.

Obiekt XML definiujący hosta wirtualnego za pomocą certyfikatu i klucza z bezpłatnej wersji próbnej Apigee pomija elementy <KeyStore> i <KeyAlias>, zastępując 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>

Jeśli używasz dwukierunkowego TLS, musisz ustawić element <ClientAuthEnabled> na true i podać magazyn zaufania, używając odwołania w elemencie <TrustStore>.

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

Konfigurowanie TLS

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

  • Czy jesteś klientem Edge Cloud lub Private Cloud?
  • Jak zamierzasz zaktualizować certyfikaty, których ważność upłynęła lub upływa?

Opcje konfiguracji chmury i chmury prywatnej

Tabela poniżej przedstawia różne opcje konfiguracji dla klientów korzystających z Google Cloud i Private Cloud:

Private Cloud Cloud
Wirtualny gospodarz Pełna kontrola Pełna kontrola tylko w przypadku płatnych kont
Punkt końcowy docelowy lub serwer docelowy Pełna kontrola Pełna kontrola

Klienci usługi Private Cloud mają pełną kontrolę nad konfiguracją zarówno hostów wirtualnych, jak i docelowych punktów końcowych/serwerów. Obejmuje ona tworzenie i usuwanie hostów wirtualnych oraz ustawianie wszystkich właściwości hosta wirtualnego.

Wszyscy klienci Cloud, zarówno w ramach subskrypcji płatnej, jak i w ramach wersji próbnej, mają pełną kontrolę nad konfiguracją docelowych punktów końcowych i serwerów. Ponadto płatni klienci Cloud mają pełną kontrolę nad hostami wirtualnymi, w tym nad usługami TLS.

Obsługa wygasłych certyfikatów

Jeśli certyfikat TLS wygaśnie lub konfiguracja systemu ulegnie zmianie w taki sposób, że certyfikat nie będzie już ważny, musisz go zaktualizować. Podczas konfigurowania TLS dla hosta wirtualnego lub docelowego punktu końcowego/docelowego serwera przed rozpoczęciem konfiguracji należy zdecydować, jak przeprowadzić tę aktualizację.

Po wygaśnięciu certyfikatu

W Edge certyfikaty są przechowywane w jednym z tych 2 miejsc:

  • Magazyn kluczy – zawiera certyfikat TLS i klucz prywatny używany do identyfikowania podmiotu podczas uzgadniania połączenia TLS.
  • Truststore – zawiera zaufane certyfikaty klienta TLS, które są używane do weryfikowania certyfikatu serwera TLS przedstawionego klientowi. Zwykle są to certyfikaty podpisane samodzielnie, certyfikaty podpisane przez zaufany urząd certyfikacji lub certyfikaty używane w ramach dwukierunkowego TLS.

Gdy certyfikat w magazynie kluczy wygaśnie, a Ty używasz odwołania do magazynu kluczy, nie możesz przesłać nowego certyfikatu do magazynu kluczy. Zamiast tego:

  1. Utwórz nowy magazyn kluczy.
  2. Prześlij nowy certyfikat do nowego magazynu kluczy przy użyciu tego samego aliasa co w starym magazynie kluczy.
  3. Zaktualizuj odwołanie w hostie wirtualnym lub docelowym serwerze/docelowym punkcie końcowym, aby używać nowego magazynu kluczy.

Gdy certyfikat w magazynie zaufania wygaśnie, a Ty używasz odwołania do magazynu zaufania:

  1. Utwórz nowy magazyn zaufania.
  2. Prześlij nowy certyfikat do nowego repozytorium z zaufanymi certyfikatami. Nazwa aliasu nie ma znaczenia w przypadku repozytoriów zaufania. Uwaga: jeśli certyfikat jest częścią łańcucha, musisz utworzyć jeden plik zawierający wszystkie certyfikaty i przesłać go do jednego aliasu lub przesłać wszystkie certyfikaty z łańcucha osobno do repozytorium zaufania, używając innego aliasu dla każdego certyfikatu.
  3. Zaktualizuj odwołanie w hostie wirtualnym lub docelowym serwerze/docelowym punkcie końcowym, aby używać nowego repozytorium zaufania.

Podsumowanie metod aktualizowania wygasłego certyfikatu

Sposób, w jaki określasz nazwę repozytorium kluczy i repozytorium zaufania w hostie wirtualnym lub docelowym punkcie końcowym/serwerze docelowym, decyduje o sposobie aktualizacji certyfikatu. Możesz użyć:

  • Pliki referencyjne
  • Nazwy bezpośrednie
  • Zmienne przepływu

Każda z tych metod ma inne konsekwencje dla procesu aktualizacji, jak opisano w tabeli poniżej. Jak widać, referencje zapewniają największą elastyczność zarówno klientom Cloud, jak i Private Cloud:

Typ konfiguracji Jak zaktualizować lub zastąpić certyfikat Private Cloud Cloud
Referencje (zalecane) W przypadku magazynu kluczy utwórz nowy magazyn kluczy z nową nazwą i aliasem o tej samej nazwie co stary alias.

W przypadku repozytorium zaufania utwórz repozytorium zaufania o nowej nazwie.

Zaktualizuj odwołanie do klucza lub repozytorium zaufania.

Nie trzeba ponownie uruchamiać routera ani usługi Message Processor.

Zaktualizuj odwołanie do klucza lub repozytorium zaufania.

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

zmienne przepływu (tylko w przypadku docelowego punktu końcowego); W przypadku magazynu kluczy utwórz nowy magazyn kluczy z nową nazwą i aliasem o tej samej nazwie lub nowej nazwie.

W przypadku repozytorium zaufania utwórz repozytorium zaufania o nowej nazwie.

Przekazuj zaktualizowaną zmienną przepływu w każdej prośbie z nazwą nowego repozytorium kluczy, aliasu lub repozytorium zaufania.

Nie trzeba ponownie uruchamiać routera ani usługi Message Processor.

Przekazuj zaktualizowaną zmienną przepływu w każdej prośbie z nazwą nowego repozytorium kluczy, aliasu lub repozytorium zaufania.

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

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

Jeśli z repozytorium zaufania korzysta docelowy punkt końcowy lub docelowy serwer, ponownie wdrożyć serwer proxy.

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

Jeśli z repozytorium zaufania korzysta docelowy punkt końcowy lub docelowy serwer, ponownie wdrożyć serwer proxy.

Bezpośrednie Usuń magazyn kluczy lub magazyn zaufania i utwórz go ponownie z tą samą nazwą. Nie trzeba aktualizować hosta wirtualnego ani ponownie uruchamiać routera. Żądania API kończą się niepowodzeniem, dopóki nie ustawisz nowego repozytorium kluczy i aliasu.

Jeśli magazyn kluczy jest używany do dwukierunkowego TLS między Edge a usługą backendową, ponownie uruchom przetwarzacze wiadomości.

Nie trzeba aktualizować hosta wirtualnego. Żądania API kończą się niepowodzeniem, dopóki nie ustawisz nowego schowku kluczy i aliasu.

Jeśli magazyn kluczy jest używany do dwukierunkowego szyfrowania TLS między Edge a usługą backendową, skontaktuj się z działem pomocy Apigee Edge, aby ponownie uruchomić procesory wiadomości.

Bezpośrednie Tylko w przypadku repozytorium zaufania prześlij nowy certyfikat do repozytorium zaufania. Jeśli z zaufanego magazynu kluczy korzysta host wirtualny, uruchom ponownie routery.

Jeśli z zaufanego magazynu kluczy korzysta docelowy punkt końcowy lub docelowy serwer, uruchom ponownie przetwarzacze wiadomości.

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

Jeśli z zaufanego magazynu kluczy korzysta docelowy punkt końcowy lub docelowy serwer, skontaktuj się z działem pomocy Apigee Edge, aby ponownie uruchomić procesory wiadomości.