es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El cliente de administración de GraphRbacManagementClient no funciona con Identidad Administrada.

Tengo una aplicación de función en Azure que necesita leer información del grupo de AAD.
Esta aplicación de función tiene una identidad administrada asignada por el sistema habilitada y la MSI tiene permiso de Directory.ReadAll en Microsoft Graph.

Utilizo este código para obtener una lista de grupos de AAD:

   from azure.graphrbac import GraphRbacManagementClient
   from msrestazure.azureactive directory import MSIAuthentication
   import logging

   MSI_credential = MSIAuthentication(resource="https://graph.windows.net/") 
   graphrbac_client = GraphRbacManagementClient(credentials=MSI_credential, tenant_id='*****')
   groups = graphrbac_client.groups.list()
   for g in groups:
       logging.info(g.display_name)

Esto me da el siguiente error:

Retrying (Retry(total=3, connect=4, read=3, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer)')

He intentado usar esta clase envolvente también, https://github.com/jongio/azidext/blob/master/python/azureidentitycredential_adapter.py
pero da exactamente el mismo error.
¿Qué estoy fallando aquí? ¿Podría estar relacionado con la inclusión de “https://graph.windows.net” en la lista blanca del firewall?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Es posible que el error que está recibiendo esté relacionado con un problema de lista blanca del firewall, pero también es importante considerar otras posibles causas. Una posible causa de este error es un problema de conectividad entre su aplicación de función y la API de Microsoft Graph.

    Aquí hay algunos pasos que puede seguir para solucionar este problema:

    1. Verifique los registros de la aplicación de función de Azure para ver si hay mensajes de error o detalles adicionales que puedan ayudar a identificar el problema.
    2. Verifique que la identidad administrada de la aplicación de función tenga los permisos necesarios para acceder a la API de Microsoft Graph. En este caso, parece que ya ha habilitado el permiso necesario (Directory.ReadAll), pero es una buena idea verificarlo de nuevo.

    3. Intente ejecutar el código fuera de la aplicación de función de Azure, por ejemplo, en su máquina local o en un entorno de Azure diferente, para ver si el problema persiste. Esto puede ayudar a reducir las posibles causas del error.

    4. Considere usar un método de autenticación diferente, como credenciales de cliente o de usuario, para ver si eso resuelve el problema.

    Si ninguno de estos pasos ayuda a resolver el problema, puede ser necesario comunicarse con el soporte de Microsoft para obtener más ayuda en la solución de problemas.

Comments are closed.