Segurança e privacidade de dados no Azure Pesquisa CognitivaSecurity and data privacy in Azure Cognitive Search

Recursos de segurança abrangentes e controles de acesso são criados no Azure Pesquisa Cognitiva para garantir que o conteúdo privado permaneça dessa forma.Comprehensive security features and access controls are built into Azure Cognitive Search to ensure private content remains that way. Este artigo enumera os recursos de segurança e a conformidade de padrões criados no Azure Pesquisa Cognitiva.This article enumerates the security features and standards compliance built into Azure Cognitive Search.

A arquitetura de segurança do Azure Pesquisa Cognitiva abrange segurança física, transmissões criptografadas, armazenamento criptografado e conformidade de padrões em toda a plataforma.Azure Cognitive Search security architecture spans physical security, encrypted transmissions, encrypted storage, and platform-wide standards compliance. Operacionalmente, o Azure Pesquisa Cognitiva aceita apenas solicitações autenticadas.Operationally, Azure Cognitive Search only accepts authenticated requests. Opcionalmente, é possível adicionar controles de acesso por usuário ao conteúdo por meio de filtros de segurança.Optionally, you can add per-user access controls on content through security filters. Este artigo aborda a segurança em cada camada, mas se concentra principalmente em como os dados e as operações são protegidos no Azure Pesquisa Cognitiva.This article touches on security at each layer, but is primarily focused on how data and operations are secured in Azure Cognitive Search.

Conformidade com padrões: ISO 27001, SOC 2, HIPAAStandards compliance: ISO 27001, SOC 2, HIPAA

O Azure Pesquisa Cognitiva é certificado para os seguintes padrões, conforme anunciado em junho de 2018:Azure Cognitive Search is certified for the following standards, as announced in June 2018:

A conformidade com padrões se aplica a recursos geralmente disponíveis.Standards compliance applies to generally available features. As versões prévias dos recursos são certificadas quando mudam para disponibilidade geral e não devem ser utilizadas em soluções com requisitos de padrões estritos.Preview features are certified when they transition to general availability, and must not be used in solutions having strict standards requirements. A certificação de conformidade está documentada em Visão geral de conformidade do Microsoft Azure e na Central de Confiabilidade.Compliance certification is documented in Overview of Microsoft Azure compliance and the Trust Center.

Armazenamento e transmissão criptografadosEncrypted transmission and storage

A criptografia se estende durante todo o pipeline de indexação: de conexões, por transmissão e até dados indexados armazenados no Azure Pesquisa Cognitiva.Encryption extends throughout the entire indexing pipeline: from connections, through transmission, and down to indexed data stored in Azure Cognitive Search.

Camada de segurançaSecurity layer DescriçãoDescription
Criptografia em trânsitoEncryption in transit
(HTTPS/SSL/TLS)(HTTPS/SSL/TLS)
O Azure Pesquisa Cognitiva escuta na porta HTTPS 443.Azure Cognitive Search listens on HTTPS port 443. Na plataforma, as conexões com os serviços do Azure são criptografadas.Across the platform, connections to Azure services are encrypted.

Todas as interações do Azure Pesquisa Cognitiva de cliente para serviço são compatíveis com SSL/TLS 1,2.All client-to-service Azure Cognitive Search interactions are SSL/TLS 1.2 capable. Certifique-se de usar o TLSv1.2 para conexões SSL ao seu serviço.Be sure to use TLSv1.2 for SSL connections to your service.
Criptografia em repousoEncryption at rest
Chaves gerenciadas pela MicrosoftMicrosoft managed keys
A criptografia é totalmente internalizada no processo de indexação, sem nenhum impacto mensurável no tempo para conclusão da indexação ou no tamanho do índice.Encryption is fully internalized in the indexing process, with no measurable impact on indexing time-to-completion or index size. Isso ocorre automaticamente em toda a indexação, incluindo em atualizações incrementais em um índice que não está totalmente criptografado (criado antes de janeiro de 2018).It occurs automatically on all indexing, including on incremental updates to an index that is not fully encrypted (created before January 2018).

Internamente, a criptografia é baseada na Criptografia do Serviço de Armazenamento do Azure, usando a criptografia AES do 256 bits.Internally, encryption is based on Azure Storage Service Encryption, using 256-bit AES encryption.

A criptografia é interna à Pesquisa Cognitiva do Azure, com certificados e chaves de criptografia gerenciadas internamente pela Microsoft e aplicada universalmente.Encryption is internal to Azure Cognitive Search, with certificates and encryption keys managed internally by Microsoft, and universally applied. Não é possível ativar ou desativar a criptografia, gerenciar ou substituir suas próprias chaves ou exibir configurações de criptografia no portal ou de forma programática.You cannot turn encryption on or off, manage or substitute your own keys, or view encryption settings in the portal or programmatically.

A criptografia em repouso foi anunciada em 24 de janeiro de 2018 e se aplica a todas as camadas de serviço, incluindo a camada gratuita, em todas as regiões.Encryption at rest was announced in January 24, 2018 and applies to all service tiers, including the free tier, in all regions. Para a criptografia completa, os índices criados antes dessa data precisam ser removidos e recompilados para que a criptografia ocorra.For full encryption, indexes created prior to that date must be dropped and rebuilt in order for encryption to occur. Caso contrário, somente os novos dados adicionados após 24 de janeiro são criptografados.Otherwise, only new data added after January 24 is encrypted.
Criptografia em repousoEncryption at rest
Chaves gerenciadas do clienteCustomer managed keys
A criptografia com chaves gerenciadas pelo cliente é um recurso de Visualização que não está disponível para serviços gratuitos.Encryption with customer managed keys is a preview feature that is not available for free services. Para serviços pagos, ele só estará disponível para os serviços de pesquisa criados em ou após janeiro de 2019, usando a versão mais recente da API de visualização (API-Version = 2019-05-06-Preview).For paid services, it is only available for search services created on or after January 2019, using the latest preview api-version (api-version=2019-05-06-Preview).

Os índices de Pesquisa Cognitiva do Azure e os mapas de sinônimos agora podem ser criptografados em repouso com chaves gerenciadas por chaves do cliente no Azure Key Vault.Azure Cognitive Search indexes and synonym maps can now be encrypted at rest with customer keys managed keys in Azure Key Vault. Para saber mais, confira gerenciar chaves de criptografia no Azure pesquisa cognitiva.To learn more, see Manage encryption keys in Azure Cognitive Search.
Esse recurso não substitui a criptografia padrão em repouso, mas sim aplicado além dela.This feature is not replacing the default encryption at rest, but rather applied in addition to it.
Habilitar esse recurso aumentará o tamanho do índice e diminuirá o desempenho da consulta.Enabling this feature will increase index size and degrade query performance. Com base nas observações até a data, você pode esperar um aumento de 30%-60% nos tempos de consulta, embora o desempenho real varie dependendo da definição de índice e dos tipos de consultas.Based on observations to date, you can expect to see an increase of 30%-60% in query times, although actual performance will vary depending on the index definition and types of queries. Devido a esse impacto no desempenho, recomendamos que você habilite apenas esse recurso em índices que realmente o exigem.Because of this performance impact, we recommend that you only enable this feature on indexes that really require it.

Controles de acesso do usuário em todo o AzureAzure-wide user access controls

Vários mecanismos de segurança estão disponíveis para todo o Azure e, portanto, ficam automaticamente disponíveis para os recursos de Pesquisa Cognitiva do Azure que você criar.Several security mechanisms are available Azure-wide, and thus automatically available to the Azure Cognitive Search resources you create.

Todos os serviços do Azure oferecem suporte a RBAC para definir níveis de acesso consistentes em todos os serviços.All Azure services support role-based access controls (RBAC) for setting levels of access consistently across all services. Por exemplo, a exibição de dados confidenciais, como a chave do administrador, é restrita às funções de Proprietário e Colaborador, enquanto a exibição do status do serviço fica disponível para os membros de qualquer função.For example, viewing sensitive data, such as the admin key, is restricted to the Owner and Contributor roles, whereas viewing service status is available to members of any role. O RBAC fornece funções de Leitor, Colaborador e Proprietário.RBAC provides Owner, Contributor, and Reader roles. Por padrão, todos os administradores de serviço são membros da função Proprietário.By default, all service administrators are members of the Owner role.

Acesso de serviço e autenticaçãoService access and authentication

Embora o Azure Pesquisa Cognitiva herde as proteções de segurança da plataforma Azure, ele também fornece sua própria autenticação baseada em chave.While Azure Cognitive Search inherits the security safeguards of the Azure platform, it also provides its own key-based authentication. Uma chave de api é uma cadeia de caracteres composta de letras e números gerados aleatoriamente.An api-key is a string composed of randomly generated numbers and letters. O tipo de chave (administrador ou consulta) determina o nível de acesso.The type of key (admin or query) determines the level of access. O envio de uma chave válida é considerado uma prova de que a solicitação se origina de uma entidade confiável.Submission of a valid key is considered proof the request originates from a trusted entity.

Há dois níveis de acesso ao seu serviço de pesquisa, habilitado por dois tipos de chaves:There are two levels of access to your search service, enabled by two types of keys:

  • Acesso admin (válido para qualquer operação de leitura e gravação do serviço)Admin access (valid for any read-write operation against the service)
  • Acesso à consulta (válido para operações somente leitura, como consultas, em relação à coleção de documentos de um índice)Query access (valid for read-only operations, such as queries, against the documents collection of an index)

As Chaves admin são criadas quando o serviço é provisionado.Admin keys are created when the service is provisioned. Há duas chaves de administração, designadas como primária e secundária para mantê-las de forma linear, mas na verdade elas são intercambiáveis.There are two admin keys, designated as primary and secondary to keep them straight, but in fact they are interchangeable. Cada serviço tem duas chaves admin para que você possa derrubar uma sem perder o acesso ao seu serviço.Each service has two admin keys so that you can roll one over without losing access to your service. Você pode regenerar a chave de administração periodicamente por práticas recomendadas de segurança do Azure, mas não pode adicionar à contagem total de chaves de administração.You can regenerate admin key periodically per Azure security best practices, but you cannot add to the total admin key count. Há um máximo de duas chaves de administração por serviço de pesquisa.There are a maximum of two admin keys per search service.

As chaves de consulta são criadas conforme necessário e são projetadas para aplicativos cliente que emitem consultas.Query keys are created as-needed and are designed for client applications that issue queries. Você pode criar até 50 chaves de consulta.You can create up to 50 query keys. No código do aplicativo, você especifica a URL de pesquisa e uma chave de API de consulta para permitir acesso somente leitura à coleção de documentos de um índice específico.In application code, you specify the search URL and a query api-key to allow read-only access to the documents collection of a specific index. Juntos, o ponto de extremidade, uma chave de api para acesso somente leitura e um índice de destino definem o nível de acesso e escopo da conexão de seu aplicativo cliente.Together, the endpoint, an api-key for read-only access, and a target index define the scope and access level of the connection from your client application.

A autenticação é necessária em cada solicitação, em que cada solicitação é composta por uma chave obrigatória, uma operação e um objeto.Authentication is required on each request, where each request is composed of a mandatory key, an operation, and an object. Quando encadeados, os dois níveis de permissão (completo e somente leitura) e o contexto (por exemplo, uma operação de consulta em um índice) são suficientes para fornecer segurança completa nas operações de serviço.When chained together, the two permission levels (full or read-only) plus the context (for example, a query operation on an index) are sufficient for providing full-spectrum security on service operations. Para obter mais informações sobre chaves, consulte Criar e gerenciar api-keys.For more information about keys, see Create and manage api-keys.

Acesso de índiceIndex access

No Azure Pesquisa Cognitiva, um índice individual não é um objeto protegível.In Azure Cognitive Search, an individual index is not a securable object. Em vez disso, o acesso a um índice é determinado na camada de serviço (acesso de leitura ou gravação), junto com o contexto de uma operação.Instead, access to an index is determined at the service layer (read or write access), along with the context of an operation.

Para acesso do usuário final, é possível estruturar solicitações de consulta para conectar usando uma chave de consulta, o que torna qualquer solicitação somente leitura e inclui o índice específico usado pelo aplicativo.For end-user access, you can structure query requests to connect using a query key, which makes any request read-only, and include the specific index used by your app. Em uma solicitação de consulta, não há o conceito de adicionar índices ou acessar vários índices simultaneamente. Portanto, todas as solicitações têm um único índice de destino por definição.In a query request, there is no concept of joining indexes or accessing multiple indexes simultaneously so all requests target a single index by definition. Como tal, a construção da solicitação de consulta em si (uma chave mais um único índice de destino) define o limite de segurança.As such, construction of the query request itself (a key plus a single target index) defines the security boundary.

O acesso de administrador e de desenvolvedor aos índices não é diferenciado: ambos precisam de acesso de gravação para criar, excluir e atualizar os objetos gerenciados pelo serviço.Administrator and developer access to indexes is undifferentiated: both need write access to create, delete, and update objects managed by the service. Qualquer pessoa com uma chave de administrador para seu serviço pode ler, modificar ou excluir um índice no mesmo serviço.Anyone with an admin key to your service can read, modify, or delete any index in the same service. Para proteção contra exclusão de índices acidental ou mal-intencionada, o controle do código-fonte interno para ativos de código é a solução para reverter uma modificação ou exclusão de índice indesejada.For protection against accidental or malicious deletion of indexes, your in-house source control for code assets is the remedy for reversing an unwanted index deletion or modification. O Azure Pesquisa Cognitiva tem um failover no cluster para garantir a disponibilidade, mas não armazena ou executa o código proprietário usado para criar ou carregar índices.Azure Cognitive Search has failover within the cluster to ensure availability, but it does not store or execute your proprietary code used to create or load indexes.

Para soluções de multilocação que exigem limites de segurança no nível do índice, essas soluções normalmente incluem uma camada intermediária que os clientes usam para lidar com isolamento de índice.For multitenancy solutions requiring security boundaries at the index level, such solutions typically include a middle tier, which customers use to handle index isolation. Para obter mais informações sobre o caso de uso multilocatário, consulte padrões de design para aplicativos SaaS multilocatários e pesquisa cognitiva do Azure.For more information about the multitenant use case, see Design patterns for multitenant SaaS applications and Azure Cognitive Search.

Acesso de administradorAdmin access

O RBAC (acesso baseado em função) determina se você tem acesso a controles sobre o serviço e seu conteúdo.Role-based access (RBAC) determines whether you have access to controls over the service and its content. Se você for um proprietário ou colaborador em um serviço de Pesquisa Cognitiva do Azure, poderá usar o portal ou o módulo AZ. Search do PowerShell para criar, atualizar ou excluir objetos no serviço.If you are an Owner or Contributor on an Azure Cognitive Search service, you can use the portal or the PowerShell Az.Search module to create, update, or delete objects on the service. Você também pode usar a API REST de gerenciamento de pesquisa cognitiva do Azure.You can also use the Azure Cognitive Search Management REST API.

Acesso do usuárioUser access

Por padrão, o acesso de usuário a um índice é determinado pela chave de acesso na solicitação de consulta.By default, user access to an index is determined by the access key on the query request. A maioria dos desenvolvedores cria e atribui chaves de consulta para solicitações de pesquisa no lado do cliente.Most developers create and assign query keys for client-side search requests. Uma chave de consulta concede acesso de leitura para todo o conteúdo do índice.A query key grants read access to all content within the index.

Se você preferir o acesso granular, o controle do conteúdo por usuário, pode construir filtros de segurança em suas consultas, retornando os documentos associados a uma identidade de segurança fornecida.If you require granular, per-user control over content, you can build security filters on your queries, returning documents associated with a given security identity. Em vez de funções predefinidas e atribuições de função, o controle de acesso baseado em identidade é implementado como um filtro que corta os resultados da pesquisa de documentos e conteúdo com base nas identidades.Instead of predefined roles and role assignments, identity-based access control is implemented as a filter that trims search results of documents and content based on identities. A tabela a seguir descreve duas abordagens para cortar resultados da pesquisa com conteúdo não autorizado.The following table describes two approaches for trimming search results of unauthorized content.

AbordagemApproach DescriçãoDescription
Filtragem de segurança com base nos filtros de identidadeSecurity trimming based on identity filters Documenta o fluxo de trabalho básico para implementar o controle de acesso de identidade do usuário.Documents the basic workflow for implementing user identity access control. Ele aborda a adição de identificadores de segurança a um índice e explica a filtragem em relação a esse campo para cortar resultados de conteúdo proibido.It covers adding security identifiers to an index, and then explains filtering against that field to trim results of prohibited content.
Filtragem de segurança com base em Identidades do Azure Active DirectorySecurity trimming based on Azure Active Directory identities Este artigo aprofunda o artigo anterior, fornecendo etapas para recuperar identidades do Azure Active Directory (AAD), um dos serviços gratuitos na plataforma de nuvem do Azure.This article expands on the previous article, providing steps for retrieving identities from Azure Active Directory (AAD), one of the free services in the Azure cloud platform.

Tabela: operações permitidasTable: Permissioned operations

A tabela a seguir resume as operações permitidas no Azure Pesquisa Cognitiva e qual chave desbloqueia o acesso a uma determinada operação.The following table summarizes the operations allowed in Azure Cognitive Search and which key unlocks access a particular operation.

OperaçãoOperation PermissõesPermissions
Criar um serviçoCreate a service Titular da assinatura do AzureAzure subscription holder
Dimensionar um serviçoScale a service Chave de administrador, Proprietário ou Colaborador RBAC no recursoAdmin key, RBAC Owner or Contributor on the resource
Excluir um serviçoDelete a service Chave de administrador, Proprietário ou Colaborador RBAC no recursoAdmin key, RBAC Owner or Contributor on the resource
Criar, modificar e excluir objetos no serviço:Create, modify, delete objects on the service:
Índices e partes do componente (incluindo definições do analisador, perfis de pontuação, opções de CORS), indexadores, fontes de dados, sinônimos, sugestores.Indexes and component parts (including analyzer definitions, scoring profiles, CORS options), indexers, data sources, synonyms, suggesters.
Chave de administrador, Proprietário ou Colaborador RBAC no recursoAdmin key, RBAC Owner or Contributor on the resource
Consultar um índiceQuery an index Chave de consulta ou de administrador (RBAC não aplicável)Admin or query key (RBAC not applicable)
Informações do sistema de consulta como: retornar estatísticas, contagens e listas de objetos.Query system information, such as returning statistics, counts, and lists of objects. Chave de administração, RBAC no recurso (Proprietário, Colaborador, Leitor)Admin key, RBAC on the resource (Owner, Contributor, Reader)
Gerenciar chaves de administradorManage admin keys Chave de administração, Proprietário ou Colaborador RBAC no recurso.Admin key, RBAC Owner or Contributor on the resource.
Gerenciar chaves de consultaManage query keys Chave de administração, Proprietário ou Colaborador RBAC no recurso.Admin key, RBAC Owner or Contributor on the resource.

Segurança físicaPhysical security

Os data centers da Microsoft fornecem segurança física líder no setor e são compatíveis com um portfólio abrangente de padrões e regulamentos.Microsoft data centers provide industry-leading physical security and are compliant with an extensive portfolio of standards and regulations. Para saber mais, acesse a página Data centers globais ou assista a um breve vídeo sobre segurança de data center.To learn more, go to the Global data centers page or watch a short video on data center security.

ConsulteSee also