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.
- Te recomendamos usar
PeerAuthentication
basada en espacios de nombres. Aunque Anthos Service Mesh admite la mTLS automática, solo funciona bien conPeerAuthentication
a nivel de malla o de espacio de nombres. Cuando usasPeerAuthentication
a nivel de carga de trabajo, debes configurar unaDestinationRule
correspondiente. - 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 unaAuthorizationPolicy
para definir más control de acceso. - 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.
- Durante la transición, si existen versiones Alfa y Beta de las políticas, solo las Beta se implementan y se ignoran las Alfa.
- Para obtener más información, consulta Política de autenticación en la documentación de Istio.