Sobes.tech
Middle

Jak omezit interakci mezi aplikacemi pracujícími v různých namespacech?

sobes.tech AI

Odpověď od AI

  • Síťová pravidla: Určují, které sady podů jsou povoleny k vzájemné interakci a s externími koncovými body. Platí na úrovni Namespace, Pod nebo Egress.

    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
      name: deny-cross-namespace
      namespace: default # Namespace, na který se pravidlo vztahuje
    spec:
      podSelector: {} # Platí na všechny pody v Namespace 'default'
      policyTypes:
        - Ingress
        - Egress
      ingress:
        - from:
            - podSelector: {} # Povolení příchozího provozu od podů ve stejném Namespace
      // Sekce egress není, což implicitně blokuje veškerý odchozí provoz
      // Kromě případů, které jsou výslovně povoleny.
    
  • Service Meshes (například, Istio, Linkerd): Zavádějí sidecar kontejnery do podů a spravují síťový provoz na úrovni aplikací. Umožňují implementaci bezpečnostních politik, včetně omezení interakce mezi Namespace.

    • Mutual TLS (mTLS): Šifruje a ověřuje veškerý provoz mezi službami.
    • Politiky autorizace: Určují, které služby se mohou navzájem komunikovat na základě identity.
  • SecurityContextConstraints (SCC) specifické pro Namespace v OpenShift: Omezují schopnosti podů v konkrétních Namespace, ovlivňují síťové možnosti.

  • Samostatný cluster pro různé bezpečnostní zóny: Nejpřísnější metoda, ale také nejdražší. Plně izoluje aplikace běžící v různých clusterech.

  • Firewall pravidla: Konfigurace pravidel na úrovni síťové infrastruktury (například, AWS Security Groups, GCP Firewall Rules), která povolují nebo blokují provoz mezi podsítěmi, kde jsou umístěny pracovní uzly různých Namespace.

  • Segmentace sítě na úrovni hypervisoru: Používá se v prostředích virtuálních strojů, kde je každý Namespace nebo skupina Namespace umístěna v samostatné podsíti s odpovídajícími pravidly směrování a firewallu.