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.
Puede implementar el marco del modelo de aplicaciones seguras mediante la creación de una aplicación para proveedores de soluciones en la nube (CSP) o proveedores de panel de control (CPV).
Implementación de un modelo de aplicación seguro
Pasos para habilitar el modelo de aplicación segura
Importante
Azure Active Directory (Azure AD) Graph está en desuso a partir del 30 de junio de 2023. En el futuro, no estamos realizando más inversiones en Azure AD Graph. Las API de Graph de Azure AD no tienen ningún acuerdo de nivel de servicio ni compromiso de mantenimiento más allá de las correcciones relacionadas con la seguridad. Las inversiones en nuevas características y funcionalidades solo se realizarán en Microsoft Graph.
Retiraremos Azure AD Graph en pasos incrementales para que tenga tiempo suficiente para migrar las aplicaciones a las API de Microsoft Graph. En una fecha posterior que anunciaremos, bloquearemos la creación de aplicaciones nuevas mediante Azure AD Graph.
Para más información, consulte Importante: Retirada de Azure AD Graph y Desuso del módulo de PowerShell.
Creación de una entidad de servicio del Centro de partners
En primer lugar, cree una entidad de servicio del Centro de partners de Microsoft en el inquilino del asociado de CSP, donde se va a crear la aplicación multiinquilino.
En el caso de los inquilinos de asociados de CSP, esta entidad de servicio ya debe existir. Si no es así, cree siguiendo estos pasos.
En una ventana de PowerShell de administrador, ejecute los siguientes comandos.
- Instale el módulo AzureAD.
Install-Module Microsoft.Graph
- Ejecute Connect-MgGraph, esto solicita un nombre de usuario y una contraseña. Escriba las credenciales de administrador de inquilinos.
Connect-MgGraph
- Cree una entidad de servicio del Centro de partners de Microsoft.
New-MgServicePrincipal -DisplayName "Microsoft Partner Center" -AppId 00001111-aaaa-2222-bbbb-3333cccc4444
Creación de una aplicación multiinquilino en el inquilino del asociado de CSP
Siga estos pasos para asegurarse de que las siguientes propiedades de la aplicación están establecidas para la aplicación multiinquilino recién creada.
- Inicie sesión en portal.azure.com
- Seleccione Id. de Microsoft Entra y registros de aplicaciones para crear nuevos registros con multiinquilino.
- Seleccione un nombre para mostrar orientado al usuario para la aplicación.
- Seleccione Tipo de cuenta admitido: Cuentas de cualquier directorio de la organización (cualquier directorio de Microsoft Entra - Multiinquilino).
- Seleccione un tipo de plataforma : "Web".
- La dirección URL de redireccionamiento debe ser la dirección URL de redireccionamiento de la aplicación, que mostrará el mensaje de consentimiento correcto al asociado y recopilará un token de actualización. Asegúrate de que la URL de redireccionamiento de la aplicación esté establecida en un punto de conexión en el que se esté ejecutando una aplicación web activa. Esta aplicación debe aceptar el código de autorización de la llamada de inicio de sesión de Microsoft Entra.
- Vaya a Administrar>certificados y secretos>+Nuevo secreto de cliente en la pestaña Secretos de cliente.
Nota:
Necesitará la siguiente información de la configuración de la aplicación web en Microsoft Entra ID:
- Identificador de aplicación
- Secreto de la aplicación
Aplicación de permisos
Asegúrese de que se han establecido los siguientes permisos para la aplicación multiinquilino.
En la sección de permisos de la API :
No debe haber ningún permiso de aplicación directo para la aplicación multiinquilino.
Siga la siguiente ruta de acceso para agregar permisos delegados para Microsoft Graph:
-
Permisos de API>Agregar un permiso>API> de MicrosoftMicrosoft Graph>Permisos delegados
DelegatedAdminRelationship.ReadWrite.All User.Read.All
- Siga la ruta a continuación para agregar permisos delegados para el Centro de partners de Microsoft: Conceder permisos del Centro de partners de acceso en Permisos delegados:
- Permisos de API>Agregar un permiso>API que usa> mi organizaciónCentro de partners de> MicrosoftPermisos> delegadosSuplantación de usuario
-
Permisos de API>Agregar un permiso>API> de MicrosoftMicrosoft Graph>Permisos delegados
Proporcionar enlace de consentimiento
Presente al partner el vínculo de consentimiento y pídale que inicie sesión con su cuenta de servicio para aprobar la solicitud para que actúe en nombre de la cuenta de servicio en el inquilino del asociado.
El usuario asociado de CSP debe ser un administrador global y un agente de administración para dar su consentimiento a la aplicación multiinquilino.
Aplicación multiinquilino
El multiinquilino ApplicationID
debe reemplazarse por el identificador de aplicación.
Vaya a Registros de aplicaciones y seleccione el ID de aplicación (cliente) y reemplácelo a continuación.
Obtener el código de autorización
Debe obtener un código de autorización para la aplicación web de la llamada de inicio de sesión de Microsoft Entra:
- Inicie sesión en el ID de Microsoft Entra.
- Reemplace el identificador de aplicación por el identificador de aplicación (GUID) de Microsoft Entra.
- Cuando se le solicite, inicie sesión con su cuenta de usuario con MFA configurado.
- Cuando se le solicite, ingrese otra información de MFA (número de teléfono o dirección de correo electrónico) para verificar su inicio de sesión.
- Una vez que haya iniciado sesión, el explorador redirigirá la llamada al punto de conexión de la aplicación web con su código de autorización. Por ejemplo, el siguiente código de ejemplo redirige a
https://localhost:44395/
.
GET https://login.microsoftonline.com/common/oauth2/authorize?&client_id=<CSPApplicationId>&response_type=code&redirect_url=https://<CSPApplicationUrl_which_collects_refreshtoken>
o
GET https://login.microsoftonline.com/common/oauth2/authorize?&client_id=<CSPApplicationId>&response_type=code
Para China, utilice el siguiente enlace:
GET https://login.chinacloudapi.cn/common/oauth2/authorize ?&client_id= <CSPApplicationId>&response_type=code&redirect_url= https://<CSPApplicationUrl_which_collects_refreshtoken>
o
GET https://login.chinacloudapi.cn/common/oauth2/authorize?&client_id= <CSPApplicationId>&response_type=code
Seguimiento de llamadas de código de autorización: https://localhost:44395/?code=<authorization_code>&<rest of properties for state>
Obtención de token de actualización
A continuación, debe usar el código de autorización para obtener un token de actualización:
- Realice una llamada POST al punto
https://login.microsoftonline.com/CSPTenantID/oauth2/token
de conexión de inicio de sesión de Microsoft Entra con el código de autorización. Para ver un ejemplo, consulte la siguiente llamada de ejemplo. - Anote el token de actualización que se devuelve.
- Almacene el token de actualización en Azure Key Vault. Para obtener más información, consulte la documentación de la API de Key Vault.
Nota:
Los recursos mencionados en la llamada POST de ejemplo siguiente son para GDAP-Graph API.
Los recursos para otras API de PC son los siguientes:
API del Centro de partners (https://api.partnercenter.microsoft.com
)
API de socios (https://api.partner.microsoft.com
)
Ejemplo de convocatoria
POST 'https://login.microsoftonline.com/<partnerTenantId>/oauth2/token' \
--header 'content-type: application/x-www-form-urlencoded' \
--form 'grant_type="authorization_code"' \
--form 'client_id=<application_id or client_id>' \
--form 'resource="https://graph.microsoft.com"' \
--form 'code="<authorization_code>"'
Response Body:
{
"token_type": "Bearer",
"scope": "DelegatedAdminRelationship.ReadWrite.All User.Read.All",
"expires_in": "4549",
"ext_expires_in": "4549",
"expires_on": "1652886571",
"not_before": "1652881721",
"resource": "https://graph.microsoft.com",
"access_token": "Access_token",
"refresh_token": "Refresh_token",
"id_token": "Id_token"
}
Configuración del almacén de claves
En primer lugar, cree una nueva aplicación web en el inquilino del asociado de CSP. Si la aplicación CPV se usa para llamar a las API del Centro de partners, CPV debe crear una nueva aplicación web en el inquilino del asociado CPV.
Si usa Azure Key Vault:
- Cree Azure Key Vault con el atributo apropiado
<key-vault-name>
y dará como resultado un nombre DNS como:https://<key-vault-name>.vault.azure.net
- Agregue un token de actualización al almacén de claves.
Proporcionar acceso al almacén de claves
En las directivas de acceso del almacén de claves, agregue KeyVaultAccessApp con permisos para administrar solo los aspectos Get y Set de un secreto.
Configurar el prototipo
El prototipo tiene dos aplicaciones:
-
Consentimiento del asociado: representa una aplicación web diseñada para aceptar el consentimiento de un asociado de CSP y mostrar un mensaje de éxito.
- Esta aplicación configura el consentimiento y captura el token de actualización del usuario consentido.
- El token de actualización del usuario consentido se usa para generar el token de acceso para el inquilino del asociado de CSP.
-
Aplicación CSP o aplicación CPV: representa una aplicación principal, que llama a las API y el gráfico del Centro de partners.
- API para realizar acciones comerciales y de usuario en nombre del socio.
Esta aplicación recupera el token de acceso para una audiencia específica (API del Centro de partners o Graph) antes de llamar a las API respectivas. Usa el token de actualización que se almacena de forma segura en el almacén de claves.
Aplicación de consentimiento de socios (CSP)
Configuración web de CSP
En el caso de la aplicación de asociado de CSP, el web.config
archivo tiene las siguientes secciones remarcadas. Actualice estos valores con los identificadores de aplicación y los secretos correspondientes. Para la aplicación principal, use "certificado" como secreto de la aplicación web en lugar de secretos simples, ya que proporciona una capa adicional de seguridad.
<!-- AppID that represents CSP application -->
<add key="ida:CSPApplicationId" value="CSPApplicationIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment.
The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:CSPApplicationSecret" value="CSPApplicationSecretValue" />
<!-- AppID that is given access for keyvault to store the refresh tokens --> <add key="ida:KeyVaultClientId" value="KeyVaultClientIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment.
The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:KeyVaultClientSecret" value="KeyVaultClientSecretValue" />
<!-- AAD instance: Global is .com, for different national clouds it changes German cloud: .de, China cloud: login.chinacloudapi.cn -->
<add key="ida:AADInstance" value="https://login.microsoftonline.com/" />
Configuración de la aplicación CSP
En el caso de la aplicación de asociado de CSP, el app.config
archivo tiene las siguientes secciones remarcadas. Actualice los valores con los identificadores de aplicación y los secretos correspondientes. Para la aplicación principal, use "certificado" como secreto de la aplicación web en lugar de secretos simples, ya que proporciona una capa adicional de seguridad.
<!-- AppID that represents CSP application -->
<add key="ida:CPVApplicationId" value="CPVApplicationIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:CPVApplicationSecret" value="CPVApplicationSecretValue" />
<!-- AppID that is given access for keyvault to store the refresh tokens -->
<add key="ida:KeyVaultClientId" value="KeyVaultClientIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:KeyVaultClientSecret" value="KeyVaultClientSecretValue" />
<!-- AAD instance: Global is .com, for different national clouds it changes German cloud: .de,
China cloud: login.chinacloudapi.cn -->
<add key="ida:AADInstance" value="https://login.microsoftonline.com/" />
Aplicación de consentimiento de socios (CPV)
Los CSP que usan la aplicación CPV pueden llamar a la API ApplicationConsent para crear la entidad de servicio en el inquilino del cliente para acceder a Microsoft Graph y administrar los inquilinos del cliente. Para obtener más información, consulte Autenticación del Centro de partners.
Configuración web de CPV
En el caso de la aplicación de asociado de CSP, el web.config
archivo tiene las siguientes secciones remarcadas. Actualice estos valores con los identificadores de aplicación y los secretos correspondientes. Para la aplicación principal, use "certificado" como secreto de la aplicación web en lugar de secretos simples, ya que proporciona una capa adicional de seguridad.
<!-- AppID that represents Control panel vendor application -->
<add key="ida:CPVApplicationId" value="CPVApplicationIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:CPVApplicationSecret" value="CPVApplicationSecretValue" />
<!-- AppID that is given access for keyvault to store the refresh tokens -->
<add key="ida:KeyVaultClientId" value="KeyVaultClientIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:KeyVaultClientSecret" value="KeyVaultClientSecretValue" />
<!-- AAD instance: Global is .com, for different national clouds it changes German cloud: .de, China cloud: login.chinacloudapi.cn -->
<add key="ida:AADInstance" value="https://login.microsoftonline.com/" />
Configuración de la aplicación CPV
En el caso de la aplicación de asociado CPV, el app.config
archivo tiene las siguientes secciones. Actualice los valores con los identificadores de aplicación y los secretos correspondientes. Para la aplicación principal, use "certificado" como secreto de la aplicación web en lugar de secretos simples, ya que proporciona una capa adicional de seguridad.
<!-- AppID that represents Control panel vendor application -->
<add key="ida:CPVApplicationId" value="CPVApplicationIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:CPVApplicationSecret" value="CPVApplicationSecretValue" />
<!-- AppID that is given access for keyvault to store the refresh tokens -->
<add key="ida:KeyVaultClientId" value="KeyVaultClientIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:KeyVaultClientSecret" value="KeyVaultClientSecretValue" />
<!-- AAD instance: Global is .com, for different national clouds it changes German cloud: .de, China cloud: login.chinacloudapi.cn -->
<add key="ida:AADInstance" value="https://login.microsoftonline.com/" />