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 RequestAuthentication
beta 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.
- Ti consigliamo di utilizzare
PeerAuthentication
basato sullo spazio dei nomi. Sebbene Anthos Service Mesh supporti la mTLS automatica, funziona bene solo conPeerAuthentication
a livello di mesh o spazio dei nomi. Quando utilizziPeerAuthentication
a livello di carico di lavoro, devi configurare unDestinationRule
corrispondente. - 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 unAuthorizationPolicy
per definire un ulteriore controllo dell'accesso dell'accesso. - 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.
- Durante la transizione, se esistono sia criteri alfa sia criteri beta, verranno applicati solo i criteri beta e vengono ignorati i criteri alpha.
- Per ulteriori informazioni, consulta i criteri di autenticazione nella documentazione di Istio.