Credenciales Azure

Credenciales Azure

Uso del portal para crear una aplicación de Azure AD y una entidad de servicio con acceso a los recursos


En este artículo se muestra cómo crear una nueva entidad de servicio y aplicación de Azure Active Directory (Azure AD) que puede usar con el control de acceso basado en rol. El acceso a los recursos está restringido por los roles asignados a la entidad de servicio, lo que permite controlar a qué recursos pueden tener acceso y en qué nivel.

Para poder darle permisos a su cuenta de Azure en Cloudglass, necesitamos hacerlo a través de roles y de una entidad de servicio (que se creará a partir del registro de una aplicación). Crearemos un rol personalizado para cada uno de los servicios que queramos utilizar dentro de Cloudglass (descubrimiento de instancias o "Service Discovery", encender o parar instancias o "Start/Stop"). A cada rol le asignaremos una serie de permisos y, una vez creados, solo tendremos que añadirlos a nuestra aplicación que contendrá nuestra entidad de servicio.

Creación de una entidad de servicio


No hay una manera directa de crear una entidad de servicio con Azure Portal. Para poder crear una entidad de servicio hay que registrar una aplicación. Al registrar una aplicación mediante Azure Portal, se crean automáticamente un objeto de aplicación y una entidad de servicio en el directorio principal o tenant.
Antes de poder empezar ha de comprobar una serie de permisos, sin los cuales no podrá realizar las acciones necesarias para darle permisos a su cuenta. Los permisos que necesita comprobar son dos: permiso para poder registrar aplicaciones y permiso para poder asignar un rol a una aplicación.

Comprobación de permisos para registrar aplicaciones


Una vez dentro del portal de Azure, ha de comprobar que dispone de los permisos necesarios para registrar una aplicación:
  1. Seleccione "Azure Active Directory".

    Azure-Credenciales

  2. En la pantalla de información en la parte central, consulte su rol. Si tiene el rol "Usuario", debe asegurarse de que los no administradores pueden registrar aplicaciones.

    Azure-Credenciales

  3. Para comprobar que tiene permisos para registrar una aplicación vaya al panel izquierdo, y seleccione "Configuración de usuario".

    Compruebe la configuración de "App registrations" ("Registros de aplicaciones"). Este valor solo puede configurarlo un administrador. Si se configura en "Sí", cualquier usuario en el inquilino de Azure Active Directory puede registrar una aplicación.

    Azure-Credenciales

    Si la configuración de registro de aplicaciones se establece en "No", solo los usuarios con un rol de administrador pueden registrar este tipo de aplicaciones. Consulte los roles disponibles y los permisos de roles para conocer los roles de administrador disponibles y los permisos específicos en Azure AD que se otorgan a cada rol. Si la cuenta está asignada al rol Usuario, pero la opción Registros de aplicaciones está limitada a los administradores, pida al administrador que le asigne un rol de administrador para poder crear y administrar todos los aspectos de los registros de aplicaciones, o que permita a los usuarios registrar las aplicaciones.

Una vez comprobado que su usuario puede registrar una aplicación, siga con los pasos siguientes.

Comprobación de permisos para asignar un rol a una aplicación


En su suscripción de Azure, su cuenta debe tener acceso a "Microsoft.Authorization/*/Write" para asignar un rol a una aplicación de AD. Esta acción se concede mediante el rol "Propietario" o el rol "Administrador" de acceso de usuario. Si su cuenta tiene asignado al rol "Colaborador", no tiene los permisos adecuados. Recibirá un error al intentar asignarle un rol a la entidad de servicio.

Para comprobar qué permisos tiene su usuario:

  1. En la barra de búsqueda que encontrará en la parte superior ("Buscar recursos, servicios y documentos") busque "Suscripciones" y seleccione el servicio.

    Azure-Credenciales

  2. Seleccione la suscripción en la que quiere crear la entidad de servicio. Si no ve la suscripción que busca, seleccione el "filtro de suscripciones globales". Asegúrese de que la suscripción que desea está seleccionada para el portal.

    Azure-Credenciales

  3. Seleccione "Mis permisos". A continuación, seleccione "Haga clic aquí para ver los detalles de acceso completos para esta suscripción" ("Click here to view complete access details for this subscription").

    Azure-Credenciales

  4. Seleccione "Ver" en "Ver asignaciones de roles" para ver los roles asignados. Para tener los permisos correspondientes para asignar un rol a una aplicación de AD su rol debe ser "Propietario" o "Administrador" de acceso de usuario. En caso contrario, pida al administrador de suscripciones que le agregue a uno de estos roles.

    Azure-Credenciales

  5. Una vez comprobados ambos permisos, ya puede crear su entidad de servicio a través del registro de una aplicación.

    Azure-Credenciales

Registro de una aplicación

  1. Dentro del portal de Azure seleccione "Azure Active Directory".

    Azure-Credenciales

  2. En el menú de la izquierda seleccione "Registros de aplicaciones" ("App registrations").

    Azure-Credenciales

  3. Seleccione "Nuevo registro".

    Azure-Credenciales

  4. Asigne un nombre a la aplicación, utilice un nombre descriptivo como "Aplicación_Cloudglass" que le resulte fácil de reconocer y recordar para qué sirve. Seleccione un tipo de cuenta compatible, que determinará quién puede usar la aplicación. En "URI de redireccionamiento", seleccione "Web" para indicar el tipo de aplicación que quiere crear. Escriba el URI al que se le enviará el token de acceso (puede poner http://localhost/). Pulse el botón "Registrar" para finalizar.

    Azure-Credenciales

  5. Ha creado una aplicación de Azure AD y una entidad de servicio.

    Azure-Credenciales

Creación de roles

Asegúrse de tener a mano el id de su suscripción de Azure antes de empezar (un valor del tipo b12ff34b-t6y7-9865-8901-222bcd45es45).

  1. En la barra de búsqueda que encontrará en la parte superior ("Buscar recursos, servicios y documentos") busque "Suscripciones" y seleccione el servicio.

    Azure-Credenciales

  2. Seleccione la suscripción en la que quiere crear la entidad de servicio. Si no ve la suscripción que busca, seleccione el "filtro de suscripciones globales". Asegúrese de que la suscripción que desea está seleccionada para el portal.

    Azure-Credenciales

  3. Seleccione en el panel izquierdo "Control de acceso (IAM)". Seleccione "Creación de un rol personalizado" y le da al botón "Agregar".

    Azure-Credenciales

  4. Asigne un nombre al rol que sea descriptivo para que pueda reconocerlo fácilmente. Por ejemplo, para el servicio de descubrimiento de instancias puede usar "Cloudglass_Service_Discovery", para el servicio de encender y parar máquinas virtuales puede usar "Cloudglass_Start_Stop_VM_Instances". Estos son los nombres que usaremos en esta guía. En el campo descripción puede añadir un breve comentario que le sea útil si lo desea. En "Permisos de línea base" marque "Empezar desde cero".

    Azure-Credenciales

  5. Seleccionamos la pestaña "JSON”. Pinche en el botón "Editar" y borre la plantilla que viene por defecto ya que la sustituiremos por una de las que se muestran más abajo, en función del servicio que necesitemos. En el caso de que quiera tener acceso a varios servicios será necesario que siga todos los pasos indicados en "Creación de roles" para cada uno de ellos, utilizando la plantilla correspondiente cada vez. En cada una de las plantillas necesitará incluir el valor del id de su suscripción.

    Azure-Credenciales

    Dentro del editor, una vez borre la que viene por defecto y copie y pegue la plantilla del servicio que necesita en el portal de Azure, busque la línea "PEGAR LA LINEA COPIADA AQUI INCLUYENDO LAS COMILLAS" y sustitúyala por "/subscriptions/ID-DE-SU-SUSCRIPCIÓN" (no olvide las comillas), donde ID-DE-SU-SUSCRIPCIÓN es el valor del id de su cuenta que le pedimos que tuviera a mano antes de empezar a crear el rol.

    "Plantilla para Service Discovery"

    {
        "properties": {
            "roleName": "Cloudglass-Service-Discovery",
            "description": "",
            "assignableScopes": [
                PEGAR LA LINEA COPIADA AQUI INCLUYENDO LAS COMILLAS
            ],
            "permissions": [
                {
                    "actions": [
                        "Microsoft.Compute/*/read",
                        "Microsoft.Network/networkInterfaces/read",
                        "Microsoft.Authorization/*/read",
                        "Microsoft.ClassicCompute/*/read",
                        "Microsoft.Resources/subscriptions/resourceGroups/read",
                        "Microsoft.Insights/Metrics/*/read"
                    ],
                    "notActions": [],
                    "dataActions": [],
                    "notDataActions": []
                }
            ]
        }
    }
    

    "Plantilla de Start/Stop

    {
        "properties": {
            "roleName": "Cloudglass_Start_Stop_VM_Instances",
            "description": "",
            "assignableScopes": [
                "/subscriptions/ea1d8f3d-4002-4fb3-b5e4-5f67b9204293"
            ],
            "permissions": [
                {
                    "actions": [
                        "Microsoft.Compute/*/read",
                        "Microsoft.Network/networkInterfaces/read",
                        "Microsoft.Authorization/*/read",
                        "Microsoft.ClassicCompute/*/read",
                        "Microsoft.Resources/subscriptions/resourceGroups/read",
                        "Microsoft.Insights/Metrics/*/read",
                        "Microsoft.Compute/virtualMachines/start/action",
                        "Microsoft.Compute/virtualMachines/powerOff/action"
                    ],
                    "notActions": [],
                    "dataActions": [],
                    "notDataActions": []
                }
            ]
        }
    }
    
  6. Una vez que peguemos la plantilla le damos al botón "Guardar

    Azure-Credenciales

  7. Por último, le damos al botón "Revisión y creación". Revise que todo está correctamente configurado antes de finalizar.

    Azure-Credenciales

Siga todos estos pasos para cada servicio que desee activar en Cloudglass, pues necesitará un rol para cada uno de ellos.

Asignación de un rol a la aplicación


Ahora que ya tenemos creada nuestra aplicación y todos los roles que necesitaremos, es hora de asociar esos roles a la aplicación.
  1. En la barra de búsqueda que encontrará en la parte superior ("Buscar recursos, servicios y documentos") busque "Suscripciones" y seleccione el servicio.

    Azure-Credenciales

  2. Seleccione la suscripción en la que quiere crear la entidad de servicio. Si no ve la suscripción que busca, seleccione el "filtro de suscripciones globales". Asegúrese de que la suscripción que desea está seleccionada para el portal.

    Azure-Credenciales

  3. Seleccione en el panel izquierdo "Control de acceso (IAM)". Seleccione "Agregar asignación de roles" y le da al botón "Agregar".

    Azure-Credenciales

  4. De manera predeterminada, las aplicaciones de Azure AD no se muestran en las opciones disponibles. Para encontrar la aplicación, busque el nombre y selecciónelo.

  5. En "Rol" seleccione todos los roles que haya creado en el paso anterior, lo que le proporcionará a su aplicación los permisos necesarios para realizar las operaciones en Cloudglass.

  6. En el apartado "Asignar acceso a" elija: "Usuario, grupo o entidad de service Azure AD”.

    Azure-Credenciales

  7. Haga clic en "Guardar" para finalizar la asignación del rol. Verá la aplicación en la lista de usuarios con un rol para ese ámbito.

Llegados a este punto, si ha seguido todos los pasos, ya ha configurado todos los permisos necesarios para poder realizar todas las operaciones que necesitaba. Cuando configure sus credenciales para los servicios dentro de Cloudglass necesitará una serie de valores que deberá completar (id de la la aplicación, id del directorio y su clave secreta). Siga los siguientes pasos para localizar estos valores.

Obtención de valores de identificador del tenant y de la aplicación para iniciar sesión


Cuando entre a Cloudglass y empiece a configurar sus credenciales para acceder a los servicios de Azure, deberá rellenar el identificador de aplicación y el identificador del directorio. También necesitará una clave de autenticación. Para obtener estos valores, use los pasos siguientes:
  1. Seleccione "Azure Active Directory".

    Azure-Credenciales

  2. En el menú de la izquierda seleccione "Registros de aplicaciones" ("App registrations").

    Azure-Credenciales

  3. Seleccione su Aplicación

  4. Copie el "id. de aplicación" y guárdelo

    Azure-Credenciales

  5. Copie el "identificador del directorio (tenant)" y guárdelo para ponerlo luego en el Cloudglass.

    Azure-Credenciales

Agregar las credenciales a tu usuario en el Cloudglass

  1. Entre en Cloudglass, vaya a la esquina superior izquierda y pinche en su usuario.

    Azure-Credenciales

  2. Vaya a "Mis credenciales de seguridad" y dele al botón "Agregar credencial".

    Azure-Credenciales

    También se pueden crear las credenciales en la pestaña “Mis cuentas” y seleccionar el tipo de credencial que se desea crear.

    Azure-Credenciales

  3. Seleccione la cuenta de "Microsoft Azure" a la que desea otorgar permisos y pulse "Siguiente".

    Azure-Credenciales

  4. En el siguiente paso deberá elegir una de las acciones que quiere ejecutar, luego pulse "Siguiente".

    Azure-Credenciales

  5. Rellene los campos de "Id de aplicación", "Clave secreta" e "Id de directorio" con los valores de identificador de la aplicación, clave de acceso y del identificador del directorio que guardó anteriormente.

    Azure-Credenciales

Deberá repetir los mismos pasos en el caso de que quiera configurar sus credenciales para más de un servicio.
Recuerde que para cada servicio es necesario configurar sus credenciales. Si tiene unas credenciales para todas las acciones porque creó un único usuario debe poner las mismas credenciales en cada uno de los servicios (no recomendado).