Graph API kullanarak parolayı değiştirmeye çalıştığınızda hata Authorization_RequestDenied
Bu makalede, Graph API kullanarak parola değiştirmeye çalışırken Authorization_RequestDenied hatası aldığınız bir sorunu giderme hakkında bilgi sağlanır.
Orijinal ürün sürümü: Microsoft Entra ID
Özgün KB numarası: 3004133
Belirtiler
Microsoft Entra kullanıcının parolasını değiştirmeye çalışırsınız. Bu kullanıcının Kuruluş Rolü ayarı herhangi bir "Yönetici" seçeneğine ayarlanırsa işlem başarısız olur. Aşağıdaki hata iletisini oluşturur:
{"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"İşlemi tamamlamak için yeterli ayrıcalık yok." }} }
Uygulamanıza veya Uygulama Hizmet Sorumlunuza Dizin verilerini okuma ve yazma izni verdiğinizde, uygulama Graph API kullanarak tipik bir Microsoft Entra kullanıcısının parolasını değiştirebilir. Bu ayar aşağıdaki ekran görüntüsünde gösterilmiştir.
Aşağıdaki ekran görüntüsünde gösterildiği gibi, kullanıcının Kuruluş Rolü ayarını değiştirerek bir Microsoft Entra kullanıcıyı yönetici olarak temsilci olarak atayabilirsiniz.
Neden
Bu sorun, Yönetici kuruluş rollerinden herhangi birine sahip olan kullanıcıların Office 365 yönetim rollerinde Şirket Yöneticisi veya Kullanıcı Hesabı Yöneticisi üyesi olmadığı için oluşur.
Çözüm
Not
Azure AD ve MSOnline PowerShell modülleri 30 Mart 2024 itibarıyla kullanım dışı bırakılmıştır. Daha fazla bilgi edinmek için kullanımdan kaldırma güncelleştirmesini okuyun. Bu tarihten sonra bu modüllere yönelik destek, Microsoft Graph PowerShell SDK'sına geçiş yardımı ve güvenlik düzeltmeleriyle sınırlıdır. Kullanım dışı bırakılan modüller Mart 30 2025'e kadar çalışmaya devam edecektir.
Microsoft Entra ID (eski adıyla Azure AD) ile etkileşime geçmek için Microsoft Graph PowerShell'e geçiş öneririz. Sık sorulan geçiş soruları için Bkz. Geçiş SSS. Not: MSOnline'ın 1.0.x sürümleri 30 Haziran 2024'den sonra kesintiye neden olabilir.
Bu sorunu çözmek için uygulamanızı Office 365 yönetim rollerinde Şirket Yöneticisi'ne ekleyin. Bunu yapmak için, Windows PowerShell (MSOL) cmdlet'leri için aşağıdaki tüm Azure AD modülünü çalıştırın:
Connect-MsolService
Sizden kiracınızın kimlik bilgilerini ister. Microsoft Entra yönetici kullanıcı adınızı biçiminde admin@tenant.onmicrosoft.com
kullanabilmeniz gerekir.
$displayName = "Application Name"
$objectId = (Get-MsolServicePrincipal -SearchString $displayName).ObjectId
"Uygulama Adı"nı "Uygulama Hizmet Sorumlunuzun" adıyla değiştirin.
$roleName = "Company Administrator"
Add-MsolRoleMember -RoleName $roleName -RoleMemberType ServicePrincipal -RoleMemberObjectId $objectId
"Uygulama Hizmeti Sorumlunuzu" Şirket Yöneticisi rolüne ekler.
Ayrıca, Microsoft Entra kullanıcı aşağıdaki Yönetici kuruluş rollerinden birine sahipse uygulamanızı Office 365 yönetim rollerinde Kullanıcı Hesabı Yöneticisi'ne eklemeniz gerekir:
- Genel Yönetici
- Faturalama Yöneticisi
- Hizmet Yöneticisi
Bunu yapmak için aşağıdaki tüm MSOL cmdlet'lerini çalıştırın:
Connect-MsolService
$displayName = "Application Name"
$objectId = (Get-MsolServicePrincipal -SearchString $displayName).ObjectId
$roleName = "User Account Administrator"
Add-MsolRoleMember -RoleName $roleName -RoleMemberType ServicePrincipal -RoleMemberObjectId $objectId
Her iki cmdlet kümesini de çalıştırdıktan sonra, uygulamanız tüm Yönetici kuruluş rollerinin parolasını değiştirmek için etkinleştirilir.
Not
İzinleri Office 365 yönetim rollerine ekledikten sonra, izinlerin Uygulama Hizmet Sorumlusuna uygulanması 30 dakika kadar sürebilir.
Yardım için bize ulaşın
Sorularınız veya yardıma ihtiyacınız varsa bir destek isteği oluşturun veya Azure topluluk desteği isteyin. Ürün geri bildirimini Azure geri bildirim topluluğuna da gönderebilirsiniz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin