Modelo de segurança para o serviço de cache gerenciado do Azure
Importante
A Microsoft recomenda que todos os novos desenvolvimentos usem o Cache Redis do Azure. Para obter documentação e diretrizes atuais sobre como escolher uma oferta do Cache do Azure, confira qual oferta do Cache do Azure é certa para mim?
Serviço de Cache Gerenciado permite controlar o acesso ao cache exigindo que os aplicativos cliente se autentiquem no cache usando chaves de acesso. Serviço de Cache Gerenciado também fornece a capacidade de proteger a comunicação de canal entre o aplicativo cliente e o cache. Este tópico fornece uma visão geral do uso de chaves de acesso para controlar o acesso e da proteção das comunicações com o cache.
Nesta seção
Usando chaves de acesso para controlar o acesso
- Como executar uma atualização sem interrupção
Protegendo as comunicações entre clientes de cache e o cache
Usando chaves de acesso para controlar o acesso
Para garantir que somente os aplicativos clientes pretendidos sejam capazes de acessar o cache, todos os clientes são obrigados a apresentar uma chave de acesso ao cache.
Quando você cria um cache usando o Portal de Gerenciamento, ele é pré-configurado com duas chaves de acesso: uma Chave de Acesso Primária e uma Chave de Acesso Secundária. Você pode recuperá-las clicando em Gerenciar Chaves na guia Início Rápido do cache ou no Painel do cache.
Essas chaves de acesso são usadas para configurar o aplicativo cliente.
Observação
Geralmente a chave de acesso primária é usada e a chave de acesso secundária é reservada para executar uma atualização sem interrupção, quando a chave de acesso primária é gerada novamente. Este procedimento é descrito na seção a seguir, How to: Perform a Rolling Update.
Para especificar a chave de acesso ao cache no aplicativo cliente, abra o arquivo web.config ou app.config do aplicativo e localize o elemento securityProperties
na seção dataCacheClients
.
<!--<securityProperties mode="Message" sslEnabled="false">
<messageSecurity authorizationInfo="[Authentication Key]" />
</securityProperties>-->
Remova as marcas de comentário desse snippet e substitua [Authentication Key] pela chave de acesso primária. Se a chave de autenticação não for configurada corretamente, os clientes não conseguirão se conectar ao cache.
Observação
As seções securityProperties
e dataCacheClients
são adicionadas pelo pacote NuGet de cache, que é usado para configurar os clientes de cache. Para obter mais informações, consulte Configurar um cliente de cache usando o pacote Caching NuGet.
Também é fornecida uma chave de acesso secundária para que você possa atualizar as chaves usando uma atualização sem interrupção, de modo que os aplicativos não experimentem nenhum tempo de inatividade devido às alterações de chave.
Como executar uma atualização sem interrupção
Nos cenários em que seja necessário gerar uma nova chave de acesso primária – por exemplo, para cumprir a política corporativa ou quando a chave de acesso tiver sido comprometida – você pode executar as etapas a seguir.
Atualize a configuração dos aplicativos clientes de cache para usar a chave de acesso secundária.
Na caixa de diálogo Gerenciar Chaves de Acesso do Portal de Gerenciamento, clique em gerar novamente para a chave de acesso primária.
Atualize a configuração dos seus aplicativos clientes de cache para usar a nova chave de acesso primária que acabou de ser gerada.
Regenere a chave de acesso secundária.
Protegendo as comunicações entre clientes de cache e o cache
Serviço de Cache Gerenciado fornece a capacidade de proteger a comunicação entre seu aplicativo cliente e seu cache. Para fazer isso, defina sslEnabled = true
no elemento securityProperties
da seção dataCacheClients
do arquivo web.config ou app.config do aplicativo. Isso garantirá que toda a comunicação entre o cliente e o cache ocorra por TLS.
<securityProperties mode="Message" sslEnabled="true">
<messageSecurity authorizationInfo="[Authentication Key]" />
</securityProperties>
Por padrão, sslEnabled
é definido como false e, se o sslEnabled
atributo não for especificado, o valor usado será false.
A comunicação entre clientes e caches hospedados na mesma região do Azure já está segura. Se o cache estiver hospedado na mesma região do Azure que seu aplicativo cliente, é recomendável definir sslEnabled
como false. Como há alguma sobrecarga ao usar o SSL, a configuração sslEnabled
como true quando os clientes de cache e cache estiverem na mesma região prejudicará desnecessariamente o desempenho do cache.
Se não for possível ter o cache e o cliente de cache na mesma região do Azure, seu aplicativo poderá receber o benefício da comunicação criptografada configurando sslEnabled
como true. Observe que o melhor desempenho é obtido (não apenas em relação à configuração sslEnabled
) quando o cache está localizado na mesma região do aplicativo cliente de cache.
Consulte Também
Referência
Configurar um cliente de cache usando o pacote NuGet de cache