Sdílet prostřednictvím


Přehled správy certifikátů v AKS povolené službou Azure Arc

Platí pro: AKS v Azure Local 22H2, AKS na Windows Serveru

Služba AKS povolená službou Azure Arc používá kombinaci ověřování založeného na certifikátech a tokenech k zabezpečení komunikace mezi službami (nebo agenty) zodpovědnými za různé operace v rámci platformy. Ověřování na základě certifikátů používá digitální certifikát k identifikaci entity (agenta, počítače, uživatele nebo zařízení) před udělením přístupu k prostředku.

Cloudový agent

Když nasadíte AKS povolenou službou Arc, AKS nainstaluje agenty, které se používají k provádění různých funkcí v clusteru. Mezi tyto agenty patří:

  • Cloudový agent: služba, která je zodpovědná za orchestraci podkladové platformy.
  • Agent uzlu: služba, která se nachází na každém uzlu, který provede skutečnou práci při vytváření, odstranění virtuálního počítače atd.
  • Pod Systému správy klíčů (KMS): služba zodpovědná za správu klíčů.
  • Další služby: operátor cloudu, správce certifikátů atd.

Služba cloudového agenta v AKS zodpovídá za orchestraci operací vytvoření, čtení, aktualizace a odstranění (CRUD) komponent infrastruktury, jako jsou virtuální počítače, virtuální síťová rozhraní (VNIC) a virtuální sítě (VNET) v clusteru.

Aby klienti mohli komunikovat s cloudovým agentem, musí být kvůli zabezpečení této komunikace zřízeny certifikáty. Každý klient vyžaduje, aby k němu byla přidružena identita, která definuje pravidla řízení přístupu na základě role (RBAC) přidružená k klientovi. Každá identita se skládá ze dvou entit:

  • Token, který se používá k počátečnímu ověřování, který vrací certifikát a
  • Certifikát získaný z výše uvedeného procesu přihlášení a použitý k ověřování v jakékoli komunikaci.

Každá entita je platná pro určité období (výchozí hodnota je 90 dnů), na konci které vyprší platnost. Pro trvalý přístup ke cloudovému agentu vyžaduje každý klient obnovení certifikátu a obměna tokenu.

Typy certifikátů

Ve službě AKS jsou povolené službou Arc dva typy certifikátů:

  • Certifikát certifikační autority cloudového agenta: certifikát použitý k podepisování a ověřování klientských certifikátů. Platnost tohoto certifikátu je 365 dnů (1 rok).
  • Klientské certifikáty: Certifikáty vydané certifikátem certifikační autority cloudového agenta pro klienty, kteří se mají ověřit v cloudovém agentu. Tyto certifikáty jsou obvykle platné po dobu 90 dnů.

Společnost Microsoft doporučuje aktualizovat clustery do 60 dnů od nové verze, a to nejen kvůli zajištění aktualizovat interní certifikáty a tokeny, ale také zajistit, abyste získali přístup k novým funkcím, opravám chyb a abyste měli stále aktuální informace o důležitých opravách zabezpečení. Během těchto měsíčních aktualizací proces aktualizace obměňuje všechny tokeny, které se nedají automaticky otočit během normálních operací clusteru. Platnost certifikátu a tokenu se resetuje na výchozí 90 dnů od data aktualizace clusteru.

Zabezpečená komunikace s certifikáty v AKS povolená službou Arc

Certifikáty se používají k sestavení zabezpečené komunikace mezi komponentami v clusteru. AKS poskytuje bezdotykové zřizování a správu certifikátů pro integrované komponenty Kubernetes. V tomto článku se dozvíte, jak zřídit a spravovat certifikáty v AKS povolené službou Arc.

Certifikáty a certifikační autority

AKS generuje a používá následující certifikační autority (CA) a certifikáty.

Certifikační autorita clusteru

  • Server ROZHRANÍ API má certifikační autoritu clusteru, která podepisuje certifikáty pro jednosměrnou komunikaci ze serveru rozhraní API do kubelet.
  • Každá z nich kubelet také vytvoří žádost o podepsání certifikátu (CSR), která je podepsaná certifikační autoritou clusteru kubelet pro komunikaci ze serveru rozhraní API.
  • Úložiště hodnot klíčů etcd má certifikát podepsaný certifikační autoritou clusteru pro komunikaci se serverem rozhraní API atd.

ca etcd

Úložiště hodnot klíčů etcd má certifikační autoritu atd., která podepisuje certifikáty pro ověření a autorizaci replikace dat mezi replikami atd. v clusteru.

Certifikační autorita front proxy serveru

Certifikační autorita front proxy serveru zabezpečuje komunikaci mezi serverem rozhraní API a serverem rozhraní API rozšíření.

Zřizování certifikátů

Zřizování certifikátů pro konkrétní službu kubelet se provádí pomocí zaváděcího protokolu TLS. Pro všechny ostatní certifikáty použijte klíč založený na YAML a vytvoření certifikátu.

  • Certifikáty jsou uložené v /etc/kubernetes/pki.
  • Klíče jsou RSA 4096, EcdsaCurve: P384

Poznámka:

Kořenové certifikáty jsou platné 10 let. Všechny ostatní, ne kořenové certifikáty jsou krátkodobé a platné čtyři dny.

Obnovení a správa certifikátů

Certifikáty, které nejsou kořenové, se automaticky obnovují. Všechny certifikáty řídicí roviny pro Kubernetes s výjimkou následujících certifikátů se spravují:

  • Certifikát serveru Kubelet
  • Klientský certifikát Kubeconfig

Osvědčeným postupem zabezpečení je použít jednotné přihlašování služby Active Directory pro ověřování uživatelů.

Odvolání certifikátu

Odvolání certifikátu by mělo být vzácné a mělo by se provést v době obnovení certifikátu.

Jakmile budete mít sériové číslo certifikátu, který chcete odvolat, použijte vlastní prostředek Kubernetes k definování a zachování informací o odvolání. Každý objekt odvolání se může skládat z jedné nebo více položek odvolání.

Chcete-li provést odvolání, použijte jednu z následujících možností:

  • Sériové číslo
  • Seskupit
  • Název DNS
  • IP adresa

Je notBefore možné zadat čas pro odvolání pouze certifikátů vydaných před určitým časovým razítkem. notBefore Pokud není zadaný čas, budou odvolány všechny existující a budoucí certifikáty odpovídající odvolání.

Poznámka:

kubelet Odvolání certifikátů serveru není aktuálně k dispozici.

Pokud při odvolání použijete sériové číslo, můžete cluster dostat do pracovního stavu pomocí Repair-AksHciClusterCerts příkazu PowerShellu popsaného níže. Pokud použijete některá z dalších polí uvedených výše, nezapomeňte zadat notBefore čas.

apiVersion: certificates.microsoft.com/v1 
kind: RenewRevocation 
metadata: 
  name: my-renew-revocation 
  namespace: kube-system 
spec: 
  description: My list of renew revocations 
  revocations: 
  - description: Revoked certificates by serial number 
    kind: serialnumber 
    notBefore: "2020-04-17T17:22:05Z" 
    serialNumber: 77fdf4b1033b387aaace6ce1c18710c2 
  - description: Revoked certificates by group 
    group: system:nodes 
    kind: Group 
  - description: Revoked certificates by DNS 
    dns: kubernetes.default.svc. 
    kind: DNS 
  - description: Revoked certificates by DNS Suffix 
    dns: .cluster.local 
    kind: DNS 
  - description: Revoked certificates by IP 
    ip: 170.63.128.124 
    kind: IP 

Další kroky