Siga somente a seção da cloud escolhida. Use uma identidade dedicada, limite o escopo ao ambiente do cliente e confira região e rede antes de salvar. O botão Testar conexão consulta a identidade, as VMs e opções de provisionamento; ele não cria recursos, não valida todas as permissões de escrita e não reserva capacidade para uma VM.
Antes de começar: fluxo comum
1. Crie ou escolha a conta/projeto/assinatura que pertence ao cliente e decida uma região. 2. Crie uma identidade exclusiva para Nubaxis, sem usar usuário root ou credenciais pessoais. 3. Conceda permissões no menor escopo possível. 4. Prepare a rede e os recursos regionais necessários. 5. Cadastre os dados em Clientes > Configurar nuvem, teste e salve. 6. Abra o ambiente e confira a lista antes de tentar criar uma VM.
Um teste verde confirma a autenticação e as consultas de leitura/opções exercitadas. Uma criação ainda pode falhar por falta de permissões de escrita, serviço não ativado, quota, região sem capacidade ou regra de rede. Leia o código do provedor e siga a seção correspondente antes de repetir uma criação cuja resposta possa ter sido perdida.
- Não cole chaves, segredos, JSON de conta de serviço ou chaves privadas em chamados, e-mails ou conversas.
- Chaves SSH da VM são diferentes das credenciais IAM da cloud. A Nubaxis recebe somente a chave pública SSH.
- HTTP 401 normalmente indica autenticação/segredo; HTTP 403 indica permissão; recurso não encontrado costuma indicar escopo/região; erros de quota/capacidade pedem outra região/tamanho ou aumento de quota.
Chave SSH da VM: o que gerar e copiar
Chave SSH não é access key, client secret ou chave privada API. Em Azure, Google e OCI, gere a chave no seu computador e cole na Nubaxis somente a linha da chave pública, normalmente terminada em .pub. Em Windows PowerShell: ssh-keygen -t ed25519 -f "$env:USERPROFILE\.ssh\nubaxis_ed25519" -C "nubaxis". Para copiar apenas a pública: Get-Content "$env:USERPROFILE\.ssh\nubaxis_ed25519.pub" | Set-Clipboard. Não abra nem cole o arquivo sem .pub.
No macOS/Linux, use ssh-keygen -t ed25519 -f ~/.ssh/nubaxis_ed25519 -C nubaxis e copie o conteúdo de ~/.ssh/nubaxis_ed25519.pub. Guarde o arquivo nubaxis_ed25519 privado no seu computador, com passphrase se possível; ele nunca deve ser enviado à Nubaxis.
AWS usa um EC2 key pair criado no console na região escolhida: selecione o nome no formulário e guarde o arquivo privado baixado. Huawei usa um key pair existente no projeto/região. Esses nomes/arquivos são diferentes das credenciais IAM usadas para conectar a conta cloud.
- Azure, Google e OCI: cole somente a chave pública SSH.
- AWS: selecione o nome do EC2 key pair regional; mantenha a chave privada com o operador.
- Huawei: selecione o key pair SSH já cadastrado no projeto regional.
Amazon Web Services (AWS)
1. No IAM, crie uma identidade dedicada e uma política que permita leitura de EC2: ec2:DescribeInstances, ec2:DescribeVpcs, ec2:DescribeSubnets, ec2:DescribeSecurityGroups, ec2:DescribeKeyPairs, ec2:DescribeInstanceTypes e ec2:DescribeImages. A AWS exige Resource * para as chamadas Describe que não aceitam escopo por recurso.
2. Para as funções disponíveis na Nubaxis, inclua ec2:RunInstances, ec2:CreateTags, ec2:StartInstances, ec2:StopInstances e ec2:TerminateInstances. RunInstances exige permissões nos recursos relacionados (AMI, subnet, interface, security group, key pair e volume); a política de exemplo da AWS explica o escopo de cada recurso. Restrinja a região e os recursos quando sua equipe dominar IAM; não conceda ec2:* como atalho.
3. Crie Access key em IAM > usuário > Credenciais de segurança e copie Access key ID e Secret access key na criação. A chave secreta não pode ser recuperada; se perdida, crie outra e desative a antiga. Em EC2 > Key pairs, crie ou escolha uma chave na mesma região. A Nubaxis precisa do nome, nunca do arquivo privado.
4. No console, selecione a mesma região da conexão; abra VPC > Suas VPCs e copie o VPC ID. A subnet e o security group precisam pertencer a essa VPC. Para acesso SSH, permita TCP 22 apenas dos IPs confiáveis; uma subnet pública também precisa de rota por Internet Gateway e IP público se esse for o objetivo. Para Windows, a chave EC2 deve ser RSA e o tipo precisa de pelo menos 2 GB de RAM; imagens Windows podem incluir custo de licença.
- InvalidVpcID.NotFound: confira conta da access key, região selecionada e VPC ID. Isso não é corrigido adicionando permissões.
- UnauthorizedOperation: a mensagem da Nubaxis mostra a operação EC2; acrescente somente a ação IAM correspondente.
- InsufficientInstanceCapacity: tente outro tipo de instância ou subnet/zona. A lista de tipos não garante capacidade disponível.
Microsoft Azure
1. Em Microsoft Entra ID > Registros de aplicativo, crie um aplicativo de organização única. Copie Directory (tenant) ID e Application (client) ID. Em Certificados e segredos, crie um segredo e copie imediatamente o campo Value/Valor; Secret ID/ID secreto não é a senha.
2. Crie um resource group dedicado para as VMs Nubaxis. Em Grupo de recursos > Controle de acesso (IAM), atribua Contributor ao service principal (aplicativo empresarial) somente nesse grupo. Essa opção simples permite administrar os recursos dentro do grupo; nunca atribua Contributor à assinatura inteira apenas para fazer a integração funcionar.
3. A consulta de tamanhos usa Microsoft.Compute/locations/vmSizes/read no escopo da assinatura. Se for negada, um administrador pode conceder Reader na assinatura (escopo mais amplo) ou criar função personalizada com somente essa ação. Em Assinaturas > Provedores de recursos, confirme Microsoft.Compute como Registered; o registro é feito uma vez por assinatura por alguém autorizado.
4. Crie uma VNet e pelo menos uma subnet dentro do resource group, na região desejada. A Nubaxis deriva as regiões da localização das VNets do grupo. Salve Tenant ID, Client ID, Subscription ID e o nome exato do resource group. O provisionamento atual usa Ubuntu Server 24.04 e exige uma chave pública SSH; nunca envie a chave privada.
- 401: confira Tenant ID, Client ID e o Valor do client secret, inclusive expiração.
- AuthorizationFailed/403: o app autenticou, mas não tem a ação RBAC ou está no escopo errado.
- MissingSubscriptionRegistration: registre Microsoft.Compute na assinatura.
- SkuNotAvailable, AllocationFailed ou ZonalAllocationFailed: o SKU/região/zona não tem capacidade agora; teste outro tamanho ou uma VNet em outra região. Uma lista de tamanhos não reserva capacidade.
Oracle Cloud Infrastructure (OCI)
1. Crie um grupo e um usuário IAM dedicados e anote Tenancy OCID, User OCID e OCID do compartmento de compute. Separe também o compartmento que contém a VCN e as subnets, se for diferente.
2. No usuário, abra Tokens e chaves > Adicionar chave de API. Cadastre a chave pública e baixe/guarde a chave privada PEM. Copie o fingerprint apresentado. No Nubaxis, informe a chave privada completa no formato PEM, fingerprint, OCIDs e região; não use chave SSH da VM nesse campo.
3. Crie uma política OCI para o grupo. Substitua os nomes pelos compartmentos reais; se compute e rede estiverem no mesmo compartmento, use esse mesmo nome nas linhas correspondentes. A chamada ListAvailabilityDomains também exige inspect compartments in tenancy.
4. Confirme que há uma VCN/subnet disponível na região e que a política permite usá-las. A subnet pública/privada e suas rotas/firewall definem o acesso à VM; uma criação bem-sucedida não abre SSH automaticamente.
- Allow group NubaxisVMAdmins to manage instance-family in compartment NubaxisCompute
- Allow group NubaxisVMAdmins to read app-catalog-listing in tenancy
- Allow group NubaxisVMAdmins to use volume-family in compartment NubaxisCompute
- Allow group NubaxisVMAdmins to use virtual-network-family in compartment NubaxisNetwork
- Allow group NubaxisVMAdmins to inspect compartments in tenancy
- NotAuthorizedOrNotFound pode indicar permissão insuficiente ou recurso fora do compartmento; confira OCIDs, política, região e subnet. Capacidade OCI pode variar por shape e Availability Domain.
Huawei Cloud
1. Crie um usuário IAM dedicado com acesso programático. Atribua ECS FullAccess no projeto regional selecionado; para as opções do formulário, atribua também VPC ReadOnlyAccess e IMS ReadOnlyAccess no mesmo projeto. Se a empresa exigir menor privilégio, peça ao administrador uma política personalizada equivalente às operações ECS/VPC/IMS usadas pela Nubaxis.
2. Em My Credentials > Access Keys, gere AK/SK para esse usuário e guarde o SK no momento da criação. Em API Credentials, escolha a região e copie o Project ID daquela região. A região e o Project ID precisam apontar para a mesma conta/projeto.
3. Crie ou escolha uma VPC com subnet, security group e key pair SSH no projeto regional. A Nubaxis lista imagens Linux e flavors ECS. O formulário cria VM com endereço privado; o EIP/plano de IP público precisa ser configurado no console Huawei. Para métricas de CPU, configure acesso de leitura ao Cloud Eye/CES separadamente.
- 401: confira AK/SK ativo e correspondente ao usuário.
- 403 no serviço VPC ou IMS: atribua VPC ReadOnlyAccess ou IMS ReadOnlyAccess, respectivamente, no projeto regional.
- Project ID inválido/recurso ausente: confira se o Project ID veio da região informada e se os recursos existem nela.
- Sem key pair ou subnet no catálogo, crie os recursos no console e recarregue as opções.
Google Cloud
1. Selecione o projeto e ative Compute Engine API. Em IAM e administrador > Contas de serviço, crie uma conta exclusiva para Nubaxis. Copie o Project ID, que é diferente do nome exibido no console.
2. Conceda à conta de serviço Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) no projeto para listar e administrar VMs, discos, imagens e rede. A Nubaxis não associa uma conta de serviço às novas VMs, então Service Account User não é necessário para esse fluxo. Se usar Shared VPC, conceda também Compute Network User (roles/compute.networkUser) na subnet do projeto host. Para IP externo, confirme a permissão compute.subnetworks.useExternalIp.
3. Em Contas de serviço > Chaves, crie uma chave JSON somente se a política da organização permitir. Cole o arquivo JSON inteiro na Nubaxis e informe o mesmo Project ID e uma zona. A API consulta imagens públicas Ubuntu/Debian e subnets regionais; a subnet precisa estar na região correspondente à zona.
4. Cadastre uma chave pública SSH e usuário Linux antes de criar VM. Se quiser métricas de CPU, conceda monitoring.timeSeries.list e habilite Cloud Monitoring. Não dê Owner/Editor como atalho para corrigir falta de permissão.
- SERVICE_DISABLED/accessNotConfigured: ative Compute Engine API e aguarde a propagação.
- PERMISSION_DENIED: confira Compute Instance Admin (v1) no projeto; para Shared VPC, confira Network User na subnet.
- ZONE_RESOURCE_POOL_EXHAUSTED: tente outra zona ou família de máquina.
- QUOTA_EXCEEDED: consulte a quota do projeto/região e solicite aumento se necessário.
O que o teste valida e como pedir ajuda
O botão Testar conexão consulta a identidade, o inventário e os catálogos/opções de provisionamento que o formulário usa. Ele não executa RunInstances, PUT de VM, LaunchInstance ou criação ECS; portanto, não prova permissão de escrita e não verifica capacidade garantida. Para uma validação final, faça uma VM pequena de teste em escopo isolado, revise o custo e confirme o resultado no console do provedor.
Se ainda houver falha, copie apenas provedor, código da cloud, operação indicada, região/zona e texto de erro sem credenciais. Não compartilhe Access key secret, client secret, AK/SK, JSON Google ou PEM privado. Antes de repetir uma criação com timeout/estado incerto, pesquise a VM e recursos associados no console para evitar duplicação e cobrança.
Fontes e documentação
- AWS: permissões EC2 e RunInstances
- Azure: atribuir função RBAC
- Azure: permissões Microsoft.Compute
- Azure: registrar provedor de recursos
- Azure: erro de SKU indisponível
- OCI: política para iniciar instâncias
- OCI: política e permissões de Compute
- Huawei Cloud: políticas IAM de serviço
- Google Cloud: papéis e permissões Compute
- Google Cloud: criar VM em uma subnet