Autorisierungsrichtlinien aktualisieren

Ab Anthos Service Mesh Version 1.4.5 verwaltet die Anthos Service Mesh-Zertifizierungsstelle (Mesh CA) die Ausgabe und Rotation von mTLS-Zertifikaten und -Schlüsseln für GKE-Pods. Das Open-Source-Framework Istio und frühere Versionen von Anthos Service Mesh verwenden Istio CA (früher Citadel) als Zertifizierungsstelle.

Wenn Sie ein Upgrade von Istio oder einer früheren Version von Anthos Service Mesh ausführen und vorhandene Autorisierungsrichtlinien mit einer benutzerdefinierten vertrauenswürdigen Domain haben, müssen Sie Ihre Autorisierungsrichtlinien so aktualisieren, dass mit cluster.local auf Ihre lokale vertrauenswürdige Domain verwiesen wird. Wenn Ihre vorhandenen Autorisierungsrichtlinien bereits cluster.local verwenden, müssen Sie nichts tun.

So aktualisieren Sie Ihre Autorisierungsrichtlinien:

  1. Ermitteln Sie über Ihre Autorisierungsrichtlinien alle Vorkommen Ihrer benutzerdefinierten vertrauenswürdigen Domain. Im folgenden Beispiel ist old-td der Name einer benutzerdefinierten vertrauenswürdigen Domain.

    apiVersion: security.istio.io/v1beta1
    kind: AuthorizationPolicy
    metadata:
      name: service-httpbin.default.svc.cluster.local
      namespace: default
    spec:
      rules:
      - from:
        - source:
            principals:
            - old-td/ns/sleep-allow/sa/sleep
        to:
        - operation:
            methods:
            - GET
      selector:
        matchLabels:
          app: httpbin
    
  2. Ändern Sie die benutzerdefinierte vertrauenswürdige Domain in cluster.local und wenden Sie die aktualisierte Richtlinie an.

    kubectl apply -f - <<EOF
    apiVersion: security.istio.io/v1beta1
    kind: AuthorizationPolicy
    metadata:
      name: service-httpbin.default.svc.cluster.local
      namespace: default
    spec:
      rules:
      - from:
        - source:
            principals:
            - cluster.local/ns/sleep-allow/sa/sleep
        to:
        - operation:
            methods:
            - GET
      selector:
        matchLabels:
          app: httpbin
    ---
    EOF
    

Nächste Schritte