Actualiza a las políticas de seguridad Beta

Se implementaron dos API de seguridad beta, PeerAuthentication y RequestAuthentication, en Anthos Service Mesh 1.5. La política de autenticación alfa dejó de estar disponible. En esta página, se explica cómo actualizar la política de autenticación alfa a las políticas de seguridad beta.

Cambia la política seleccionada por el servicio en el selector de carga de trabajo

Todas las políticas de seguridad Beta deben usar modelos de configuración del selector de cargas de trabajo o basados en espacios de nombres, en lugar de los basados en servicios.

Actualiza a RequestAuthentication

En el siguiente ejemplo, se muestra cómo actualizar de Policy Alfa a RequestAuthentication:

# 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"

Actualiza al recurso RequestAuthentication Beta correspondiente:

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"

Actualiza a PeerAuthentication

También debes actualizar las políticas de autenticación para la TLS mutua (mTLS). La MeshPolicy Alfa habilitó PERMISSIVE o STRICT mTLS en toda la malla. El recurso PeerAuthentication Beta reemplaza a la MeshPolicy Alfa. Específicamente, si tienes una MeshPolicy similar a la que se muestra a continuación:

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

Actualízala con un recurso PeerAuthentication en el espacio de nombres raíz:

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

Antes de Anthos Service Mesh 1.5, la instalación predeterminada incluye MeshPolicy con el modo PERMISSIVE. Anthos Service Mesh 1.5 y versiones posteriores ya no generan MeshPolicy.

  1. Te recomendamos usar PeerAuthentication basada en espacios de nombres. Aunque Anthos Service Mesh admite la mTLS automática, solo funciona bien con PeerAuthentication a nivel de malla o de espacio de nombres. Cuando usas PeerAuthentication a nivel de carga de trabajo, debes configurar una DestinationRule correspondiente.
  2. Puedes configurar la política de autenticación Alfa para usar la autenticación de origen con el fin de denegar solicitudes. Sin embargo, la RequestAuthentication nueva solo rechaza las solicitudes cuando el token no es válido. Te recomendamos que uses una AuthorizationPolicy para definir más control de acceso.
  3. Aunque aún funciona en Anthos Service Mesh 1.5.x, la política de autenticación Alfa quedará obsoleta por completo en la próxima actualización. Te recomendamos que finalices la migración lo antes posible.
  4. Durante la transición, si existen versiones Alfa y Beta de las políticas, solo las Beta se implementan y se ignoran las Alfa.
  5. Para obtener más información, consulta Política de autenticación en la documentación de Istio.

¿Qué sigue?