Compartilhar via


Controle de acesso baseado em função do Azure no Computador de Desenvolvimento da Microsoft

Este artigo descreve as diferentes funções internas compatíveis com o Computador de Desenvolvimento da Microsoft e como elas são mapeadas para funções organizacionais, como engenheiro de plataforma e gerente de desenvolvimento.

O controle de acesso baseado em função (RBAC) do Azure especifica definições de função internas que descrevem as permissões a serem aplicadas. Você atribui um usuário ou agrupa essa definição de função por meio de uma atribuição de função para um escopo específico. O escopo pode ser um recurso individual, um grupo de recursos ou por toda a assinatura. Na próxima seção, você aprenderá a quais funções internas o Computador de Desenvolvimento da Microsoft dá suporte.

Para saber mais, confira O que é o Azure o RBAC (controle de acesso baseado em função do Azure)?

Observação

Quando você faz alterações na atribuição de função, pode levar alguns minutos para que essas atualizações sejam propagadas.

Funções internas

Neste artigo, as funções internas do Azure são agrupadas logicamente em três tipos de função organizacional, com base em seu escopo de influência:

  • Funções de engenheiro de plataforma: influenciam permissões para centros de desenvolvimento, catálogos e projetos

  • Gerenciador de desenvolvimento: influencia permissões para recursos baseados em projeto

  • Funções de desenvolvedor: influenciam permissões para usuários

As seguintes funções internas têm suporte do Computador de Desenvolvimento da Microsoft:

Tipo de função organizacional Função interna Descrição
Engenheiro de plataforma Proprietário Concede controle total para criar/gerenciar centros de desenvolvimento, catálogos e projetos e conceder permissões a outros usuários. Saiba mais sobre a função Proprietário.
Engenheiro de plataforma Colaborador Concede controle total para criar/gerenciar centros de desenvolvimento, catálogos e projetos, exceto para atribuir funções a outros usuários. Saiba mais sobre a função Colaborador.
Gerenciador de Desenvolvimento Administrador de Projeto do DevCenter Conceder permissão para gerenciar determinados aspectos de projetos e computadores de desenvolvimento. Saiba mais sobre a função Administrador de projetos do DevCenter.
Developer Usuário do Computador de Desenvolvimento Conceder permissão para criar computadores de desenvolvimento e ter controle total sobre os computadores de desenvolvimento que eles criam. Saiba mais sobre a função de usuário do Computador de Desenvolvimento.

Escopo da atribuição de função

No RBAC do Azure, o escopo é o conjunto de recursos aos quais o acesso se aplica. Quando você atribui uma função, é importante entender o escopo para que você conceda apenas o acesso necessário.

No Azure, você pode especificar um escopo em quatro níveis: grupo de gerenciamento, assinatura, grupo de recursos e recurso. Os escopos são estruturados em uma relação pai-filho. Cada nível de hierarquia torna o escopo mais específico. Você pode atribuir funções em qualquer um desses níveis de escopo. O nível que você seleciona determina o quão amplamente a função é aplicada. Os níveis inferiores herdam as permissões de função de níveis superiores. Saiba mais sobre o escopo do RBAC do Azure.

Para o Computador de Desenvolvimento da Microsoft, considere os seguintes escopos:

Escopo Descrição
Assinatura Usado para gerenciar a cobrança e a segurança de todos os recursos e serviços do Azure. Normalmente, somente engenheiros de plataforma têm acesso no nível da assinatura porque essa atribuição de função concede acesso a todos os recursos na assinatura.
Grupo de recursos Um contêiner lógico para agrupar recursos. A atribuição de função para o grupo de recursos concede permissão ao grupo de recursos e a todos os recursos dentro dele, como centros de desenvolvimento, definições de computador de desenvolvimento, pools de computadores de desenvolvimento, projetos e computadores de desenvolvimento.
Centro de desenvolvimento (recurso) Uma coleção de projetos que exigem configurações semelhantes. A atribuição de função para o centro de desenvolvimento concede permissão ao centro de desenvolvimento em si. As permissões atribuídas para os centros de desenvolvimento não são herdadas por outros recursos de computador de desenvolvimento.
Projeto (recurso) Um recurso do Azure usado para aplicar configurações comuns ao criar um computador de desenvolvimento. A atribuição de função para o projeto concede permissão somente a esse projeto específico.
Pool de computadores de desenvolvimento (recurso) Uma coleção de computadores de desenvolvimento que você gerencia em conjunto e nos quais aplica configurações semelhantes. A atribuição de função para o pool de computadores de desenvolvimento concede permissão somente a esse pool específico.
Definição de computador de desenvolvimento (recurso) Recurso do Azure que especifica uma imagem de origem e um tamanho, incluindo o tamanho da computação e o tamanho do armazenamento. A atribuição de função para a definição de computadores de desenvolvimento concede permissão somente a essa definição específica.

Diagrama que mostra os escopos de atribuição de função para o Computador de Desenvolvimento da Microsoft.

Funções para atividades comuns do Computador de Desenvolvimento

A tabela a seguir mostra atividades comuns de Computador de Desenvolvimento e as funções necessárias para que um usuário execute essa atividade.

Atividade Tipo de função Função Escopo
Conceder permissão para criar um grupo de recursos. Engenheiro de plataforma Proprietário ou Colaborador Assinatura
Conceda permissão para enviar um tíquete de suporte da Microsoft, inclusive para solicitar capacidade. Engenheiro de plataforma Proprietário, Colaborador, Colaborador de Solicitação de Suporte Assinatura
Conceder permissão para criar redes virtuais e sub-redes. Engenheiro de plataforma Colaborador de rede Grupo de recursos
Conceder permissão para criar uma conexão de rede. Engenheiro de plataforma Proprietário ou Colaborador Grupo de recursos
Conceder permissão para atribuir funções a outros usuários. Engenheiro de plataforma Proprietário Grupo de recursos
Conceder permissão a:
– Criar/gerenciar centros de desenvolvimento.
– Adicionar/remover conexões de rede.
– Adicionar/remover galerias de computação do Azure.
– Criar/gerenciar definições do computador de desenvolvimento.
– Criar/gerenciar projetos.
– Anexar/gerenciar catálogo a um centro de desenvolvimento ou projeto (os catálogos no nível do projeto devem ser habilitados no centro de desenvolvimento).
– Configurar os limites do computador de desenvolvimento.
Engenheiro de plataforma Colaborador Grupo de recursos
Conceder permissão para adicionar ou remover uma conexão de rede para um centro de desenvolvimento. Engenheiro de plataforma Colaborador Centro de desenvolvimento
Conceder permissão para habilitar/desabilitar catálogos de projetos. Gerenciador de Desenvolvimento Colaborador Centro de desenvolvimento
Conceder permissão a:
– Adicionar, sincronizar e remover catálogos (catálogos no nível do projeto devem ser habilitados no centro de desenvolvimento).
– Crie pools de computador de desenvolvimento.
– Parar, iniciar, excluir computadores de desenvolvimento em pools.
Gerenciador de Desenvolvimento Administrador de Projeto do DevCenter Project
Criar e gerenciar seus próprios computadores de desenvolvimento em um projeto. Usuário Usuário do Computador de Desenvolvimento Project
Criar e gerenciar catálogos em um repositório do GitHub ou Azure Repos. Gerenciador de Desenvolvimento Não regido pelo RBAC.
– O usuário deve receber permissões por meio do Azure DevOps ou do GitHub.
Repositório

Importante

A assinatura de uma organização é usada para gerenciar a cobrança e a segurança de todos os recursos e serviços do Azure. Você pode atribuir a função Proprietário ou Colaborador na assinatura. Normalmente, somente engenheiros de plataforma têm acesso no nível da assinatura porque isso inclui acesso total a todos os recursos na assinatura.

Funções de engenheiro de plataforma

Para conceder aos usuários permissão para gerenciar o Computador de Desenvolvimento da Microsoft na assinatura da sua organização, você deve atribuir a eles a função Proprietário ou Colaborador.

Atribua essas funções ao grupo de recursos. Os centros de desenvolvimento, conexões de rede, definições de computador de desenvolvimento, pools de computador de desenvolvimento e projetos dentro do grupo de recursos herdam essas atribuições de função.

Diagrama que mostra as atribuições de função de administrador na assinatura dos Ambientes de Implantação do Azure.

Função Proprietário

Atribuir a função Proprietário para dar a um usuário controle total para criar ou gerenciar recursos de Computador de Desenvolvimento e conceder permissões a outros usuários. Quando um usuário tem a função Proprietário no grupo de recursos, ele pode realizar as seguintes atividades em todos os recursos dentro do grupo de recursos:

  • Atribua funções a engenheiros de plataforma para que eles possam gerenciar recursos do Computador de Desenvolvimento.

  • Crie centros de desenvolvimento, conexões de rede, definições de computador de desenvolvimento, pools de computador de desenvolvimento e projetos.

  • Visualize, exclua e altere configurações de todos os centros de desenvolvimento, conexões de rede, definições de computador de desenvolvimento, pools de computador de desenvolvimento e projetos.

  • Anexar e desanexar catálogos.

Cuidado

Quando você atribui a função Proprietário ou Colaborador no grupo de recursos, essas permissões também se aplicam a recursos não relacionados ao Computador de Desenvolvimento que existem no grupo de recursos.

Função Parceiro

Atribua a função Colaborador para dar a um usuário controle total para criar ou gerenciar projetos e centros de desenvolvimento em um grupo de recursos. A função Colaborador tem as mesmas permissões que a função Proprietário, exceto para:

  • Executar atribuições de função.

Função de Gerenciador de Desenvolvimento

Há uma função de gerenciador de desenvolvimento: Administrador de projetos do DevCenter. Esta função tem permissões mais restritas em escopos de nível inferior do que as funções de engenheiro de plataforma. Você pode atribuir esta função aos gerentes de desenvolvimento para permitir que eles executem tarefas administrativas para a sua equipe.

Diagrama que mostra a atribuição de função de gerenciador de desenvolvimento nos escopos do nível do projeto para o Computador de Desenvolvimento da Microsoft.

Função Administrador de Projetos do DevCenter

Atribua a função Administrador de projetos do DevCenter para habilitar:

  • Adicionar, sincronizar e remover catálogos (catálogos no nível do projeto devem estar habilitados no centro de desenvolvimento).

  • Criar pools de computador de desenvolvimento.

  • Parar, iniciar, excluir computadores de desenvolvimento em pools.

Função de desenvolvedor

Há uma função de desenvolvedor: Usuário de Computador de Desenvolvimento. Essa função permite que os desenvolvedores criem e gerenciem seus próprios computadores de desenvolvimento.

Diagrama que mostra as atribuições de função de usuário no projeto para o Computador de Desenvolvimento da Microsoft.

Usuário do Computador de Desenvolvimento

Atribua a função de Usuário de Computador de Desenvolvimento para dar aos usuários permissão para criar computadores de desenvolvimento e ter controle total sobre os computadores de desenvolvimento que eles criam. Os desenvolvedores podem executar as seguintes ações em qualquer computador de desenvolvimento que criarem:

  • Criar
  • Iniciar / parar
  • Reiniciar
  • Atrasar o desligamento agendado
  • Excluir

IAM (gerenciamento de identidade e acesso)

A página Controle de acesso (IAM) no portal do Azure é usada para configurar o controle de acesso baseado em função do Azure nos recursos do Computador de Desenvolvimento da Microsoft. Você pode usar funções internas para indivíduos e grupos no Active Directory. A seguinte captura de tela mostra a integração com o Active Directory (RBAC do Azure) usando o controle de acesso (IAM) no portal do Azure:

Captura de tela que mostra a página de Controle de acesso (IAM) para um centro de desenvolvimento.

Para ver as etapas detalhadas, confira Atribuir funções do Azure usando o portal do Azure.

Centro de desenvolvimento, grupo de recursos e estrutura de projeto

Sua organização deve investir tempo antecipadamente para planejar o posicionamento de seus centros de desenvolvimento e a estrutura de grupos de recursos e projetos.

Centros de desenvolvimento: organize centros de desenvolvimento pelo conjunto de projetos que você deseja gerenciar juntos, aplicando configurações semelhantes e fornecendo modelos semelhantes.

As organizações podem usar um ou mais centros de desenvolvimento. Normalmente, cada suborganização dentro da organização tem seu próprio centro de desenvolvimento. Você pode considerar a criação de vários centros de desenvolvimento nos seguintes casos:

  • Se desejar que configurações específicas estejam disponíveis para um subconjunto de projetos.

  • Se diferentes equipes precisarem ter e manter o recurso do centro de desenvolvimento no Azure.

Projetos: associados a cada equipe de desenvolvimento ou grupo de pessoas que trabalham em um aplicativo ou produto.

O planejamento é especialmente importante quando você atribui funções ao grupo de recursos porque ele também aplica permissões a todos os recursos no grupo de recursos, incluindo centros de desenvolvimento, conexões de rede, definições de computador de desenvolvimento, pools de computador de desenvolvimento e projetos.

Para garantir que os usuários só recebam permissão para os recursos apropriados:

  • Crie grupos de recursos que contenham apenas recursos do Computador de Desenvolvimento.

  • Organizar projetos de acordo com a definição de computador de desenvolvimento e pools de computador de desenvolvimento necessários e os desenvolvedores que devem ter acesso. É importante observar que os pools de computadores de desenvolvimento determinam o local da criação do computador de desenvolvimento. Os desenvolvedores devem criar computadores de desenvolvimento em um local próximo a eles para obter a menor latência.

Por exemplo, você pode criar projetos separados para equipes de desenvolvedores diferentes para isolar os recursos de cada equipe. Os Gerentes de Desenvolvimento em um projeto podem então ser atribuídos à função Administrador do projeto, que só lhes concede acesso aos recursos de suas equipes.

Importante

Planeje a estrutura antecipadamente, porque não é possível mover recursos de Computador de Desenvolvimento, como projetos, para um grupo de recursos diferente depois que eles são criados.

Estrutura de catálogo

O Computador de Desenvolvimento da Microsoft usa catálogos para permitir que desenvolvedores implantem personalizações para computadores de desenvolvimento usando um catálogo de tarefas e um arquivo de personalização para instalar software, adicionar extensões, clonar repositórios e muito mais. 

O Computador de Desenvolvimento da Microsoft armazena catálogos em um repositório GitHub ou um repositório do Azure DevOps Services. Você pode anexar um catálogo a um centro de desenvolvimento ou a um projeto.

Você pode anexar um ou mais catálogos ao centro de desenvolvimento e gerenciar todas as personalizações nesse nível. Para fornecer mais granularidade em como os desenvolvedores acessam personalizações, você pode anexar catálogos no nível do projeto. Ao planejar onde anexar catálogos, considere as necessidades de cada equipe de desenvolvimento.