PowerShell'den Azure AD Uygulama Kimliğini kullanarak SharePoint Online'a bağlanın
Gereksinim: PowerShell'den Azure Active Directory Uygulaması ile SharePoint Online'a bağlanın.
PowerShell'den Azure Uygulama Kimliğini kullanarak SharePoint Online'a Nasıl Bağlanılır?
SharePoint Online'a bağlanmak için Azure Uygulama Kimliğini kullanmak, SharePoint Online ortamınızı katılımsız PowerShell betiklerinden yönetmenin harika bir yoludur. Bu gönderide PowerShell'in Azure Uygulama Kimliğini kullanarak SharePoint Online'a bağlanmak için gerekli adımları ele alacağız.
1. Adım: Azure AD Uygulama Kimliğini Ayarlayın
Azure Uygulama Kimliğini kullanarak SharePoint Online'a bağlanmak için aşağıdaki adımlar gereklidir:
- Azure AD Uygulamasını Kaydettirin
- Uygulamaya İzin Verme
- Bir sertifika oluşturun ve bunu Azure Uygulama sırrına yükleyin
Bir Azure Uygulamasını kaydettirin
İlk adım, Azure Uygulama kayıtlarında yeni bir uygulama oluşturmaktır.
- https://aad.portal.azure.com adresinden Azure portalında Genel Yönetici olarak oturum açın.
- “Azure Active Directory”ye ve ardından “Uygulama kayıtları”na tıklayın.
“Bir başvuruyu kaydet” veya “Yeni kayıt” düğmesine tıklayın.
Uygulamanızın adını girin ve varsayılan seçeneklere izin verin ve ardından “Kayıt Ol” düğmesine tıklayın.
Uygulama özetine yönlendirileceksiniz. Uygulama Kimliğini not edin.
Azure Uygulamasına İzin Verme
Uygulama oluşturulduktan sonra uygulamaya gerekli erişimi vermemiz gerekiyor. Bizim durumumuzda, bu Uygulama Kimliğini SharePoint Online için PowerShell betiklerimizde kullanmayı planlıyoruz. Bu nedenle, SharePoint Uygulamasına izin vermeliyiz: Tam Kontrol.
Oluşturulan uygulama özeti sayfasında sol gezinme bağlantısındaki “API izinleri”ne ve ardından “İzin ekle”ye tıklayın.
"API izinlerini isteyin" sayfasında "SharePoint"i seçin.
-
Uygulama izinlerini seçin >> “Sites.FullControl.All”ı seçin ve “İzin ekle”ye tıklayın.
İzinlere izin vermek için “Yönetici onayı ver” seçeneğine tıklayın.
Bir Sertifika Oluşturun ve bunu Uygulama Sırrı'na yükleyin
Bir sonraki adım, Uygulama için bir sır oluşturmaktır. Parolalar işe yarasa da, sertifikalara kıyasla daha az tercih edilir. Bu nedenle, uygulamaya yüklemek için Kendinden imzalı bir sertifikaya ihtiyacımız var.
$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)
Kendinden imzalı sertifika oluşturmaya ilişkin daha fazla bilgiyi burada bulabilirsiniz: https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-create-self-signed-certificate
Sertifika oluşturulduktan sonraki adım, sertifikayı uygulama sırrına yüklemektir.
- Azure uygulamanıza gidin >> “Sertifikalar ve sırlar”a tıklayın.
“Sertifikayı yükle”ye tıklayın.
Oluşturulan CER dosyasına göz atın ve “Ekle” düğmesine tıklayın.
- “Parmak İzini” not edin. Bu, uygulamada kimlik doğrulaması yapmak için kullanılan sertifikayla ilişkili güvenli anahtarınızdır.
Bu kadar! Tüm bu adımları tamamladıktan sonra PowerShell'in Azure Uygulama Kimliğini kullanarak SharePoint Online'a bağlanabileceksiniz!
Alternatif Yaklaşım: Uygulamayı Kaydetmek, İzin Vermek ve İstemci Sırrı için PowerShell
Yukarıdaki adımlar, web kullanıcı arayüzünden geçmeden bir PowerShell betiği kullanılarak otomatikleştirilebilir. PowerShell konsolunu Yönetici olarak açın ve şu betiği çalıştırın:
Register-PnPAzureADApp -ApplicationName "SharePointApp" -Tenant "Crescent.com" -Store CurrentUser -SharePointApplicationPermissions "Sites.FullControl.All" -Interactive
Bu betik yeni bir Azure AD Uygulamasını kaydeder, otomatik olarak imzalanan yeni bir sertifika oluşturur ve bunu yerel sertifika deposuna ekler. Ayrıca sertifikayı masmavi uygulama kaydına da yükleyecektir.
Şu izinleri onaylamanız istenecektir: "Sites.FullControl.All". Giriş yapın ve izin isteğini kabul edin.
Uygulama Kimliği/İstemci Kimliği ve Parmak İzi'ni not edin.
Artık PnP PowerShell ile SharePoint Online'a bağlanmaya devam edebiliriz.
2. Adım: Uygulama Kimliğini ve Sertifikayı kullanarak SharePoint Online'a bağlanın
Azure AD uygulaması hazır olduğunda PnP PowerShell'den SharePoint Online'a şu şekilde bağlanabilirsiniz:
#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
Uygulamayla SharePoint Online'a bağlanması gereken herkesin önce sertifikayı yerel makinesine yüklemesi, ardından kimlik doğrulamak için İstemci Kimliğini ve sertifika parmak izini kullanması gerekir.
İşte PnP PowerShell ile ClientID ve Client Secret'ı kullanarak SharePoint Online'a Bağlanma hakkındaki diğer yazım











