Compartir a través de


Inicio rápido: Enumeración de etiquetas de confidencialidad (C++)

En este inicio rápido se muestra cómo usar el SDK de archivos MIP para enumerar las etiquetas de confidencialidad configuradas para su organización.

Prerrequisitos

Si aún no lo ha hecho, asegúrese de completar los siguientes requisitos previos antes de continuar:

Incorporación de lógica para enumerar etiquetas de confidencialidad

Agregue lógica para enumerar las etiquetas de confidencialidad de su organización con el objeto del motor de archivos.

  1. Abra la solución de Visual Studio que creó en el artículo anterior "Inicio rápido: inicialización de aplicaciones cliente (C++)".

  2. Con el Explorador de soluciones, abra el archivo .cpp en el proyecto que contiene la implementación del main() método . El valor predeterminado es el mismo nombre que el proyecto que lo contiene, que especificó durante la creación del proyecto.

  3. Agregue la directiva using siguiente después de using mip::FileEngine;, cerca de la parte superior del archivo:

    using std::endl;
    
  4. Hacia la parte final del cuerpo de main(), debajo de la llave de cierre } del último bloque catch y el superior return 0; (donde lo dejó en el inicio rápido anterior), inserte el código siguiente:

    // List sensitivity labels
    cout << "\nSensitivity labels for your organization:\n";
    auto labels = engine->ListSensitivityLabels();
    for (const auto& label : labels)
    {
       cout << label->GetName() << " : " << label->GetId() << endl;
    
       for (const auto& child : label->GetChildren())
       {
         cout << "->  " << child->GetName() << " : " << child->GetId() << endl;
       }
    }
    system("pause");
    

Creación de un script de PowerShell para generar tokens de acceso

Utilice el siguiente script de PowerShell para generar tokens de acceso, que el SDK solicita en su implementación AuthDelegateImpl::AcquireOAuth2Token. El script usa el Get-ADALToken cmdlet del módulo ADAL.PS que ha instalado anteriormente, en "Instalación y configuración del SDK de MIP".

  1. Cree un archivo de script de PowerShell (.ps1 extensión) y copie o pegue el siguiente script en el archivo:

    • $authority y $resourceUrl se actualizan más adelante, en la sección siguiente.
    • Actualice $appId y $redirectUri, para que coincida con los valores especificados en el registro de aplicaciones de Microsoft Entra.
    $authority = '<authority-url>'                   # Specified when SDK calls AcquireOAuth2Token()
    $resourceUrl = '<resource-url>'                  # Specified when SDK calls AcquireOAuth2Token()
    $appId = '0edbblll-8773-44de-b87c-b8c6276d41eb'  # App ID of the Azure AD app registration
    $redirectUri = 'bltest://authorize'              # Redirect URI of the Azure AD app registration
    $response = Get-ADALToken -Resource $resourceUrl -ClientId $appId -RedirectUri $redirectUri -Authority $authority -PromptBehavior:RefreshSession
    $response.AccessToken | clip                     # Copy the access token text to the clipboard
    
  2. Guarde el archivo de script para que pueda ejecutarlo más adelante, cuando lo solicite la aplicación cliente.

Crear y probar la aplicación

Por último, compile y pruebe la aplicación cliente.

  1. Use F6 (Compilar solución) para compilar la aplicación cliente. Si no tiene errores de compilación, use F5 (Iniciar depuración) para ejecutar la aplicación.

  2. Si el proyecto se compila y se ejecuta correctamente, la aplicación solicita un token de acceso cada vez que el SDK llama al AcquireOAuth2Token() método . Puede reutilizar un token generado anteriormente, si se le solicita varias veces y los valores solicitados son los mismos.

  3. Para generar un token de acceso para el mensaje de solicitud, vuelve a tu script de PowerShell y haz lo siguiente:

    • Actualice las $authority variables y $resourceUrl . Deben coincidir con los valores especificados en la salida de la consola en el paso 2. El SDK de MIP proporciona estos valores en el parámetro challenge de AcquireOAuth2Token().

    • Ejecute el script de PowerShell. El Get-ADALToken cmdlet desencadena un mensaje de autenticación de Microsoft Entra, similar al ejemplo siguiente. Especifique la misma cuenta proporcionada en la salida de la consola en el paso 2. Después de iniciar sesión correctamente, el token de acceso se colocará en el Portapapeles.

      Inicio de sesión para la obtención del token por Visual Studio

    • También es posible que tenga que dar su consentimiento para permitir que la aplicación acceda a las API de MIP mientras se ejecuta en la cuenta de inicio de sesión. Esto sucede cuando el registro de la aplicación Microsoft Entra no tiene consentimiento previo (como se describe en "Configuración y configuración del SDK de MIP"), o si inicia sesión con una cuenta de un inquilino diferente (distinto del que se registra la aplicación). Simplemente haga clic en Aceptar para registrar su consentimiento.

      Consentimiento de Visual Studio

  4. Después de pegar el token de acceso en el mensaje del paso 2, el resultado de la consola debe mostrar las etiquetas de confidencialidad, de manera similar al ejemplo siguiente:

    Non-Business : 87ba5c36-17cf-14793-bbc2-bd5b3a9f95cz
    Public : 83867195-f2b8-2ac2-b0b6-6bb73cb33afz
    General : f42a3342-8706-4288-bd31-ebb85995028z
    Confidential : 074e457c-5848-4542-9a6f-34a182080e7z
    Highly Confidential : f55c2dea-db0f-47cd-8520-a52e1590fb6z
    
    Press any key to continue . . .
    

    Nota:

    Copie y guarde el identificador de una o varias de las etiquetas de confidencialidad (por ejemplo, f42a3342-8706-4288-bd31-ebb85995028z), ya que la usará en el siguiente inicio rápido.

Solución de problemas

Problemas durante la ejecución de la aplicación de C++

Resumen Mensaje de error Solución
Token de acceso incorrecto Se produjo una excepción... ¿El token de acceso es incorrecto o ha expirado?

Error en la llamada API: profile_add_engine_async Error con: [class mip::PolicySyncException] Error al adquirir la directiva, Error de solicitud con código de estado HTTP: 401, x-ms-diagnostics: [2000001;reason="El token de OAuth enviado con la solicitud no se puede analizar.";error_category="invalid_token"], correlationId:[35bc0023-3727-4eff-8062-000006d5d672]'

C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (proceso 29924) salió con el código 0.

Presione cualquier tecla para cerrar esta ventana . . .
Si el proyecto se compila correctamente, pero ve un resultado similar al de la izquierda, es probable que tenga un token no válido o expirado en el método AcquireOAuth2Token(). Vuelva a Crear un script de PowerShell para generar tokens de acceso, regenere el token de acceso, actualice AcquireOAuth2Token() nuevamente y luego reconstruya o vuelva a probar. Puede examinar y verificar el token y sus afirmaciones mediante la aplicación web de página única jwt.ms.
Las etiquetas de confidencialidad no están configuradas n/a Si el proyecto se compila correctamente, pero no tiene ninguna salida en la ventana de la consola, asegúrese de que las etiquetas de confidencialidad de la organización estén configuradas correctamente. Consulte Configuración y configuración del SDK de MIP, en "Definir la taxonomía y la configuración de protección de etiquetas" para obtener más información.

Pasos siguientes

Ahora que ha aprendido a enumerar las etiquetas de confidencialidad de su organización, pruebe el siguiente inicio rápido: