Segurança dos Serviços Cognitivos do Azure

A segurança deve ser considerada uma grande prioridade ao desenvolver qualquer aplicativo. Com o surgimento de aplicativos habilitados para inteligência artificial, a segurança é ainda mais importante. Neste artigo, descrevemos vários aspectos da segurança dos Serviços Cognitivos do Azure, como o uso da segurança da camada de transporte, a autenticação, a configuração segura de dados confidenciais e o Sistema de Proteção de Dados do Cliente para acesso a dados do cliente.

Protocolo TLS

Todos os pontos de extremidade dos Serviços Cognitivos expostos por HTTP usam o TLS 1.2. Com um protocolo de segurança aplicado, os consumidores que tentam chamar um ponto de extremidade dos Serviços Cognitivos devem cumprir estas diretrizes:

  • O SO (sistema operacional) do cliente precisa dar suporte ao TLS 1.2
  • A linguagem (e a plataforma) usada para fazer a chamada HTTP precisar especificar o TLS 1.2 como parte da solicitação
    • Dependendo da linguagem e da plataforma, a especificação do TLS é feita de modo implícito ou explícito

Para usuários do .NET, considere as melhores práticas do Transport Layer Security.

Autenticação

Quando falamos sobre a autenticação, há vários equívocos comuns. Muitas vezes, as pessoas confundem autenticação e autorização. A identidade também é um componente importante da segurança. Uma identidade é uma coleção de informações sobre uma entidade de segurança. Os IdPs (provedores de identidade) fornecem identidades aos serviços de autenticação. Autenticação é o ato de verificar a identidade de um usuário. Autorização é a especificação dos direitos de acesso e dos privilégios para os recursos de determinada identidade. Várias das ofertas dos Serviços Cognitivos incluem o Azure RBAC (controle de acesso baseado em função do Azure). O Azure RBAC pode ser usado para simplificar parte da cerimônia envolvida no gerenciamento manual de entidades de segurança. Para obter mais detalhes, consulte controle de acesso baseado em função do Azure para recursos do Azure.

Para obter mais informações sobre autenticação com chaves de assinatura, tokens de acesso e o AAD (Azure Active Directory), confira autenticar solicitações feitas aos Serviços Cognitivos do Azure.

Configuração de aplicativos e variáveis de ambiente

As variáveis de ambiente são pares nome-valor, armazenados em um ambiente específico. Elas são uma alternativa mais segura ao uso de valores de código fixo para dados confidenciais. Os valores de código fixo não são seguros e devem ser evitados.

Cuidado

Não use valores de código fixo para dados confidenciais, pois isso causa uma grande vulnerabilidade de segurança.

Observação

Embora as variáveis de ambiente sejam armazenadas em texto sem formatação, elas são isoladas em um ambiente. Se um ambiente for comprometido, as variáveis também serão comprometidas com o ambiente.

Definir variáveis de ambiente

Para definir variáveis de ambiente, use um dos comandos a seguir, em que ENVIRONMENT_VARIABLE_KEY é a chave nomeada e value é o valor armazenado na variável de ambiente.

Crie e atribua variáveis de ambiente persistentes, considerando o valor.

:: Assigns the env var to the value
setx ENVIRONMENT_VARIABLE_KEY="value"

Em uma nova instância do Prompt de comando, leia a variável de ambiente.

:: Prints the env var value
echo %ENVIRONMENT_VARIABLE_KEY%

Dica

Depois de definir uma variável de ambiente, reinicie o IDE (ambiente de desenvolvimento integrado) para garantir que as variáveis de ambiente adicionadas recentemente estejam disponíveis.

Obter variáveis de ambiente

Para obter uma variável de ambiente, ela deve ser lida na memória. Dependendo da linguagem que você usa, considere os snippets de código a seguir. Esses snippets de código demonstram como obter a variável de ambiente considerando ENVIRONMENT_VARIABLE_KEY e atribuí-la a uma variável chamada value.

Para obter mais informações, confira Environment.GetEnvironmentVariable .

using static System.Environment;

class Program
{
    static void Main()
    {
        // Get the named env var, and assign it to the value variable
        var value =
            GetEnvironmentVariable(
                "ENVIRONMENT_VARIABLE_KEY");
    }
}

Sistema de Proteção de Dados do Cliente

O Sistema de Proteção de Dados do Cliente para Microsoft Azure apresenta uma interface para que os clientes revisem e aprovem ou rejeitem solicitações de acesso aos dados do cliente. Ele é usado quando um engenheiro da Microsoft precisa acessar os dados do cliente durante uma solicitação de suporte. Para obter informações sobre como as solicitações do Sistema de Proteção de Dados do Cliente são iniciadas, acompanhadas e armazenadas para revisões e auditorias posteriores, confira Sistema de Proteção de Dados do Cliente.

O Sistema de Proteção de Dados do Cliente está disponível para este serviço:

  • Tradutor

Para estes serviços, os engenheiros da Microsoft não acessarão dados do cliente na camada E0:

  • Reconhecimento Vocal
  • Detecção Facial
  • Content Moderator
  • Personalizador

Para solicitar a capacidade de usar a SKU E0, preencha e envie este  formulário de solicitação. O retorno sobre o status da sua solicitação levará aproximadamente de três a cinco dias úteis. Dependendo da demanda, você poderá ser colocado em uma fila e será aprovado assim que abrir espaço. Depois de receber aprovação para usar a SKU E0 com o LUIS, você precisará criar um recurso no portal do Azure e selecionar E0 como o Tipo de preço. Os usuários não poderão atualizar a SKU de F0 para a nova E0.

No momento, o serviço de Fala não é compatível com o Sistema de Proteção de Dados do Cliente. No entanto, é possível armazenar os dados do cliente usando o BYOS (Traga seu próprio armazenamento), o que permite que você obtenha controles de dados semelhantes para o Sistema de Proteção de Dados do Cliente. Lembre-se de que os dados do serviço de Fala permanecem e são processados na região onde o recurso de fala foi criado. Isso se aplica aos dados inativos e aos dados em trânsito. Ao usar recursos de personalização, como Fala Personalizada e Voz Personalizada, todos os dados do cliente são transferidos, armazenados e processados na mesma região em que residem o seu BYOS (se usado) e o recurso de serviço de fala.

Importante

A Microsoft não usa dados do cliente para melhorar os modelos de Fala. Além disso, se o registro em log dos pontos de extremidade estiver desabilitado e nenhuma personalização for usada, os dados do cliente não serão armazenados.

Próximas etapas