Azure Sdk For Net


La librería Azure Sdk For Net nos permite realizar operaciones en C# sobre Azure; idénticamente a las que haríamos en el Portal de Azure. Esta libreria es el código fuente de los paquetes de Nuget Microsoft.Azure.Management.*.

Autenticación en la librería

Hay dos opciones para autenticarse para gestionar los recursos de Azure:

  • Con certificados (ASM): Únicamente funciona para recursos del Portal de Azure clásico.
  • Mediante el Directorio Activo de Azure (ARM): Accediendo vía credencial de usuario o aplicación.

Utilizaremos la segunda opción por ser la mayor proyección y futuro 😉

  • 1.- En nuestra aplicación de directorio activo añadir los permisos necesarios para acceder Windows Azure Service Management API.
  • 2.- Dar derecho en la Subscripción para acceder medinante la aplicación, previo registro previo de la aplicación en el tenant.
  • 3.- Obtener el token de Acceso a la librería. Mediante una credencial de usuario:
                var user = "usuario@contoso.com";
                var password = "password" 
                var guidApplication = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx"; //App Nativa
                UserCredential userCredentials = new UserCredential(user, password);
                var addAuthority = new UriBuilder("https://login.microsoftonline.com/")
                {
                    Path = "common"
                };
                AuthenticationContext authContext = new AuthenticationContext(addAuthority.Uri.AbsoluteUri);
    
                AuthenticationResult userAuthResult = authContext.AcquireToken(
                    "https://management.core.windows.net/",
                    guidApplication,
                    userCredentials);
                var token = userAuthResult.CreateAuthorizationHeader().Substring("Bearer ".Length);
                var credentials = new TokenCloudCredentials(subscriptionId, token);
    

    o mediante una credencial de aplicación:

                var applicationId= "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx";  //App Nativa o Web
                var clientSecret = "password" 
                var clientCredential = new ClientCredential(applicationId,clientSecret);
                var addAuthority = new UriBuilder("https://login.microsoftonline.com/")
                {
                    Path = domain
                };
                AuthenticationContext authContext = new AuthenticationContext(addAuthority.Uri.AbsoluteUri);
    
                AuthenticationResult userAuthResult = authContext.AcquireToken(
                    "https://management.core.windows.net/",
                    clientCredential);
                var token = userAuthResult.CreateAuthorizationHeader().Substring("Bearer ".Length);
                var credentials = new TokenCloudCredentials(subscriptionId, token);
    

Uso de la librería

Como ejemplo de gestión de un recurso de Azure; vamos a usar la parte la parte de la librería que gestiona el Azure Automation que describimos en una entrada anterior. Esta parte corresponde al paquete de Nuget Microsoft.Azure.Management.Automation.

//Obtenemos la lista de RunBooks
var client = new AutomationManagementClient(credentials);
var runbooksList = automationClient.Runbooks.List("ResourceName", "AutomationAccount");
Anuncios
Esta entrada fue publicada en Azure, Desarrollo y etiquetada , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s