Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo destina-se a engenheiros de plataforma, administradores centrais de TI e outros administradores de nível superior que planeiam e gerem implementações do Microsoft Dev Box. Descreve os diferentes papéis incorporados que o Microsoft Dev Box suporta, e como estes se relacionam com funções organizacionais como engenheiro de plataforma e gestor de programação, para que possas planear o modelo de permissões correto antes de lançares o Dev Box.
O controlo de acesso baseado em papéis (RBAC) do Azure especifica funções incorporadas que definem as permissões a aplicar. Em vez de conceder permissões granulares diretamente a utilizadores ou grupos individuais, atribui-se funções que agrupam permissões relacionadas para que possa aplicar e auditar o acesso de forma consistente entre recursos. Você atribui a um usuário ou grupo 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 através da assinatura. Na próxima seção, você aprenderá quais funções internas o Microsoft Dev Box suporta.
Para obter mais informações, consulte O que é o controle de acesso baseado em função do Azure (Azure RBAC)?
Nota
Quando você faz alterações na atribuição de função, pode levar alguns minutos para que essas atualizações se propaguem.
Funções incorporadas
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: influenciar permissões para centros de desenvolvimento, catálogos e projetos
Gerente de desenvolvimento: permissões de influência para recursos baseados em projeto
Funções de desenvolvedor: influenciar permissões para usuários
A seguir estão as funções internas suportadas pelo Microsoft Dev Box:
| Tipo de função organizacional | Função incorporada | Description |
|---|---|---|
| Engenheiro de plataforma | Proprietário | Conceda controle total para criar/gerenciar centros de desenvolvimento, catálogos e projetos e conceda permissões a outros usuários. Saiba mais sobre a função Proprietário. |
| Engenheiro de plataforma | Contribuinte | Conceda 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 de Colaborador. |
| Engenheiro de plataforma | Proprietário do DevCenter | Forneça acesso para gerir todos os recursos do Microsoft.DevCenter e acesso a eles. Saiba mais sobre o cargo de DevCenter Owner. |
| Gerente de Desenvolvimento | Administrador do Projeto DevCenter | Conceda permissão para gerenciar certos aspetos de projetos e caixas de desenvolvimento. Saiba mais sobre a função de Administrador de Projeto do DevCenter. |
| Desenvolvedor | Usuário do Dev Box | Conceda permissão para criar caixas de desenvolvimento e tenha controle total sobre as caixas de desenvolvimento que elas criam. Saiba mais sobre a função Usuário da Caixa de Desenvolvimento. |
Escopo de atribuição de função
No RBAC do Azure, escopo é o conjunto de recursos ao qual o acesso se aplica. Quando você atribui uma função, é importante entender o escopo para conceder 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 âmbitos são estruturados numa relação de principal-subordinado. Cada nível de hierarquia torna o âmbito mais específico. Você pode atribuir funções em qualquer um desses níveis de escopo. O nível selecionado determina a extensão da aplicação da função. Níveis inferiores herdam permissões de função de níveis superiores. Saiba mais sobre o escopo do Azure RBAC.
Para Microsoft Dev Box, considere os seguintes escopos:
| Scope | Description |
|---|---|
| Subscrição | Usado para gerenciar a cobrança e a segurança de todos os recursos e serviços do Azure. Normalmente, apenas os engenheiros de plataforma têm acesso ao nível da subscrição porque esta atribuição de função concede acesso a todos os recursos na subscrição. |
| 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 caixa de desenvolvimento, pools de caixas de desenvolvimento, projetos e caixas 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 próprio centro de desenvolvimento. As permissões atribuídas aos centros de desenvolvimento não são herdadas por outros recursos da caixa de desenvolvimento. |
| Projeto (recurso) | Um recurso do Azure usado para aplicar definições de configuração comuns quando você cria uma caixa de desenvolvimento. A atribuição de função para o projeto concede permissão apenas para esse projeto específico. |
| Pool de caixas de desenvolvimento (recurso) | Uma coleção de caixas de desenvolvimento que você gerencia em conjunto e às quais aplica configurações semelhantes. A atribuição de função para o pool de caixas de desenvolvimento concede permissão somente para esse pool de caixas de desenvolvimento específico. |
| Definição de caixa de desenvolvimento (recurso) | Um recurso do Azure que especifica uma imagem e um tamanho de origem, incluindo tamanho de computação e tamanho de armazenamento. A atribuição de função para a definição da caixa de desenvolvimento concede permissão somente para essa definição específica da caixa de desenvolvimento. |
Funções para atividades comuns da Caixa de Desenvolvimento
A tabela a seguir mostra as atividades comuns da Caixa de Desenvolvimento e a função necessária para que um usuário execute essa atividade.
| Atividade | Tipo de função | Role | Scope |
|---|---|---|---|
| Conceda permissão para criar um grupo de recursos. | Engenheiro de plataforma | Proprietário ou Colaborador | Subscrição |
| Conceda permissão para enviar um tíquete de suporte da Microsoft, inclusive para solicitar capacidade. | Engenheiro de plataforma | Proprietário, Colaborador, Contribuidor de Solicitação de Suporte | Subscrição |
| Conceda permissão para criar redes virtuais e sub-redes. | Engenheiro de plataforma | Contribuidor de Rede | Grupo de recursos |
| Conceda permissão para criar uma conexão de rede. | Engenheiro de plataforma | Proprietário ou Colaborador | Grupo de recursos |
| Conceda permissão para atribuir funções a outros usuários. | Engenheiro de plataforma | Proprietário | Grupo de recursos |
| Conceda permissão para: - Criar / gerenciar centros de desenvolvimento. - Adicionar / remover conexões de rede. - Adicionar / remover galerias de computação do Azure. - Criar/gerenciar definições de dev box. - Criar/gerir projetos. - Anexar / gerenciar catálogo a um centro de desenvolvimento ou projeto (catálogos de nível de projeto devem ser habilitados no centro de desenvolvimento). - Configure os limites da caixa de desenvolvimento. |
Engenheiro de plataforma | Contribuinte | Grupo de recursos |
| Conceder permissão para criar e gerir recursos Dev Box sem conceder acesso a outros tipos de recursos no grupo de recursos.
- Centros de desenvolvimento - Projetos - Definições de caixas de desenvolvimento - Pools de caixas de desenvolvimento |
Engenheiro de plataforma | Proprietário do DevCenter | Grupo de recursos |
| Conceda permissão para adicionar ou remover uma conexão de rede para um centro de desenvolvimento. | Engenheiro de plataforma | Contribuidor ou Proprietário do DevCenter | Centro de desenvolvimento |
| Conceda permissão para ativar/desativar catálogos de projetos. | Gerente de Desenvolvimento | Contribuinte | Centro de desenvolvimento |
| Conceda permissão para: - Adicionar, sincronizar, remover catálogo (os catálogos no nível do projeto devem estar habilitados no centro de desenvolvimento). - Criar pools de caixa de desenvolvimento. - Parar, iniciar, excluir caixas de desenvolvimento em pools. |
Gerente de Desenvolvimento | Administrador do Projeto DevCenter | Project |
| Crie e gerencie suas próprias caixas de desenvolvimento em um projeto. | User | Usuário do Dev Box | Project |
| Crie e gerencie catálogos em um repositório GitHub ou Azure Repos. | Gerente de Desenvolvimento | Não regido pelo RBAC.
- O usuário deve receber permissões por meio do Azure DevOps ou GitHub. |
Repositório |
Importante
A subscrição de uma organização é utilizada para gerir a faturação e a segurança de todos os recursos e serviços do Azure. Você pode atribuir a função de Proprietário ou Colaborador na assinatura. Normalmente, apenas os engenheiros de plataforma têm acesso em nível de assinatura, pois isso inclui acesso total a todos os recursos da assinatura.
Funções para engenheiros de plataforma
Para conceder permissão aos utilizadores para gerir a Microsoft Dev Box dentro da subscrição da sua organização, pode atribuir-lhes o papel de Proprietário ou Contribuidor no âmbito do grupo de recursos, ou o papel de Proprietário do DevCenter no âmbito do centro de desenvolvimento.
Quando usares os papéis de Proprietário ou Contribuidor, atribui-os ao grupo de recursos. Os centros de desenvolvimento, conexões de rede, definições de caixa de desenvolvimento, pools de caixas de desenvolvimento e projetos dentro do grupo de recursos herdam essas atribuições de função.
Função Proprietário
Atribua a função Proprietário para dar a um usuário controle total para criar ou gerenciar recursos da Caixa 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 fazer 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 da Caixa de Desenvolvimento.
- Crie centros de desenvolvimento, conexões de rede, definições de caixa de desenvolvimento, pools de caixa de desenvolvimento e projetos.
- Visualize, exclua e altere as configurações de todos os centros de desenvolvimento, conexões de rede, definições de caixa de desenvolvimento, pools de caixas de desenvolvimento e projetos.
- Anexar e desanexar catálogos.
Função de contribuidor
Atribua a função de Colaborador para dar a um usuário controle total para criar ou gerenciar centros de desenvolvimento e projetos dentro de um grupo de recursos. A função de Colaborador tem as mesmas permissões que a função de Proprietário, exceto para:
- Desempenho de atribuições de funções.
Atenção
Quando você atribui a função de Proprietário ou Colaborador no grupo de recursos, essas permissões também se aplicam a recursos não relacionados à Caixa de Desenvolvimento que existem no grupo de recursos.
Função de Proprietário do DevCenter
Podes atribuir o papel de Proprietário do DevCenter tanto no âmbito do grupo de recursos como no âmbito do centro de desenvolvimento.
Papel de Proprietário do DevCenter no âmbito do grupo de recursos
Atribuir o papel de Proprietário do DevCenter a um grupo de recursos para dar ao utilizador controlo total sobre os recursos do Microsoft.DevCenter, sem conceder acesso mais amplo a outros recursos do grupo de recursos.
Quando um utilizador tem o papel de DevCenter Owner num grupo de recursos, pode:
- Criar, atualizar e eliminar centros de desenvolvimento nesse grupo de recursos.
- Criar, atualizar e eliminar projetos nesse grupo de recursos.
- Crie, atualize e elimine pools de dev boxes e definições de dev boxes nesse grupo de recursos.
- Gerir catálogos, ligações de rede e galerias de computação ligadas aos centros de desenvolvimento no grupo de recursos.
- Delegar a administração do projeto atribuindo funções de DevCenter Project Admin e DevCenter Dev Box User ao nível do projeto.
Função de Proprietário do DevCenter no âmbito do dev center
Atribuir o papel de Proprietário do DevCenter a um centro de desenvolvimento para dar ao utilizador controlo total sobre os recursos do Microsoft.DevCenter, sem conceder acesso mais amplo a outros centros de desenvolvimento e aos seus recursos. Utilizadores com esta função atribuída a um centro de desenvolvimento não podem criar novos centros de desenvolvimento.
Quando um utilizador tem o papel de DevCenter Owner num dev center, pode:
- Criar, atualizar e eliminar projetos nesse centro de desenvolvimento.
- Criar, atualizar e eliminar pools de dev boxes e definições de dev boxes nesse centro de desenvolvimento.
- Gerir catálogos, ligações de rede e galerias de computação ligadas a esse centro de desenvolvimento.
- Delegar a administração do projeto atribuindo funções de DevCenter Project Admin e DevCenter Dev Box User ao nível do projeto.
Funções para Gestores de Desenvolvimento
Há uma função de gerente de desenvolvimento: DevCenter Project Admin. Essa 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 essa função aos gerentes de desenvolvimento para permitir que eles executem tarefas administrativas para sua equipe.
Função de administrador do projeto DevCenter
Atribua o DevCenter Project Admin para habilitar:
Adicionar, sincronizar, remover catálogo (os catálogos no nível do projeto devem estar habilitados no centro de desenvolvimento).
Crie pools de caixas de desenvolvimento.
Parar, iniciar, excluir caixas de desenvolvimento em pools.
Funções para programadores
Há uma função de desenvolvedor: Dev Box User. Essa função permite que os desenvolvedores criem e gerenciem suas próprias caixas de desenvolvimento.
Papel de utilizador na Dev Box
Atribua a função Usuário da Caixa de Desenvolvimento para dar permissão aos usuários para criar caixas de desenvolvimento e ter controle total sobre as caixas de desenvolvimento que eles criam. Os desenvolvedores podem executar as seguintes ações em qualquer caixa de desenvolvimento que criarem:
- Criar
- Iniciar/parar
- Reiniciar
- Atrasar o desligamento programado
- Delete
Gestão de identidades e acessos (IAM)
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 da Caixa de Desenvolvimento da Microsoft. Você pode usar funções internas para indivíduos e grupos no Ative Directory. A captura de tela a seguir mostra a integração do Ative Directory (Azure RBAC) usando o controle de acesso (IAM) no portal do Azure:
Para obter os passos detalhados, veja o artigo Atribuir funções do Azure com o portal do Azure.
Centro de desenvolvimento, grupo de recursos e estrutura do 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ê gostaria de 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 você quiser que configurações específicas estejam disponíveis para um subconjunto de projetos.
Se equipes diferentes precisarem possuir 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 também aplica permissões a todos os recursos no grupo de recursos, incluindo centros de desenvolvimento, conexões de rede, definições de caixa de desenvolvimento, pools de caixas de desenvolvimento e projetos.
Para garantir que os usuários só tenham permissão para os recursos apropriados:
Crie grupos de recursos que contenham apenas recursos da Caixa de Desenvolvimento.
Organize os projetos de acordo com a definição da caixa de desenvolvimento e pools de caixa de desenvolvimento necessários e os desenvolvedores que devem ter acesso. É importante observar que os pools de caixas de desenvolvimento determinam o local de criação da caixa de desenvolvimento. Os desenvolvedores devem criar caixas de desenvolvimento em um local próximo a elas para obter a menor latência.
Por exemplo, você pode criar projetos separados para diferentes equipes de desenvolvedores para isolar os recursos de cada equipe. Os gerentes de desenvolvimento em um projeto podem ser atribuídos à função de administrador de projeto, que só lhes concede acesso aos recursos de sua equipe.
Importante
Planeje a estrutura antecipadamente porque não é possível mover recursos da Caixa de Desenvolvimento, como projetos, para um grupo de recursos diferente depois que eles são criados.
Estrutura do catálogo
O Microsoft Dev Box usa catálogos para permitir que os desenvolvedores implantem personalizações para caixas 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 Microsoft Dev Box armazena catálogos em um repositório GitHub ou em um repositório dos Serviços de DevOps do Azure. Você pode anexar um catálogo a um centro de desenvolvimento ou a um projeto.
Você pode anexar um ou mais catálogos ao seu 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, você deve considerar as necessidades de cada equipe de desenvolvimento.