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á com o uso sendo
descontinuado. 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.6.14, a instalação padrão inclui
MeshPolicy
com o modo PERMISSIVE. O Anthos Service Mesh 1.6.14 não gera
mais MeshPolicy.
.
- Recomendamos que você use o
PeerAuthentication
baseado em namespace. Embora o Anthos Service Mesh seja compatível com [auto mTLS](https://istio.io/v1.6/docs/tasks/security/authentication/authn-policy/#auto-mutual-tls{: class="external"}, ele funciona bem apenas com oPeerAuthentication
na malha ou no namespace. Ao usarPeerAuthentication
na 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.6.14-asm.2, 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.