Auf die Beta-Sicherheitsrichtlinien aktualisieren

Die beiden Beta-APIs PeerAuthentication und RequestAuthentication für Sicherheit sind in Anthos Service Mesh 1.5 enthalten. Die Alpha-Authentifizierungsrichtlinie wurde verworfen. Auf dieser Seite wird beschrieben, wie Sie die Alpha-Authentifizierungsrichtlinie auf die Beta-Sicherheitsrichtlinien aktualisieren.

Vom Dienst ausgewählte Richtlinie zu Arbeitslastauswahl ändern

Alle Beta-Sicherheitsrichtlinien müssen Konfigurationsmodelle verwenden, die auf der Arbeitslastauswahl oder dem Namespace und nicht auf dem Dienst basieren.

Auf RequestAuthentication aktualisieren

Das folgende Beispiel zeigt, wie Sie von der Alpha-Richtlinie (Policy) auf RequestAuthentication aktualisieren:

# Alpha policy for authentication to enable Origin Authentication for service foo.
apiVersion: "authentication.istio.io/v1alpha1"
kind: "Policy"
metadata:
  name: "jwt-example"
spec:
  targets:
  - name: httpbin
  origins:
  - jwt:
      issuer: "testing@secure.istio.io"
      jwksUri: "https://raw.githubusercontent.com/istio/istio/release-1.5/security/tools/jwt/samples/jwks.json"

Aktualisieren Sie auf die entsprechende Beta-Ressource RequestAuthentication:

apiVersion: "security.istio.io/v1beta1"
kind: "RequestAuthentication"
metadata:
  name: "jwt-example"
spec:
  selector:
    matchLabels:
      app: httpbin
  jwtRules:
  - issuer: "testing@secure.istio.io"
    jwksUri: "https://raw.githubusercontent.com/istio/istio/release-1.5/security/tools/jwt/samples/jwks.json"

Auf PeerAuthentication aktualisieren

Sie müssen außerdem die Authentifizierungsrichtlinien für die gegenseitige TLS-Authentifizierung (mTLS) aktualisieren. Die Alpha-MeshPolicy aktivierte eine das gesamte Mesh-Netzwerk übergreifende PERMISSIVE oder STRICT mTLS. Die Beta-PeerAuthentication-Ressource ersetzt die Alpha-MeshPolicy. Beispiel, wenn Sie eine MeshPolicy haben, die in etwa so aussieht:

apiVersion: "authentication.istio.io/v1alpha1"
kind: "MeshPolicy"
metadata:
  name: "default"
  labels:
    release: istio
spec:
  peers:
  - mtls:
      mode: PERMISSIVE

Aktualisieren Sie sie mit der Ressource PeerAuthentication im Stamm-Namespace:

apiVersion: "security.istio.io/v1beta1"
kind: "PeerAuthentication"
metadata:
  name: "default"
  namespace: "istio-system"
spec:
  mtls:
    mode: PERMISSIVE

Vor Anthos Service Mesh 1.5 enthält die Standardinstallation MeshPolicy mit PERMISSIVE-Modus. Anthos Service Mesh 1.5 und höher generiert nicht mehr MeshPolicy.

  1. Wir empfehlen die Verwendung der Namespace-basierten PeerAuthentication. Anthos Service Mesh unterstützt zwar automatisches mTLS, funktioniert aber nur bei PeerAuthentication auf Mesh- oder Namespace-Ebene gut. Wenn Sie PeerAuthentication auf Arbeitslastebene verwenden, müssen Sie eine entsprechende DestinationRule konfigurieren.
  2. Sie können die Alpha-Authentifizierungsrichtlinie so konfigurieren, dass die Herkunftsauthentifizierung zum Ablehnen von Anfragen verwendet wird. Die neue RequestAuthentication hingegen lehnt Anfragen nur dann ab, wenn das Token ungültig ist. Wir empfehlen die Verwendung der AuthorizationPolicy zur Definition der weiteren Zugriffssteuerung.
  3. Obwohl die Alpha-Authentifizierungsrichtlinie weiterhin in Anthos Service Mesh 1.5.x funktioniert, wird die Alpha-Authentifizierungsrichtlinie im nächsten Release vollständig eingestellt. Wir empfehlen, die Migration so schnell wie möglich abzuschließen.
  4. Wenn während der Umstellung sowohl Alpha- als auch die Beta-Richtlinien vorhanden sind, werden nur die Beta-Richtlinien wirksam und die Alpha-Richtlinien werden ignoriert.
  5. Weitere Informationen finden Sie unter Authentifizierungsrichtlinie in der Istio-Dokumentation.

Nächste Schritte