Microsoft Graph PowerShell ile Çalışan Yöneticiler İçin 5 Harika İpucu


Microsoft Graph Explorer, yalnızca yeni komut ve özellikler kümesi nedeniyle değil, aynı zamanda hızlı ve verimli çalıştığınızdan emin olmak için izlemeniz gereken süreçler nedeniyle alışık olduğunuza göre oldukça farklı olabilir.

İşte Microsoft Graph PowerShell ile daha iyi çalıştığınızdan emin olmak için benden 5 harika ipucu!

Bir onay sürecini anlayın ve oluşturun

Microsoft Graph PowerShell'in arkasındaki temel mekanizma öncekilerle aynı olsa da yöneticiler için bu mekanizmanın farklı ve dikkatli bir şekilde ele alınması gerekir. Perde arkasında, Microsoft Graph PowerShell modülünden bir komut çalıştırdığınızda, Graph API'sine bir çağrı yapılır ve bu çağrı çoğu durumda Microsoft Entra olmak üzere ilgili Microsoft hizmetleriyle etkileşime girer. Bu aynı zamanda eski modüller için de geçerliydi; yalnızca farklı bir API ile etkileşime girildi.

Sizin ve benim gibi yöneticiler için, Microsoft Graph PowerShell modülleriyle ilgili ek güvenlik hususlarının yapılması gerekir; örneğin, belirli komutların çalıştırılabilmesi için bir Genel Yöneticinin veya Ayrıcalıklı Rol Yöneticisinin bir hizmet sorumlusuna izin vermesi gerekliliğinin dikkate alınması gerekir.

Örneğin, daha önce Kullanıcı Yöneticisi rolüne sahip bir yönetici eski modüle bağlanabiliyor ve ek yardım almadan kullanıcıları değiştirebiliyorken, artık aynı Kullanıcı Yöneticisi Microsoft Graph PowerShell'e bağlanırsa Genel Yöneticinin açık izni olmadan herhangi bir görevi gerçekleştiremez. . Ayrıcalıklı kullanıcılara kolaylık sağlamak amacıyla Genel Yönetici izinlerinin atanmasını istemezsiniz; uygun ve etkili bir çözümün mevcut olmasını sağlamak Genel Yönetici olarak size kalmıştır.

İzinlerin atanmadan önce dikkatli bir şekilde gözden geçirilmesine olanak tanıyan, etkili bir izin onay onay akışına sahip olduğunuzdan emin olmak için biraz zaman ve çaba harcamanız gerekir.

Microsoft Graph PowerShell'i kullanmak için özel hesaplar kullanın

Microsoft Graph, PowerShell SDK'sı ve aşırı çalışan yöneticilerle birleştiğinde güçlü bir araçtır ve uygun şekilde güvenliği sağlanmadığı takdirde tehlikeli bir araç da olabilir.

Microsoft Graph PowerShell ile çalışırken özel bir kullanıcı hesabı kullanın ve ardından bu hesabı doğrudan Microsoft Graph PowerShell'e bağlanırken kimlik doğrulaması yaptığınız Hizmet Sorumlusuna atayın.

Bu adım aşırı görünebilir, ancak kuruluşunuzdaki bir hesap ihlal edildiğinde, bir saldırganın sızabilecekleri şeyleri sıralamaya çalışmasının ilk ve en hızlı yolu kod kullanmak ve büyük olasılıkla Microsoft Graph kullanmaktır.

Özel bir hesap kullanmak kuruluşunuza aşağıdakiler gibi çok sayıda güvenlik avantajı sağlar:

  • Konum tabanlı erişim, oturum politikaları ve daha güçlü kimlik doğrulama gibi gelişmiş güvenlikle 'Tüm bulut uygulamaları'nı seçerek Koşullu Erişim ile güvenlik sağlama yeteneği.
  • Microsoft Graph PowerShell'i kimlerin kullanabileceğini kolayca yönetmek için hizmet sorumlunuza doğrudan atama kullanmanıza olanak tanır.
  • Hesap yalnızca söz konusu belirli görev için kullanıldığından ihlal olasılığının sınırlandırılması.
  • ve daha fazlası!

HTTP isteklerinin nasıl çalıştığını öğrenin

Microsoft Graph PowerShell modüllerini kullanarak her komut çalıştırdığınızda, çalıştırdığınız komuta bağlı olarak GET, POST, PUT, PATCH veya DELETE yöntemini kullanarak Graph API'sine bir HTTP isteği gönderilir.

Bu HTTP isteklerinin otomatik olarak gerçekleştiğini göstermek için, istenen HTTP URL'sini göstermek üzere -debug parametresini kullanabilirsiniz; örneğin, burada Get-MgUser'i çalıştırıyorum. b> kuruluşumdaki tüm kullanıcıların listesini almak için cmdlet'i kullanıyorum.

Hemen konsol penceresinde bazı hata ayıklama içeriği aldığımızı görebilirsiniz. Mutlak Uri'ye dikkat edin; bu, Microsoft Graph'a gönderilen HTTP isteğinin aynısıdır. HTTP Yöntemi ayrıca biz bilgi alırken veya indirirken GET ifadesini de gösterir.

Belirli bir kullanıcı için bilgi aldığım başka bir örnek. Mutlak Uri'nin, tüm kullanıcılar için bilgileri aldığım yerden farklı olduğuna dikkat edin; artık URL'de istediğimiz belirli kullanıcıyı gösteriyor.

Temel olarak her komutun belirli HTTP istekleriyle ilgili olduğunu bilerek, komut dosyalarında hata ayıklarken, belgeleri okurken ve izinleri belirlerken daha iyi bir deneyime sahip olacaksınız.

Tarayıcı geliştirici araçlarınız doğru komutu bulmanız için arkadaşınızdır

Hiç PowerShell kullanarak ortamınızda değişiklik yapmanız gereken ancak hangi komutu çalıştıracağınız veya yükünüzü nasıl biçimlendireceğiniz konusunda belgelerde net olmayan bir durumla karşılaştınız mı? Favori web tarayıcınızdaki yerleşik geliştirici araçları size yardımcı olur. sen bu sorunu çöz.

Örneğin, kuruluşumdaki standart kullanıcıların Microsoft Entra ID'ye yeni cihazlar eklemesini engellemek istiyorum ancak görevin komutu, kullanılabilen binlerce komuttan biri olabilir.

Microsoft Entra yönetim merkezi aracılığıyla istenilen değişikliği yaparak bu araştırma sürecini basitleştirebilirim ve ardından tarayıcımda açık olan ağ geliştirici araçlarıyla hangi isteğin yapıldığını görebilirim.

Bu örnekte aşağıdaki talepte bulunulmaktadır:

  • URI: https://graph.microsoft.com/beta/policies/deviceRegistrationPolicy
  • Yöntem: PUT

Artık bu bilgiye sahibiz; eşdeğer PowerShell komutunu bulmanın en hızlı yolu, URI'yi Google Aramanıza yapıştırmak ve API için ilgili Microsoft Learn belgelerini bulmaktır:

Çoğu durumda Microsoft, PowerShell örneklerini kullanıma sunacaktır:

Nerede bulacağınızı bildiğiniz zaman izinler kolaydır

Microsoft Graph PowerShell ile çalışırken yeni adlandırma kuralı, yeni ve sınırlı yetenekler ve yanıtların yapısı gibi bazı ek zorluklar kesinlikle vardır, ancak en önemli öğrenme eğrilerinden biri, daha önce hangi izinlere ihtiyacınız olduğunu bilmektir. bir komut dosyası çalıştırıyorsunuz.

Yanlış izinler kuruluşunuzu ek risklere açık bırakabileceğinden, komut dosyalarınızı çalıştırmak için gereken doğru izinleri nasıl ve nerede bulacağınızı öğrenmelisiniz.

İşte bir örnek: Bir kullanıcının, yardım masası görevlerinin bir parçası olarak kullanıcı özelliklerinde sürekli değişiklikler yapması ve hangi izinlerin ihtiyaçlarına en uygun olduğuna karar vermesi gerekir. Bu bilgiyi bulmak için aşağıdaki komutu çalıştırır:

(Find-MgGraphCommand Update-MgUser).permissions

Çıktı aşağıdakine benzer:

Name                                         IsAdmin Description                                                       FullDescription
----                                         ------- -----------                                                       ---------------
DeviceManagementApps.ReadWrite.All           True    Read and write Microsoft Intune apps                              Allows the app to read and write the properties, group assignments and status of apps, app configurations and app protection policies managed by Microsoft Intune.
DeviceManagementConfiguration.ReadWrite.All  True    Read and write Microsoft Intune Device Configuration and Policies Allows the app to read and write properties of Microsoft Intune-managed device configuration and device compliance policies and their assignment to groups.
DeviceManagementManagedDevices.ReadWrite.All True    Read and write Microsoft Intune devices                           Allows the app to read and write the properties of devices managed by Microsoft Intune. Does not allow high impact operations such as remote wipe and password reset on the device’s owner.
DeviceManagementServiceConfig.ReadWrite.All  True    Read and write Microsoft Intune configuration                     Allows the app to read and write Microsoft Intune service properties including device enrollment and third party service connection configuration.
Directory.ReadWrite.All                      True    Read and write directory data                                     Allows the app to read and write data in your organization's directory, such as other users, groups.  It does not allow the app to delete users or groups, or reset user passwords.
User.EnableDisableAccount.All                True    Enable and disable user accounts                                  Allows the app to enable and disable users' accounts, on your behalf.
User.ManageIdentities.All                    True    Manage  user identities                                           Allows the app to read, update and delete identities that are associated with a user's account that you have access to. This controls the identities users can sign-in with.
User.ReadWrite                               False   Read and update your profile                                      Allows the app to read your profile, and discover your group membership, reports and manager. It also allows the app to update your profile information on your behalf.
User.ReadWrite.All                           False   Read and write all users' full profiles                           Allows the app to read and update user profiles without a signed in user.

Tüm izinler en azından bazı kullanıcı özelliklerinin güncellenmesine izin verirken, diğerleri yalnızca kullanıcı özelliklerinin değiştirilmesinden daha fazlasına da izin verir. Burada seçilecek doğru izin User.ReadWrite.All'dır. Bunun yerine Directory.ReadWrite.All izni seçilirse, görev aşırı ayrıcalıklı hale gelir ve bu da kazara veri kaybına veya verinin kötüye kullanılmasına neden olabilir.

Microsoft Graph Explorer web aracını kullanmak, okuma iznine yönelik daha dostane bir yaklaşımdır. Bu araç ile çalıştırdığınız komut için kod örneklerini ve gerekli izinleri arayabilirsiniz. PowerShell'i kullanırken az önce gördüğünüz bilgilerin aynısını bulmak için İzinleri değiştirin sekmesini kullanın.

İlgili makaleler