Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
- Completa Quickstart: Inicialización de la aplicación cliente (C++) primero, que compila una solución inicial de Visual Studio. Esta guía de inicio rápido de "Enumerar etiquetas de confidencialidad" se basa en la anterior para crear la solución inicial.
- Opcionalmente: revise los conceptos de etiquetas de clasificación .
Incorporación de lógica para enumerar etiquetas de confidencialidad
Agregue la lógica necesaria para listar las etiquetas de confidencialidad de su organización usando el objeto de motor de archivos.
Abra la solución de Visual Studio que creó en el artículo anterior "Inicio rápido: inicialización de aplicaciones cliente (C++)".
En 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.Agregue la directiva
usingsiguiente después deusing mip::FileEngine;, cerca de la parte superior del archivo:using std::endl;Hacia el final del cuerpo
main(), después de la llave de cierre}del último bloquecatchy antes dereturn 0;(donde lo dejó en la guía de inicio rápido anterior), inserte el siguiente código:// 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-MsalToken cmdlet del módulo MSAL.PS que instaló anteriormente, en "Instalación y configuración del SDK de MIP".
Cree un archivo de script de PowerShell (.ps1 extensión) y copie y pegue el siguiente script en el archivo:
- Actualice
$authorityy$resourceUrlmás adelante, en la siguiente sección. - Actualice
$appIdy$redirectUripara que coincida con los valores especificados en el registro de aplicación 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 Microsoft Entra app registration $redirectUri = 'bltest://authorize' # Redirect URI of the Microsoft Entra app registration $scope = $resourceUrl + "/.default" $response = Get-MsalToken -ClientId $appId -Authority $authority -RedirectUri $redirectUri -Scopes $scope -Interactive $response.AccessToken | clip # Copy the access token text to the clipboard- Actualice
Guarde el archivo de script para que pueda ejecutarlo más adelante cuando la aplicación cliente la solicite.
Crear y probar la aplicación
Compile y pruebe la aplicación cliente.
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.
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 la aplicación solicita varias veces y los valores solicitados son los mismos.Para generar un token de acceso para el mensaje de solicitud, vuelve a tu script de PowerShell y haz lo siguiente:
Actualice las
$authorityvariables 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ámetrochallengedeAcquireOAuth2Token().Ejecute el script de PowerShell. El
Get-MsalTokencmdlet desencadena un mensaje de autenticación 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 cmdlet coloca el token de acceso en el Portapapeles.Es posible que también 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). Seleccione Aceptar para registrar el consentimiento.
Después de pegar el token de acceso en el cuadro de diálogo del paso 2, la salida de la consola debería mostrar las etiquetas de confidencialidad, de forma similar al siguiente ejemplo:
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 usa 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? Llamada a la API fallida: profile_add_engine_async. Error: [class mip::PolicySyncException]. No se ha podido obtener la directiva. La solicitud ha fallado con el código de estado HTTP: 401, x-ms-diagnostics: [2000001;reason=No se puede analizar el token de OAuth enviado con la solicitud.; error_category=invalid_token], correlationId:[aaaa0000-bb11-2222-33cc-444444dddddd]' 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 el token de su método AcquireOAuth2Token() sea inválido o haya expirado. 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. También puede examinar y validar el token y sus declaraciones mediante la aplicación web de una sola página jwt.ms. |
| Las etiquetas de confidencialidad no están configuradas | n/a | Si el proyecto se compila correctamente, pero no aparece ninguna salida en la ventana de la consola, asegúrese de que las etiquetas de confidencialidad de la organización están configuradas correctamente. Para obtener más información, consulte Configuración y configuración del SDK de MIP, en "Definir la taxonomía de etiquetas y la configuración de protección". |
Pasos siguientes
Ahora que sabe cómo enumerar las etiquetas de confidencialidad de su organización, pruebe el siguiente inicio rápido:
- Explore el ejemplo de C++ del SDK de archivos MIP en GitHub.