Upgrade ai criteri di sicurezza beta

In Anthos Service Mesh 1.5 sono state introdotte due API di sicurezza beta, PeerAuthentication e RequestAuthentication. Il criterio di autenticazione alpha è deprecato. Questa pagina spiega come aggiornare i criteri di autenticazione alpha ai criteri di sicurezza beta.

Modifica il criterio selezionato dal servizio nel selettore del carico di lavoro

Tutti i criteri beta per la sicurezza devono utilizzare modelli di configurazione basati sul selettore dei carichi di lavoro o sullo spazio dei nomi, anziché quelli basati sui servizi.

Aggiornamento a RequestAuthentication

L'esempio seguente mostra come eseguire l'aggiornamento dalla versione alpha Policy alla versione 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"

Aggiorna la risorsa RequestAuthenticationbeta corrispondente:

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"

Aggiornamento a PeerAuthentication

Devi anche aggiornare i criteri di autenticazione per TLS reciproca (mTLS). La versione alpha MeshPolicy consente la mTLS PERMISSIVE o STRICT a livello di mesh. La risorsa PeerAuthentication beta sostituisce la risorsa alpha MeshPolicy. Nello specifico, se hai un MeshPolicy simile al seguente:

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

Aggiornalo con una risorsa PeerAuthentication nello spazio dei nomi principale:

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

Prima di Anthos Service Mesh 1.7.8, l'installazione predefinita include MeshPolicy con modalità PERMISSIVA. Anthos Service Mesh 1.7.8 non genera più MeshPolicy.

  1. Ti consigliamo di utilizzare PeerAuthentication basato sullo spazio dei nomi. Sebbene Anthos Service Mesh supporti la mTLS automatica, funziona bene solo con PeerAuthentication a livello di mesh o spazio dei nomi. Quando utilizzi PeerAuthentication a livello di carico di lavoro, devi configurare un DestinationRule corrispondente.
  2. Puoi configurare il criterio di autenticazione alpha in modo da utilizzare l'autenticazione dell'origine per rifiutare le richieste. Tuttavia, il nuovo RequestAuthentication rifiuta le richieste solo quando il token non è valido. Ti consigliamo di utilizzare un AuthorizationPolicy per definire un ulteriore controllo dell'accesso dell'accesso.
  3. Anche se il criterio di autenticazione alpha continua a funzionare in Anthos Service Mesh 1.7.8-asm.10, il criterio di autenticazione alpha sarà completamente deprecato nella prossima release. Ti consigliamo di completare la migrazione il prima possibile.
  4. Durante la transizione, se esistono sia criteri alfa sia criteri beta, verranno applicati solo i criteri beta e vengono ignorati i criteri alpha.
  5. Per ulteriori informazioni, consulta i criteri di autenticazione nella documentazione di Istio.

Passaggi successivi