PERMISSOES.md•3.87 kB
# Como Configurar Permissões do Azure MCP Server
## Problema Identificado
O Service Principal foi criado com sucesso, mas **não tem permissão Reader** ainda.
Erro atual:
```
The client does not have authorization to perform action 'Microsoft.Compute/virtualMachines/read'
```
## Solução: Atribuir Permissão via Portal Azure
### Passo 1: Acessar o Portal Azure
1. Abra seu navegador
2. Acesse: https://portal.azure.com
3. Faça login com sua conta: `rickpcsouza@vtr1m.onmicrosoft.com`
### Passo 2: Navegar até Subscriptions
1. No menu lateral esquerdo, procure por **"Subscriptions"** (ou use a barra de busca no topo)
2. Clique em **"Assinatura do Azure 1"**
### Passo 3: Configurar Access Control (IAM)
1. No menu lateral da subscription, clique em **"Access control (IAM)"**
2. Clique no botão **"+ Add"** no topo
3. Selecione **"Add role assignment"**
### Passo 4: Selecionar a Role
1. Na aba **"Role"**, procure por **"Reader"**
2. Selecione a role **"Reader"**
3. Clique em **"Next"**
### Passo 5: Adicionar o Service Principal
1. Na aba **"Members"**:
- Certifique-se que **"User, group, or service principal"** está selecionado
- Clique em **"+ Select members"**
2. Na barra de busca que aparece:
- Digite: **azure-mcp-server**
- Selecione o item que aparecer (deve mostrar "azure-mcp-server")
- Clique em **"Select"** no rodapé
3. Clique em **"Next"**
### Passo 6: Revisar e Atribuir
1. Na aba **"Review + assign"**:
- Verifique se está tudo correto:
- Role: Reader
- Member: azure-mcp-server
- Scope: /subscriptions/c559ba89-2224-4b9c-8890-b24510a8f82b
2. Clique em **"Review + assign"** novamente
3. Aguarde a confirmação (pode levar alguns segundos)
### Passo 7: Testar o Servidor
Após atribuir as permissões, volte ao terminal e teste:
```bash
# Testar health check
curl http://localhost:3000/health
# Testar API de VMs (deve retornar lista vazia, mas sem erro de permissão)
curl http://localhost:3000/api/vms
```
Resposta esperada (sem VMs):
```json
{
"success": true,
"count": 0,
"data": []
}
```
## Alternativa: Linha de Comando (se tiver permissões de Owner)
Se você for **Owner** da subscription, pode tentar este comando:
```bash
az role assignment create \
--role "Reader" \
--assignee-object-id "e6458be3-c686-4c3c-b26f-3b264abbad57" \
--scope "/subscriptions/c559ba89-2224-4b9c-8890-b24510a8f82b"
```
## Verificar se Funcionou
Após configurar as permissões, execute:
```bash
# Verificar role assignments
az role assignment list --assignee 3fa4c4df-6091-4073-ae17-6a35f4c168c1 --all
```
Você deve ver a role "Reader" listada.
## Detalhes das Credenciais
Para referência:
- **Service Principal Name**: azure-mcp-server
- **Client ID (appId)**: 3fa4c4df-6091-4073-ae17-6a35f4c168c1
- **Object ID**: e6458be3-c686-4c3c-b26f-3b264abbad57
- **Tenant ID**: eac6c00d-e01e-40f8-bb5f-bac6b0ced795
- **Subscription ID**: c559ba89-2224-4b9c-8890-b24510a8f82b
- **Subscription Name**: Assinatura do Azure 1
## Troubleshooting
### "Não consigo encontrar o Service Principal"
- Tente buscar pelo Client ID: `3fa4c4df-6091-4073-ae17-6a35f4c168c1`
- Verifique se está logado na conta correta
### "Não tenho permissão para atribuir roles"
- Você precisa ser **Owner** ou **User Access Administrator** da subscription
- Peça para um administrador da sua organização fazer a atribuição
### "A role foi atribuída mas ainda dá erro"
- Aguarde 1-2 minutos para as permissões propagarem
- Reinicie o servidor: `npm start`
- Teste novamente
## Próximos Passos
Após configurar as permissões com sucesso:
1. O servidor estará 100% funcional
2. Você poderá monitorar VMs quando criar alguma
3. Você poderá monitorar VMSS quando criar algum
4. Todas as APIs estarão disponíveis
Para criar recursos de teste, consulte o arquivo `README.md`.