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.

Manage Access Keys for Windows Azure Cache Service

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.

  1. Atualize a configuração dos aplicativos clientes de cache para usar a chave de acesso secundária.

  2. Na caixa de diálogo Gerenciar Chaves de Acesso do Portal de Gerenciamento, clique em gerar novamente para a chave de acesso primária.

  3. 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

Outros recursos

Recursos do serviço de cache gerenciado do Azure