Autenticación de Azure facilitada con PowerShell Connect-AzAccount

Login-AzAccount, Add-AzAccount o Connect-AzAccount, parece que hay muchas formas diferentes de autenticarse en una suscripción de Azure si estás utilizando PowerShell.

Cuando tengas dudas, utiliza Connect-AzAccount

Cuando empecé a trabajar con Azure en PowerShell, estaba bastante confundido. Encontraba algunos artículos que hablaban sobre el uso de Login-AzAccount, mientras que otros mencionaban Add-AzAccount, pero pocos mencionaban Connect-AzAccount. ¿Cuál debo usar en qué tipo de circunstancias? ¿Qué está pasando aquí?!

I’m here to tell you if you’re struggling with the same problem I was, the solution is a lot easier than you might expect. Although there may seem to be three different commands to authenticate to Azure with PowerShell, in reality, there’s only one. It is Connect-AzAccount. Both Login-AzAccount and Add-AzAccount are only aliases to the Connect command.

I’m here to tell you to just use Connect-AzAccount and you’ll be good as gold. I don’t recommend using aliases, if possible just because it makes things confusing as you can vouch for. With people using different ways to accomplish the same task, it’s hard to figure out what exactly is happening.

Siéntete libre de verificarme usando Get-Alias.

Get-Alias -Name *AzAccount* | Select Name,ReferencedCommand

Autenticación con Connect-AzAccount

Hay muchas formas de autenticarse en Azure utilizando Connect-AzAccount. El método para hacerlo depende de los recursos a los que te estás autenticando. Por ejemplo, hay aproximadamente cinco formas diferentes de autenticarse en Azure.

Iniciando sesión de forma interactiva

La forma más común en que las personas que recién comienzan a trabajar con Azure se conectan de manera interactiva. Esto significa que ejecutarán `Connect-AzAccount` y se les pedirá credenciales.

Este método funciona si tienes una cuenta de Microsoft u Office 365 de la organización y no necesitas automatizar la tarea.

Iniciar sesión con un principal de servicio

También puedes usar un principal de servicio para autenticarte. Junto con la identidad de servicio administrada, esta es la forma de proceder si necesitas autenticarte en un script automatizado. Sin embargo, esto requiere crear una aplicación en Azure Active Directory junto con el propio principal de servicio, lo cual requiere un poco de configuración previa. Para obtener una visión general completa de cómo configurarlo, puedes consultar este video de TechSnips titulado Cómo Crear y Autenticarse en Azure con un Principal de Servicio Usando PowerShell. Cubre todos los pasos que necesitas seguir para configurarlo.

Autenticarse con un principal de servicio te obligará a usar los parámetros `Connect-AzAccount`, `Credential` y `ServicePrincipal`.

El parámetro `ServicePrincipal` indica que esta cuenta se autentica proporcionando credenciales de principal de servicio. El parámetro `Credential` especifica un objeto PSCredential.

Iniciar sesión con una Identidad de Servicio Administrada

Otra forma es usar identidades de servicio administradas lo cual, siendo honesto, nunca he hecho antes. He proporcionado un enlace en esta sección para obtener una visión general de eso. Algunos de los comandos utilizados con Connect-AzAccount al autenticar con identidades de servicio administradas son:

  • ManagedServiceHostName – Nombre de host para inicio de sesión de servicio administrado
  • ManagedServicePort – Número de puerto para inicio de sesión de servicio administrado
  • ManagedServiceSecret – Secreto, utilizado para algunos tipos de inicio de sesión de servicio administrado.

Iniciar sesión como un Proveedor de Soluciones en la Nube (CSP)

Si su empresa es un socio de Microsoft y usa servicios de Azure para proporcionar recursos directamente a sus clientes, puede usar Connect-AzAccount y utilizar el parámetro TenantId. Esto es necesario para especificar un inquilino de Azure AD diferente.

Iniciar sesión en una Nube No Pública

Finalmente, aunque no es demasiado común, es la capacidad de autenticarse en una nube no pública como una nube gubernamental o de país. Estas nubes están representadas por un entorno de Azure utilizando el parámetro Entorno en Connect-AzAccount. Si no conoce el nombre del entorno, siempre puede usar el comando Get-AzEnvironment.

Get-AzEnvironment | Select Name

Conclusión

Como puedes ver, hay muchas formas diferentes de autenticarse en Azure porque Azure es un servicio grande. Utilizando Connect-AzAccount con PowerShell, podrás proporcionar todos los parámetros necesarios que Azure requiere para procesar tus credenciales de forma interactiva o no interactiva, lo que te permitirá poner en marcha tus operaciones.

Source:
https://adamtheautomator.com/connect-azaccount/