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.
Los escenarios de auditoría e informes en Microsoft 365 suelen implicar scripts desatendidos en Exchange Online Powershell y Security & Compliance PowerShell. En el pasado, el inicio de sesión desatendido requería que almacenara el nombre de usuario y la contraseña en un archivo local o en un almacén secreto al que se accedía en tiempo de ejecución. Pero, como todos sabemos, almacenar credenciales de usuario localmente no es una buena práctica de seguridad.
La autenticación basada en certificados (CBA) o la autenticación de solo aplicación como se describe en este artículo admite escenarios de automatización y scripts desatendidos mediante aplicaciones y certificados de Microsoft Entra.
Nota:
¿Sabía que puede conectarse a PowerShell de Exchange Online mediante identidades administradas en Azure? Consulte Uso de identidades administradas de Azure para conectarse a PowerShell de Exchange Online.
Las características y procedimientos descritos en este artículo requieren las siguientes versiones del módulo de PowerShell de Exchange Online:
- PowerShell de Exchange Online (Connect-ExchangeOnline): versión 2.0.4 o posterior.
- PowerShell de seguridad & cumplimiento (Connect-IPPSSession): versión 3.0.0 o posterior.
Para obtener instrucciones sobre cómo instalar o actualizar el módulo, consulte Instalar y actualizar el módulo de PowerShell de Exchange Online. Para obtener instrucciones sobre cómo usar el módulo en Azure Automation, consulte Administración de módulos en Azure Automation.
La autenticación CBA o de solo aplicación está disponible en Office 365 operado por 21Vianet en China.
Las conexiones de API de REST en el módulo PowerShell V3 de Exchange Online requieren los módulos PowerShellGet y PackageManagement. Para obtener más información, consulte PowerShellGet para conexiones basadas en REST en Windows.
Si los procedimientos descritos en este artículo no funcionan, compruebe que no tiene instaladas las versiones preliminares de los módulos PackageManagement o PowerShellGet ejecutando el siguiente comando:
Get-InstalledModule PackageManagement -AllVersions; Get-InstalledModule PowerShellGet -AllVersions.En PowerShell de Exchange Online, no puede usar los procedimientos de este artículo con los siguientes cmdlets de grupo de Microsoft 365:
Puede usar Microsoft Graph para reemplazar la mayor parte de la funcionalidad de esos cmdlets. Para obtener más información, consulte Trabajar con grupos en Microsoft Graph.
La autenticación de solo aplicación sigue sin admitirse para Microsoft Purview eDiscovery cmdlets en Security & Compliance PowerShell, incluidos, entre otros:
- Get-ComplianceSearchAction
- New-CaseHoldPolicy
- New-ComplianceSearch
- Start-ComplianceSearch
- New-ComplianceSearchAction
- Set-CaseHoldPolicy
- Invoke-HoldRemovalAction
- Invoke-ComplianceSecurityFilterAction
- Invoke-ComplianceSearchActionStep
Realice la transición de las automatizaciones existentes a las API de Microsoft Graph cuando estén disponibles. Para ayudar a mantener la funcionalidad de las automatizaciones que siguen utilizando esta configuración no compatible, utilice la versión 3.10.1 o posterior del módulo ExchangeOnlineManagement, el conmutador EnableSearchOnlySession con Connect-IPPSSession y la configuración necesaria de control de acceso basado en roles (RBAC) de eDiscovery. Estas medidas no cambian el estado no admitido de la configuración. Para obtener más información, consulte Configuración de la autenticación de solo aplicación para eDiscovery PowerShell.
Los escenarios delegados se admiten en Exchange Online. El método recomendado para conectarse con la delegación es usar GDAP y consentimiento de la aplicación. Para obtener más información, consulte Uso del módulo de PowerShell v3 de Exchange Online con GDAP y consentimiento de la aplicación. También puede usar aplicaciones multiinquilino cuando no se crean relaciones de CSP con el cliente. Los pasos necesarios para el uso de aplicaciones multiinquilino se indican en las instrucciones habituales de este artículo.
Use el modificador SkipLoadingFormatData en el cmdlet Connect-ExchangeOnline si recibe el siguiente error al usar el SDK de Windows PowerShell para conectarse:
The term 'Update-ModuleManifest' is not recognized as a name of a cmdlet, function, script file, or executable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
¿Cómo funciona?
El módulo de PowerShell de Exchange Online usa la biblioteca de autenticación de Active Directory para capturar un token solo de aplicación mediante el id. de aplicación, el id. de inquilino (organización) y la huella digital del certificado. El objeto de aplicación aprovisionado dentro de Microsoft Entra ID tiene un rol de directorio asignado, que se devuelve en el token de acceso. El control de acceso basado en rol (RBAC) de la sesión se configura mediante la información de rol de directorio que está disponible en el token.
Ejemplos de conexión
Los ejemplos siguientes muestran cómo utilizar el módulo de PowerShell de Exchange Online con la autenticación de solo aplicación:
Importante
En los siguientes comandos de conexión, utilice el dominio principal .onmicrosoft.com de su organización como valor del parámetro Organization .
Los siguientes comandos de conexión tienen muchas de las mismas opciones disponibles que se describen en Conectarse a Exchange Online PowerShell y Conectarse a PowerShell de seguridad & cumplimiento. Por ejemplo:
Los entornos de Microsoft 365 GCC High, Microsoft 365 DoD o Microsoft 365 China (operado por 21Vianet) requieren los siguientes parámetros y valores adicionales:
Microsoft 365 GCC High
Connect-ExchangeOnline -ExchangeEnvironmentName O365USGovGCCHighConnect-IPPSSession -ConnectionUri https://ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/organizations*
Microsoft 365 DoD
Connect-ExchangeOnline -ExchangeEnvironmentName O365USGovDoDConnect-IPPSSession -ConnectionUri https://compliance.dod.microsoft.com/powershell-liveid -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/organizations*
Microsoft 365 operado por 21Vianet (China)
Connect-ExchangeOnline -ExchangeEnvironmentName O365ChinaConnect-IPPSSession -ConnectionUri https://ps.compliance.protection.partner.outlook.cn/powershell-liveid -AzureADAuthorizationEndpointUri https://login.chinacloudapi.cn/organizations*
* El valor AzureADAuthorizationEndpointUri que termina en
/organizationssolo permite cuentas profesionales o educativas. El valor de URI anterior que termina en/commonsigue funcionando, pero podría pedirle que elija entre una cuenta personal y una cuenta profesional o educativa. Recomendamos el valor URI en escenarios empresariales donde se deben excluir las/organizationscuentas de consumidor.Si un comando Connect-IPPSSession presenta un indicador de inicio de sesión, ejecute el comando:
$Global:IsWindows = $trueantes del comando Connect-IPPSSession .Para las automatizaciones de eDiscovery existentes que siguen usando la configuración de solo aplicación no compatible, use ExchangeOnlineManagement 3.10.1 o posterior y agregue el conmutador EnableSearchOnlySession al comando Connect-IPPSSession .
Conectarse con una huella digital de certificado:
Nota:
El parámetro CertificateThumbprint solo se admite en Microsoft Windows.
El certificado debe instalarse en el equipo donde se ejecuta el comando. El certificado se debe instalar en el almacén de certificados de usuario.
Exchange Online PowerShell:
Connect-ExchangeOnline -CertificateThumbPrint "012THISISADEMOTHUMBPRINT" -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"Security & Compliance PowerShell:
Connect-IPPSSession -CertificateThumbPrint "012THISISADEMOTHUMBPRINT" -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
Conexión mediante un objeto de certificado:
No es necesario instalar el certificado en el equipo donde se ejecuta el comando. Puede almacenar el objeto de certificado de forma remota. El certificado se recupera cuando se ejecuta el script.
Exchange Online PowerShell:
Connect-ExchangeOnline -Certificate <%X509Certificate2 Object%> -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"Security & Compliance PowerShell:
Connect-IPPSSession -Certificate <%X509Certificate2 Object%> -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
Conectarse con un certificado local:
Nota:
El uso de un comando ConvertTo-SecureString para almacenar la contraseña del certificado localmente anula el propósito de un método de conexión segura en escenarios de automatización. El uso de un comando Get-Credential para solicitarle la contraseña del certificado de forma segura no es ideal para escenarios de automatización. En otras palabras, realmente no existe una forma automatizada y segura de conectarse mediante un certificado local.
Exchange Online PowerShell:
Connect-ExchangeOnline -CertificateFilePath "C:\Users\navin\Desktop\automation-cert.pfx" -CertificatePassword (Get-Credential).password -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"Security & Compliance PowerShell:
Connect-IPPSSession -CertificateFilePath "C:\Users\navin\Desktop\automation-cert.pfx" -CertificatePassword (Get-Credential).password -AppID "36ee4c6c-0812-40a2-b820-b22ebd02bce3" -Organization "contosoelectronics.onmicrosoft.com"
Configurar la autenticación solo enla aplicación
Se requiere una incorporación inicial para la autenticación con objetos de aplicación. La entidad de servicio y la aplicación se usan de forma intercambiable, pero una aplicación es como un objeto de clase mientras que una entidad de servicio es como una instancia de la clase. Para obtener más información, consulte Objetos de entidad de servicio y aplicación en Microsoft Entra ID.
Para obtener un flujo visual detallado sobre la creación de aplicaciones en Microsoft Entra ID, consulte https://aka.ms/azuread-app.
Asignar permisos de API a la aplicación.
Un objeto de aplicación tiene el permiso de API delegadaUser.Read de Microsoft Graph> de forma predeterminada. Agregue el permiso de aplicación que coincida con la conexión de PowerShell:
- Exchange Online PowerShell (Connect-ExchangeOnline):Office 365 Exchange Online>Exchange.ManageAsApp.
- PowerShell de seguridad & cumplimiento (Connect-IPPSSession): Protección> Microsoft Exchange OnlineExchange.ManageAsApp.
Si la aplicación se conecta a ambos entornos, agregue ambos permisos. Otorgue el consentimiento del administrador de todo el espacio empresarial para cada permiso.
-
Para la autenticación de solo aplicación en Microsoft Entra ID, normalmente se usa un certificado para solicitar acceso. Cualquier persona que tenga el certificado y su clave privada puede usar la aplicación con los permisos concedidos a la aplicación.
Cree y configure un certificado X.509, que se usa para autenticar su aplicación en Microsoft Entra ID, mientras solicita el token de acceso solo de la aplicación. El certificado puede ser autofirmado.
Este procedimiento es similar a la generación de una contraseña para las cuentas de usuario. Consulte esta sección más adelante en este artículo para obtener instrucciones para generar certificados en PowerShell.
Nota:
Criptografía: los certificados de nueva generación (CNG) no se admiten para la autenticación solo de aplicación con Exchange. Los certificados CNG se crean de forma predeterminada en las versiones modernas de Windows. Debe usar un certificado de un proveedor de claves CSP. En esta sección se tratan dos métodos admitidos para crear un certificado CSP.
Paso 1: registrar la aplicación en Microsoft Entra ID
Nota:
Si tiene problemas, revise los permisos necesarios para comprobar que su cuenta puede crear la identidad.
Abra el Centro de administración de Microsoft Entra en https://portal.azure.com/.
En el cuadro de búsqueda de la parte superior de la página, empiece a escribir Registros de aplicaciones y, a continuación, seleccione Registros de aplicaciones en los resultados de la sección Servicios.
O bien, para ir directamente a la página de Registros de aplicaciones, use https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade.
En la página Registros de aplicaciones, seleccione Nuevo registro.
En la página Registrar una aplicación que aparece, configure las siguientes opciones:
Nombre: escriba algo descriptivo. Por ejemplo, ExO PowerShell CBA.
Tipos de cuenta admitidos: Compruebe que las cuentas de solo este directorio organizativo (<solo suNombreDeOrganización> ; inquilino único) esté seleccionado.
Nota:
Para convertir la aplicación en multiinquilino para escenarios delegados de Exchange Online, seleccione el valor Cuentas en cualquier directorio organizativo (Cualquier directorio de Microsoft Entra: Multiinquilino).
URI de redireccionamiento (opcional): esta configuración es opcional. Si necesita usarlo, configure los siguientes parámetros:
- Plataforma: Seleccionar Web.
- URI: introduzca el URI al que se envía el token de acceso.
Nota:
No puede crear credenciales para las aplicaciones nativas, ya que no puede usar aplicaciones nativas para aplicaciones automatizadas.
Cuando haya terminado en la página de Registros de aplicaciones, seleccione Registrarse.
Se le dirigirá a la página Información general de la aplicación que registró. Deje esta página abierta. Úselo en el siguiente paso.
Paso 2: asignar permisos de API a la aplicación
Elija uno de los métodos siguientes en esta sección para asignar permisos de API a la aplicación:
- Seleccione y asigne los permisos de API desde el portal.
- Modifique el manifiesto de la aplicación para asignar permisos de API. (Las organizaciones de Microsoft 365 GCC High y DoD deben usar este método).
Seleccione y asigne los permisos de API desde el portal
En la página Información general de la aplicación, seleccione Permisos de API en la sección Administrar .
En la página Permisos de API de la aplicación, seleccione Agregar un permiso.
En el menú flotante Solicitar permisos de API que se abre, seleccione la pestaña API que usa mi organización y, a continuación, seleccione la API que coincida con la conexión de PowerShell:
- Exchange Online PowerShell (Connect-ExchangeOnline): busque y seleccione Office 365 Exchange Online.
- PowerShell de seguridad & cumplimiento (Connect-IPPSSession): busque y seleccione Microsoft Exchange Online Protección.
Si la aplicación se conecta a ambos entornos, repita los pasos 2 a 5 para la otra API antes de continuar con el paso 6.
En la captura de pantalla siguiente se muestra la selección de PowerShell de Exchange Online:
En el menú flotante ¿Qué tipo de permisos requiere su aplicación? que aparece, seleccione Permisos de aplicación.
En la lista de permisos que aparece, expanda Exchange, seleccione Exchange.ManageAsApp y, después, seleccione Agregar permisos.
De nuevo en la página de permisos de la API de la aplicación, compruebe que cada permiso necesario de Exchange.ManageAsApp aparece en la lista y contiene los siguientes valores:
Tipo: Aplicación.
Se requiere el consentimiento del administrador: Sí.
Estado: El valor incorrecto actual no se concede para <la organización>.
Para cambiar este valor, seleccione Conceder consentimiento de administrador para <la organización>, lea el cuadro de diálogo de confirmación que se abre y, a continuación, seleccione Sí.
El valor de Estado ahora se concede para <la organización>.
Para la entradaUser.Read predeterminada de Microsoft Graph>, seleccione ...>Revoque el consentimiento del administrador y, a continuación, seleccione Sí en el cuadro de diálogo de confirmación que se abre para devolver el estado al valor en blanco predeterminado.
Cierre la página actual depermisos de la API (no la pestaña del explorador) para volver a la página de registros de la aplicación. Usa la página de Registros de aplicaciones en un paso siguiente.
Modifique el manifiesto de la aplicación para asignar permisos de API
Nota:
Los procedimientos de esta sección anexan los permisos predeterminados existentes en la aplicación (permisos de User.Read delegados en Microsoft Graph) con el permiso de aplicación necesario Exchange.ManageAsApp . Use los valores de recursos que coincidan con la conexión de PowerShell. Si la aplicación se conecta a PowerShell de Exchange Online y a PowerShell de seguridad & cumplimiento, incluya objetos de recursos de Exchange y un objeto de recurso de Microsoft Graph.
En la página de información general de la aplicación, seleccione Manifiesto en la sección Administrar .
En la página Manifiesto de la aplicación, busque la entrada (en o alrededor de la
requiredResourceAccesslínea 42). Para PowerShell de Exchange Online, haga que la entrada tenga un aspecto similar al siguiente fragmento de código:"requiredResourceAccess": [ { "resourceAppId": "00000002-0000-0ff1-ce00-000000000000", "resourceAccess": [ { "id": "dc50a0fb-09a3-484d-be87-e023b12c6440", "type": "Role" } ] }, { "resourceAppId": "00000003-0000-0000-c000-000000000000", "resourceAccess": [ { "id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d", "type": "Scope" } ] } ],Nota:
Para PowerShell de seguridad & cumplimiento en cualquier entorno, incluidos Microsoft 365 GCC High y DoD, use los siguientes valores para la
requiredResourceAccessentrada:"requiredResourceAccess": [ { "resourceAppId": "00000007-0000-0ff1-ce00-000000000000", "resourceAccess": [ { "id": "455e5cd2-84e8-4751-8344-5672145dfa17", "type": "Role" } ] }, { "resourceAppId": "00000003-0000-0000-c000-000000000000", "resourceAccess": [ { "id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d", "type": "Scope" } ] } ],Cuando haya terminado en la página Manifiesto , seleccione Guardar.
Aún en la página Manifiesto , seleccione permisos de API en la sección Administrar .
En la página de permisos de API, compruebe que cada permiso necesario de Exchange.ManageAsApp se muestre y contenga los siguientes valores:
Tipo: Aplicación.
Se requiere el consentimiento del administrador: Sí.
Estado: El valor incorrecto actual no se concede para <la organización>.
Para cambiar el valor de estado , seleccione Conceder consentimiento de administrador para <la organización>, lea el cuadro de diálogo de confirmación que se abre y, a continuación, seleccione Sí.
El valor de Estado ahora se concede para <la organización>.
Para la entradaUser.Read predeterminada de Microsoft Graph>, seleccione ...>Revoque el consentimiento del administrador y, a continuación, seleccione Sí en el cuadro de diálogo de confirmación que se abre para devolver el estado al valor en blanco predeterminado.
Cierre la página actual depermisos de la API (no la pestaña del explorador) para volver a la página de registros de la aplicación. Usa la página de Registros de aplicaciones en un paso siguiente.
Paso 3: Generar un certificado
Nota:
Criptografía: los certificados de nueva generación (CNG) no se admiten para la autenticación solo de aplicación, como se describe en este artículo. Los certificados de CNG se crean de forma predeterminada en las versiones modernas de Windows. Debe usar un certificado de un proveedor de claves de CSP.
Puede usar un certificado autofirmado, un certificado emitido por una infraestructura de claves públicas interna o PKI (por ejemplo, Active Directory Certificate Services o AD CS), o un certificado emitido por una entidad de certificación (CA) comercial de confianza.
Los únicos requisitos para el certificado X.509 son una clave privada exportable y disponible (.pfx) y un certificado público (.cer).
Para obtener un certificado autofirmado, use uno de los métodos siguientes:
(Recomendado): use los cmdlets New-SelfSignedCertificate, Export-Certificate y Export-PfxCertificate en una sesión de PowerShell con privilegios elevados (una ventana de PowerShell que abrió después de seleccionar Ejecutar como administrador) para solicitar un certificado autofirmado y exportar las claves pública y privada del certificado a los archivos (SHA1 de forma predeterminada). Por ejemplo:
# Create a self-signed certificate $mycert = New-SelfSignedCertificate -DnsName "contoso.org" -CertStoreLocation "cert:\CurrentUser\My" -NotAfter (Get-Date).AddYears(1) -KeySpec KeyExchange # Export the X.509 certificate and the associated private key to a password-protected .pfx file $mycert | Export-PfxCertificate -FilePath mycert.pfx -Password (Get-Credential).password # Export the X.509 public certificate to a .cer file $mycert | Export-Certificate -FilePath mycert.cerUse el script Create-SelfSigned Script para generar certificados SHA1.
.\Create-SelfSignedCertificate.ps1 -CommonName "MyCompanyName" -StartDate 2026-01-06 -EndDate 2027-01-06
Paso 4: Adjuntar el certificado a la aplicación Microsoft Entra
Después de registrar el certificado con la aplicación, puede usar la clave pública (archivo .pfx) o la huella digital para la autenticación.
En la pestaña Aplicaciones propias de la página Registro de aplicaciones del final del paso 2, seleccione su aplicación.
Si necesita volver a la página de registro de aplicaciones , use https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/RegisteredApps, verifique que la pestaña Aplicaciones propias esté seleccionada y, a continuación, seleccione su aplicación.
En la página de aplicación que se abre, seleccione Certificados & secretos en la sección Administrar .
En la página Certificados & secretos , seleccione Cargar certificado.
En el control flotante Cargar certificado que se abre, busque el certificado público (
.cerarchivo) que exportó en el paso 3 y, a continuación, seleccione Agregar.
El certificado ahora se muestra en la sección Certificados.
Cierre la página Certificados y secretos y, después, la página de Registros de la aplicación para volver a la https://portal.azure.com/página principal. Úselo en el siguiente paso.
Paso 4b: Solo escenarios delegados de Exchange Online: conceder el consentimiento del administrador para la aplicación multiinquilino
Si ha hecho que la aplicación sea multiinquilino para escenarios delegados de Exchange Online en el paso 1, debe conceder el consentimiento del administrador al permiso Exchange.ManageAsApp para que la aplicación pueda ejecutar cmdlets en Exchange Online en cada organización de inquilinos. Debe generar una dirección URL de consentimiento de administrador para cada inquilino de cliente. Antes de que alguien use la aplicación multiinquilino para conectarse a Exchange Online en la organización del inquilino, un administrador del inquilino del cliente debe abrir la siguiente dirección URL:
https://login.microsoftonline.com/<tenant-id>/adminconsent?client_id=<client-id>&scope=https://outlook.office365.com/.default
-
<tenant-id>es el identificador de inquilino del cliente. -
<client-id>es el identificador de la aplicación multiinquilino. - El ámbito predeterminado se usa para conceder permisos a la aplicación.
Para obtener más información sobre la sintaxis de dirección URL, consulte Solicitar los permisos a un administrador de directorio.
Paso 5: Asignar permisos de rol a la aplicación
Tiene las siguientes opciones:
Opción 1: Asignar roles de Microsoft Entra a la aplicación: Use los roles integrados de Microsoft Entra para conceder todos los permisos del rol. No puede personalizar ni definir el ámbito de estos roles.
Opción 2: Asignar grupos de roles personalizados a la aplicación mediante entidades de servicio: Se recomienda esta opción en los escenarios siguientes:
- Debe restringir los comandos disponibles en la aplicación.
- Debe usar un ámbito de escritura para limitar los destinatarios que se pueden modificar.
Opción 3: Combinar roles de Microsoft Entra con grupos de roles personalizados: RBAC combina permisos de todos los orígenes. Se recomienda este método para ampliar las capacidades de un rol integrado de Microsoft Entra. Por ejemplo, puede ampliar las capacidades del rol Administrador de destinatarios de Exchange concediendo permisos adicionales desde un rol personalizado.
Estas opciones se describen en las subsecciones siguientes.
Nota:
Para aplicaciones de varios inquilinos en escenarios delegados de Exchange Online, debe asignar permisos en cada inquilino de cliente.
Opción 1: asignar roles de Microsoft Entra a la aplicación
Los roles de Microsoft Entra admitidos se describen en la siguiente tabla:
| Role | Exchange en línea PowerShell |
Seguridad y cumplimiento PowerShell |
|---|---|---|
| Administrador de cumplimiento | ✔ | ✔ |
| Administrador de Exchange¹ | ✔ | |
| Administrador de destinatarios de Exchange | ✔ | |
| Administrador global¹ ² | ✔ | ✔ |
| Lector global | ✔ | ✔ |
| Administrador del departamento de soporte técnico | ✔ | |
| Administrador de seguridad¹ | ✔ | ✔ |
| Lector de seguridad | ✔ | ✔ |
¹ Las funciones Administrador global y Administrador de Exchange proporcionan los permisos necesarios para cualquier tarea de Exchange Online PowerShell. Por ejemplo:
- Administración de destinatarios.
- Características de seguridad y protección. Por ejemplo, contra correo no deseado, antimalware, antiphishing y los informes asociados.
El rol de administrador de seguridad no tiene los permisos necesarios para esas mismas tareas.
² Microsoft aboga firmemente por el principio de privilegios mínimos. Asignar a las cuentas solo los permisos mínimos necesarios para realizar sus tareas ayuda a reducir los riesgos de seguridad y refuerza la protección general de la organización. El administrador global es un rol con muchos privilegios que debe limitar a escenarios de emergencia o cuando no puede usar un rol diferente.
Para obtener instrucciones generales acerca de cómo asignar roles en Microsoft Entra ID, consulte Asignar roles de Microsoft Entra a los usuarios.
Nota:
Los pasos siguientes son ligeramente diferentes para Exchange Online PowerShell frente a Security & Compliance PowerShell. Se muestran los pasos para ambos entornos. Para configurar roles para ambos entornos, repita los pasos de esta sección.
En el Centro de administración de Microsoft Entra, comience a https://portal.azure.com/escribir roles y administradores en el cuadro de búsqueda de la parte superior de la página y seleccione Roles y administradores de Microsoft Entra en los resultados de la sección Servicios.
O bien, para ir directamente a la página Roles y administradores de Microsoft Entra, use https://portal.azure.com/#view/Microsoft_AAD_IAM/AllRolesBlade.
En la página Roles y administradores que se abre, busque y seleccione uno de los roles admitidos haga clic en el nombre del rol (no en la casilla) de los resultados.
Exchange Online PowerShell: Por ejemplo, busque y seleccione el rol de administrador de Exchange.
PowerShell de seguridad & cumplimiento: Por ejemplo, busque y seleccione el rol Administrador de cumplimiento .
En la página Asignaciones que se abre, seleccione Agregar tareas.
Exchange Online PowerShell:
Security & Compliance PowerShell:
En el menú flotante Agregar tareas que se abre, busque y seleccione la aplicación que creó en el Paso 1.
Cuando haya terminado en el menú desplegable Agregar tareas , seleccione Agregar.
De nuevo en la página Asignaciones , compruebe que el rol está asignado a la aplicación.
Exchange Online PowerShell:
Security & Compliance PowerShell:
Opción 2: Asignar grupos de roles personalizados a la aplicación mediante entidades de servicio
Nota:
Debe conectarse a Exchange Online PowerShell o PowerShell de seguridad & cumplimiento antes de completar los pasos para crear una nueva entidad de servicio. La creación de una nueva entidad de servicio sin conectarse a PowerShell no funciona (el identificador de App de Azure y el identificador de objeto son necesarios para crear la nueva entidad de servicio).
Para obtener información sobre cómo crear grupos de roles personalizados, consulte Creación de grupos de roles en Exchange Online y Creación de grupos de roles de colaboración Email & en el portal de Microsoft Defender. El grupo de roles personalizados que asigne a la aplicación puede contener cualquier combinación de roles integrados y personalizados.
Para asignar grupos de roles personalizados a la aplicación mediante entidades de servicio, siga estos pasos:
En Microsoft Graph PowerShell, ejecute los siguientes comandos para almacenar los detalles de la aplicación Microsoft Entra registrada en el paso 1 en una variable:
Connect-MgGraph -Scopes AppRoleAssignment.ReadWrite.All,Application.Read.All $<VariableName1> = Get-MgServicePrincipal -Filter "DisplayName eq '<AppName>'"Por ejemplo:
Connect-MgGraph -Scopes AppRoleAssignment.ReadWrite.All,Application.Read.All $AzureADApp = Get-MgServicePrincipal -Filter "DisplayName eq 'ExO PowerShell CBA'"Para obtener información detallada sobre la sintaxis y los parámetros, consulte Get-MgServicePrincipal.
En la misma ventana de PowerShell, conéctese a Exchange Online PowerShell o a & de cumplimiento de seguridad y ejecute los siguientes comandos para:
- Cree un objeto de entidad de servicio para la aplicación Microsoft Entra.
- Almacene los detalles de la entidad de servicio en una variable para usarla en el paso siguiente.
New-ServicePrincipal -AppId $<VariableName1>.AppId -ObjectId $<VariableName1>.Id -DisplayName "<Descriptive Name>" $<VariableName2> = Get-ServicePrincipal -Identity "<Descriptive Name>"Por ejemplo:
New-ServicePrincipal -AppId $AzureADApp.AppId -ObjectId $AzureADApp.Id -DisplayName "SP for Azure AD App ExO PowerShell CBA" $SP = Get-ServicePrincipal -Identity "SP for Azure AD App ExO PowerShell CBA"Para obtener información detallada sobre la sintaxis y los parámetros, consulte New-ServicePrincipal.
En Exchange Online PowerShell o Security & Compliance PowerShell, ejecute el siguiente comando para agregar la entidad de servicio como miembro del grupo de roles personalizado:
Add-RoleGroupMember -Identity "<CustomRoleGroupName>" -Member <$<VariableName2>.Identity | $<VariableName2>.ObjectId | $<VariableName2>.Id>Por ejemplo:
Add-RoleGroupMember -Identity "Contoso View-Only Recipients" -Member $SP.IdentityPara obtener información más detallada acerca de la sintaxis y los parámetros, consulte Add-RoleGroupMember.