Como posso salvar minha conta do azure para não precisar digitar minha senha novamente

3

Estou usando as ferramentas azure cli em uma máquina * nix para gerenciar minha vms pessoal em uma conta do Azure. Eu queria saber se existe uma maneira de salvar minhas credenciais de login de tal forma que eu não terá que refazer o comando azure login nem digitar minha senha / credenciais.

Eu baixei as configurações da minha conta usando azure account download e importei na minha máquina usando azure account import , no entanto, quando eu reinicio minha sessão, ainda preciso fazer a etapa de login manual.

Assim, existe uma maneira de configurar o azure cli para salvar os detalhes da minha conta para que eu não precise fazer login manualmente?

    
por Marcos Roriz Junior 07.05.2016 / 21:05

1 resposta

2

Quando você chama azure login , na verdade você está recebendo um token que tem um tempo de vida limitado, portanto, mesmo que você pudesse persistir nas sessões, ele expiraria após 12 horas de qualquer maneira. É possível, mas não é recomendado para especificar o nome de usuário e a senha como parte do seu script:

azure login -u $username -p $password

Para fazer isso, você deve estar usando uma conta do Active Directory do Azure para autenticar, assumindo que está disposto a assumir esse risco, pois, ao administrar sua Assinatura do Azure pessoal , esse pode ser o mais fácil opção.

Na minha experiência, há duas abordagens que seriam mais adequadas em um cenário de empresa, empresa ou de alto risco:

Automação do Azure

A Automação do Azure é um serviço da Plataforma do Azure que permite criar fluxos de trabalho com parâmetros no Azure que você pode disparar em um agendamento, a partir da interface do usuário da web ou da linha de comando. As tarefas repetitivas são simplificadas porque o ambiente em que os fluxos de trabalho são executados é consistente ao longo do tempo e em vários ambientes.

Princípios do serviço do Active Directory do Azure

Autenticação com o Azure usando Service Principals permite que você use um certificado ( .pfx ) para efetuar login no Azure, desde que o certificado seja armazenado sem uma senha e, em seguida, você pode obter login sem senha seguindo estas etapas:

  1. Gere um par de chaves pública / privada para usar na autenticação.
  2. Criar um novo aplicativo do Active Directory do Azure
  3. Crie um novo diretor de serviços para o seu aplicativo AAD
  4. Conceder permissão para sua assinatura no seu diretor de serviços
  5. Autentique com o seu diretor de serviços em seus scripts

    cert=$(openssl x509 -in "./examplecert.pem" -fingerprint -noout | sed 's/SHA1 Fingerprint=//g'  | sed 's/://g'
    tenantId=$(azure account show -s <subscriptionId> --json | jq -r '.[0].tenantId')
    appId=$(azure ad app show --search exampleapp --json | jq -r '.[0].appId')
    azure login --service-principal --tenant "$tenantId" -u "$appId" --certificate-file ./examplecert.pem --thumbprint "$cert"
    
por 07.05.2016 / 23:35