Duas APIs de segurança Beta, PeerAuthentication
e RequestAuthentication
, foram
introduzidas no Anthos Service Mesh 1.5. A política de autenticação Alfa está suspensa.
Nesta página, explicamos como atualizar a política de autenticação Alfa para as políticas de segurança
Beta.
Alterar a política selecionada pelo serviço para o seletor de carga de trabalho
Todas as políticas de segurança Beta precisam usar modelos de configuração de seletor de carga de trabalho ou baseados em namespace, e não baseados em serviço.
Atualizar para RequestAuthentication
O exemplo a seguir mostra como atualizar da Policy
Alfa para
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"
Atualize para o recurso RequestAuthentication
Beta correspondente:
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"
Atualizar para PeerAuthentication
Também é necessário atualizar as políticas de autenticação para a TLS mútua (mTLS, na sigla em inglês). A MeshPolicy
Alfa ativou a mTLS PERMISSIVE
ou STRICT
na malha inteira. O recurso
PeerAuthentication
Beta substitui a MeshPolicy
Alfa. Especificamente, se
você tiver uma MeshPolicy
semelhante ao seguinte:
apiVersion: "authentication.istio.io/v1alpha1"
kind: "MeshPolicy"
metadata:
name: "default"
labels:
release: istio
spec:
peers:
- mtls:
mode: PERMISSIVE
Atualize-a com um recurso PeerAuthentication
no namespace raiz:
apiVersion: "security.istio.io/v1beta1"
kind: "PeerAuthentication"
metadata:
name: "default"
namespace: "istio-system"
spec:
mtls:
mode: PERMISSIVE
Antes do Anthos Service Mesh 1.7.8, a instalação padrão inclui
MeshPolicy
com o modo PERMISSIVE. O Anthos Service Mesh 1.7.8 não gera
mais MeshPolicy.
.
- Recomendamos que você use o
PeerAuthentication
baseado em namespace. Embora o Anthos Service Mesh seja compatível com a mTLS automática (em inglês), ele só funciona bem comPeerAuthentication
no nível da malha ou do namespace. Ao usarPeerAuthentication
no nível da carga de trabalho, você precisa configurar umaDestinationRule
correspondente. - É possível configurar a política de autenticação Alfa para usar a autenticação de
origem para negar solicitações. No entanto, o novo
RequestAuthentication
só rejeita solicitações quando o token é inválido. Recomendamos que você use umaAuthorizationPolicy
para definir mais controle de acesso. - Embora a política de autenticação Alfa ainda funcione no Anthos Service Mesh 1.7.8-asm.10, a política de autenticação Alfa terá o uso totalmente descontinuado na próxima versão. Recomendamos que você conclua a migração o quanto antes.
- Durante a transição, se houver políticas Alfa e Beta, somente as políticas Beta entrarão em vigor, e as políticas Alfa serão ignoradas.
- Saiba mais em Política de autenticação (em inglês) na documentação do Istio.