Diretrizes sobre o desempenho do ACS
Aplica-se A
Access Control do Active Directory do Microsoft Azure (também conhecido como Access Control Service ou ACS)
Windows Identity Foundation (WIF)
Resumo
Este tópico descreve as principais diretrizes de desempenho que você deve levar em conta ao desenvolver aplicativos e serviços que usam o ACS. O tópico inclui, particularmente, diretrizes sobre tamanhos e criptografia de token e como isso afeta o desempenho geral.
Visão geral
Em termos gerais, os principais atributos de desempenho são tempo de resposta, taxa de transferência e utilização de recursos. Por exemplo, se o aplicativo tem recursos limitados, como memória, é provável que algumas informações cheguem ao sistema de arquivos, que é bem mais lento do que as operações na memória. Esse processo afeta o tempo de resposta geral. Veja outro exemplo: se o aplicativo envia um volume grande de dados por uma rede com largura de banda limitada, os tempos de resposta ficarão abaixo do desejável. Uma abordagem para solucionar problemas de desempenho é adicionar mais recursos, como largura de banda, CPU mais rápida e mais memória. Essa abordagem é útil, mas é provável que nem sempre ajude. Outra abordagem é melhorar o código para que ele utilize menos recursos e troque menos dados. Considerando o contexto de aplicativos com reconhecimento de declarações e o que está sob controle do desenvolvedor, há alguns fatores importantes relacionados ao uso do ACS que afetam o desempenho, ou seja, tokens e operações criptográficas relacionadas aos tokens.
Objetivos
Defina os aspectos que afetam o desempenho em aplicativos que usam ACS.
Forneça diretrizes sobre como melhorar o desempenho de cada aspecto.
Tamanho e criptografia de tokens
O tamanho do token e a criptografia são fatores-chave sob o controle do desenvolvedor que afetam o desempenho dos aplicativos integrados ao ACS.
Tamanho do token. O tamanho do token afeta o desempenho de duas maneiras. Em primeiro lugar, ele afeta diretamente o desempenho relacionado à largura de banda da rede em algum nível. Quanto maior o token, mais largura de banda de rede ele usará, o que resultará em resposta geral mais lenta. Depois, quanto maior o token, mais ciclos de CPU são necessários para verificar as declarações de integridade e extração contidas no token. O processamento do token inclui analisá-lo e desfazer sua serialização em um formato binário para que o código possa usá-lo. O processamento também inclui várias operações de criptografia, como validação de assinatura e descriptografia opcional. Quanto maior o token, mais ciclos de CPU ocorrerão em seu processamento, o que resultará em maior utilização de recursos e resposta geral mais lenta. O tamanho do token depende de vários fatores: formato de token, criptografia aplicada ao token e as declarações no token. O ACS aceita tokens SAML, SWT e JWT. Geralmente, um SWT ou um token JWTJWT é menor que um token SAML que carrega uma quantidade equivalente de informações. Para obter mais informações, leia formatos de token com suporte no ACS. É importante salientar que diferentes formatos de token são otimizados para diferentes protocolos e arquiteturas de aplicativo.
Os tokens SWT são emitidos por protocolos WS-Federation, WS-Trust e OAuth WRAP ou OAuth 2.0. Isso significa que os tokens SWT podem ser usados em aplicativos Web, serviços WCF (SOAP) e serviços WCF (REST). O WIF não é compatível com o manipulador de token SWT.
Os Tokens SAML são emitidos por protocolos WS-Trust e WS-Federation. Isso significa que os tokens SAML podem ser usados em aplicativos Web e serviços WCF (SOAP). O WIF aceita tokens SAML 2.0 e SAML 1.1. Leia mais sobre o WIF no tópico a seguir Windows Identity Foundation
Os tokens JWT são emitidos por meio dos protocolos WS-Federation, WS-Trust e OAuth 2.0. Isso significa que os tokens SWT podem ser usados em aplicativos Web, serviços WCF (SOAP) e serviços WCF (REST).
Um fator primordial que contribui para o tamanho do token são as declarações que ele contém. Quanto mais declarações houver no token, maior será seu tamanho. Na maioria dos casos, as declarações contidas no token ficam sob o controle do desenvolvedor. As declarações usadas por um aplicativo são adicionadas, removidas ou alteradas pelo STS (Serviço de Token de Segurança), como AD FS ou ACS. O ACS usa grupos de regras e regras para adicionar, remover ou alterar declarações em um token. Para obter mais informações , leia Grupos de Regras e Regras.
Criptografia. a criptografia e outras operações criptográficas, como assinatura, validação de assinatura e descriptografia, afetam diretamente o desempenho. As operações de criptografia consomem energia computacional devido à complexidade dos algoritmos envolvidos. O ACS assina todos os tokens emitidos como medida de integridade para combater os ataques de violação. A validação de assinatura de tokens não é opcional. A criptografia de token é necessária quando um aplicativo de terceira parte confiável é um serviço Web que não usa SSL para criptografar as comunicações. Serviços baseados em WCF e que usam SOAP precisam de tokens criptografados de verificação de posse com o protocolo WS-Trust. A criptografia de token é necessária para proteger informações confidenciais enviadas por um canal não criptografado. Entretanto, nos casos em que o canal de comunicação está criptografado, como a criptografia de SSL, o uso da criptografia de token é opcional e não pode ser aplicada para melhorar o desempenho.
Consulte Também
Conceitos
Diretrizes de segurança do ACS
Diretrizes para gerenciamento de chaves e certificados