Conéctese a SharePoint Online mediante el ID de aplicación de Azure AD desde PowerShell
Requisito: Conéctese a SharePoint Online con la aplicación Azure Active Directory desde PowerShell.
¿Cómo conectarse a SharePoint Online utilizando el ID de aplicación de Azure desde PowerShell?
Usar Azure Application ID para conectarse a SharePoint Online es una excelente manera de administrar su entorno de SharePoint Online desde scripts de PowerShell desatendidos. En esta publicación, repasaremos los pasos necesarios para conectarse a SharePoint Online utilizando el ID de aplicación de Azure desde PowerShell.
Paso 1: configurar el ID de la aplicación Azure AD
Para conectarse con SharePoint Online mediante el ID de aplicación de Azure, son necesarios los siguientes pasos:
- Registrar una aplicación de Azure AD
- Conceder permiso a la aplicación
- Cree un certificado y cárguelo en el secreto de la aplicación de Azure
Registrar una aplicación de Azure
El primer paso es crear una nueva aplicación en los registros de aplicaciones de Azure.
- Inicie sesión en Azure Portal como administrador global en https://aad.portal.azure.com
- Haga clic en "Azure Active Directory" y luego en "Registros de aplicaciones".
Haga clic en “Registrar una aplicación” o en el botón “Nuevo registro”.
Ingresa el nombre de tu aplicación y deja las opciones predeterminadas, y luego haz clic en “Registrarse”.
Serás llevado al resumen de la aplicación. Tome nota del ID de la aplicación.
Conceder permisos a la aplicación de Azure
Una vez creada la aplicación, debemos otorgar el acceso necesario a la aplicación. En nuestro caso, planeamos utilizar este ID de aplicación en nuestros scripts de PowerShell para SharePoint Online. Entonces, tenemos que otorgar permiso a la aplicación SharePoint: Control total.
Desde la página de resumen de la aplicación creada, haga clic en "Permisos de API" en el enlace de navegación izquierdo y luego haga clic en "Agregar un permiso".
En la página "Solicitar permisos de API", seleccione "SharePoint".
-
Seleccione Permisos de la aplicación >> Seleccione “Sites.FullControl.All” y haga clic en “Agregar permisos”.
Haga clic en "Otorgar consentimiento de administrador" para aceptar los permisos.
Cree un certificado y cárguelo en la aplicación secreta
El siguiente paso es crear un secreto para la aplicación. Aunque las contraseñas funcionan, son menos preferibles en comparación con los certificados. Entonces, necesitamos un certificado autofirmado para cargarlo en la aplicación.
$CertificateName = "SharePoint Online Certificate"
$CertificatePassword = "Password1"
#Get the "Documents" folder
$DocumentsFolder = [Environment]::GetFolderPath("MyDocuments")
#Generate a Self-signed Certificate
$Certificate = New-SelfSignedCertificate -Subject $CertificateName -CertStoreLocation "Cert:\CurrentUser\My" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256
#Export the Certificate to "Documents" Folder in your computer
Export-Certificate -Cert $Certificate -FilePath $DocumentsFolder\$CertificateName.cer
#Export the PFX File
Export-PfxCertificate -Cert $Certificate -FilePath "$DocumentsFolder\$CertificateName.pfx" -Password (ConvertTo-SecureString -String $CertificatePassword -Force -AsPlainText)
Más información sobre la creación de un certificado autofirmado está aquí: https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-create-self-signed-certificate
Una vez generado el certificado, el siguiente paso es cargar el certificado en el secreto de la aplicación.
- Vaya a su aplicación de Azure >> Haga clic en "Certificados y secretos".
Haga clic en “Subir certificado”.
Busque el archivo CER generado y haga clic en el botón "Agregar".
- Tome nota de la "huella digital". Esa es su clave segura asociada con el certificado para autenticarse en la aplicación.
¡Eso es todo! Una vez que haya completado todos estos pasos, podrá conectarse a SharePoint Online utilizando el ID de la aplicación Azure desde PowerShell.
Enfoque alternativo: PowerShell para registrar la aplicación, otorgar permisos y secreto del cliente
Los pasos anteriores se pueden automatizar mediante un script de PowerShell sin pasar por la interfaz de usuario web. Abra la consola de PowerShell como administrador y ejecute este script:
Register-PnPAzureADApp -ApplicationName "SharePointApp" -Tenant "Crescent.com" -Store CurrentUser -SharePointApplicationPermissions "Sites.FullControl.All" -Interactive
Este script registra una nueva aplicación de Azure AD, crea un nuevo certificado autofirmado y lo agrega al almacén de certificados local. También cargará el certificado en el registro de la aplicación Azure.
Recibirá un mensaje para dar su consentimiento a los siguientes permisos: "Sites.FullControl.All". Inicie sesión y acepte la solicitud de permiso.
Tome nota del ID de la aplicación/ID del cliente y la huella digital.
Ahora estamos listos para continuar con la conexión a SharePoint Online con PnP PowerShell.
Paso 2: Conéctese a SharePoint Online usando el ID de la aplicación y el certificado
Una vez que la aplicación Azure AD esté lista, puede conectarse a SharePoint Online desde PnP PowerShell como:
#Parameters
$SiteURL = "https://Crescent.sharepoint.com/sites/retail"
$ClientID = "3735f461-fdb5-4360-8184-b30345e57796"
$ThumbPrint = "EE4C7845D6794F7525C2482551C2AC89F6B9CEE1"
$Tenant = "Crescent.com"
#Connect to SharePoint Online using Certificate
Connect-PnPOnline -Url $SiteURL -ClientId $ClientID -Thumbprint $ThumbPrint -Tenant $Tenant
#Get the Site
Get-PnPSite
Cualquiera que necesite conectarse a SharePoint Online con la aplicación primero debe instalar el certificado en su máquina local y luego usar el ID del cliente y la huella digital del certificado para autenticarse.
Aquí está mi otra publicación sobre Conexión a SharePoint Online usando ClientID y Client Secret con PnP PowerShell











