02/04/2019 | Autor: Claudio Romão | Categoria: Técnico | Comentários

Segurança no Azure DevOps Services

Segurança é um ponto que sempre somos questionados quando estamos iniciando uma conversa sobre o Azure DevOps Services. Por esse motivo resolvi escrever esse post para ajudar as pessoas que possuem dúvidas em relação a segurança, especialmente quando estamos falando em serviços de nuvem.

Abaixo vou listar algumas perguntas que escutamos com frequência de nossos clientes:

O tráfego de informações entre o cliente e o Azure DevOps Services é encriptado?

Sim. Para ser mais exato possuímos dois tipos de comunicação, uma entre o cliente e o Azure DevOps Services e uma comunicação interna entre os serviços utilizados pelo Azure DevOps. Todas elas são encriptadas.

No primeiro modelo, onde ocorre a comunicação entre a gente e o Azure DevOps Services, essa comunicação é feita via HTTPS, utilizando por isso as melhores práticas de comunicação segura no ambiente web.

Entre os serviços internos, temos com exemplo:

Dados guardados no Azure SQL: Nesse modelo o Azure DevOps utiliza o modelo TDE (Transparent Data Encryption) para proteger as ameaças de acesso indevido aos dados. Para maiores informações: https://docs.microsoft.com/pt-br/azure/sql-database/transparent-data-encryption-azure-sql?view=sql-server-2017

Azure Blob Storage: A conexão entre os serviços é encriptada e o armazenamento é utilizado o modelo Azure Storage Service Encryption

Como é realizado o acesso e o controle de quem pode usar o Azure DevOps Services?

Como falei anteriormente, todo o acesso entre a nossa estação de trabalho e o Azure DevOps Services é feito via HTTPS, além disso, para poder dar acesso à um usuário, quando estamos falando em empresas que estão adotando o serviço nós sempre fazemos a integração com o Azure Active Directory que além de comunicação segura podemos aplicar outros mecanismos de segurança do AAD, como por exemplo o acesso condicional.

Como é feita a gestão dos acessos na plataforma?

Nesse caso nós podemos dividir a responsabilidade entre dois times. O primeiro que é o responsável por cuidar do Acitve Directory da empresa, ou seja, ela vai ser responsável por realizar cadastro das pessoas no AD ou bloquear as contas quando elas saírem da empresa ou estiverem de férias.

Tendo seu usuário cadastrado e habilitado no AD, nós passamos para um segundo nível autorizações, onde os responsáveis pela Organização, Projeto ou Time, podem conceder as permissões exatas que aquele determinado usuário pode possuir.

Como é feita a segregação de acessos ?

Para atender essa demanda o Azure DevOps Services possui um modelo hierárquico de permissionamento. Com isso nós podemos limitar bem que tipo de recurso o usuário poderá ter acesso e qual informação ele poderá acessar.

Nós conseguimos ter um controle de quem vai poder acessar qual organização da empresa, qual projeto, qual time, qual repositório, acessa a áreas específicas de work items ou nos processos de build e release. Com isso conseguimos criar perfis de bem restritos e segmentar, separando bem os dados que por exemplo um time A pode ver e o time B não pode, ou seu time interno tem acesso a mais informações e uma fábrica apenas naquele pedaço que ela está trabalhando e nada mais.

Com o Azure DevOps Services qualquer um com acesso à Internet pode acessar?

Por ser um serviço em nuvem esse é o padrão, porém para algumas empresas é importante limitar de onde podemos realizar o acesso, como por exemplo apenas da rede interna da empresa. Isso nós conseguimos implementar através do acesso condicional [https://www.microsoft.com/pt-br/cloud-platform/conditional-access]((https://www.microsoft.com/pt-br/cloud-platform/conditional-access)

Outra solução é sua empresa ter um express route com o Azure e toda a comunicação seria feita através desse canal.

Nosso código-fonte é encriptado quando armazenado?

Como o código-fonte fica em uma base do Azure Sql Server ele recebe a encriptação real-time da base e seus backups garantindo integridade no processo.

Essas são as algumas questões que geralmente escutamos e você, tem alguma dúvida a mais? Caso possua, deixe aqui nos comentários que tentaremos ajudar a sanar ela!

Até a próxima, Claudio Romão