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. |
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.
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.
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.
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:
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.