Farklı kapsamlarda Microsoft Entra rolleri atama

Microsoft Entra Id'de genellikle Microsoft Entra rollerini kiracının tamamına uygulanacak şekilde atarsınız. Ancak, yönetim birimleri veya uygulama kayıtları gibi farklı kaynaklar için Microsoft Entra rollerini de atayabilirsiniz. Örneğin, Yardım Masası Yönetici istrator rolünü atayarak kiracının tamamına değil yalnızca belirli bir yönetim birimine uygulanabilmesini sağlayabilirsiniz. Rol atamasının uygulandığı kaynaklara kapsam da denir. Bu makalede kiracı, yönetim birimi ve uygulama kayıt kapsamlarında Microsoft Entra rollerinin nasıl atandığı açıklanır. Kapsam hakkında daha fazla bilgi için bkz . Microsoft Entra Id'de rol tabanlı erişim denetimine (RBAC) genel bakış.

Önkoşullar

  • Ayrıcalıklı Rol Yöneticisi veya Genel Yönetici.
  • PowerShell kullanılırken Microsoft Graph PowerShell SDK'sı yüklenir.
  • Microsoft Graph API için Graph Explorer kullanırken onay Yönetici.

Daha fazla bilgi için bkz . PowerShell veya Graph Explorer'ı kullanma önkoşulları.

Kapsamı kiracıya belirlenmiş roller atama

Bu bölümde, kiracı kapsamında rollerin nasıl atandığı açıklanmaktadır.

Microsoft Entra yönetim merkezi

İpucu

Bu makaledeki adımlar, başladığınız portala göre biraz değişiklik gösterebilir.

  1. En azından Ayrıcalıklı Rol Yönetici istrator olarak Microsoft Entra yönetim merkezinde oturum açın.

  2. Kimlik>Rolleri ve yöneticiler>Rolleri ve yöneticiler'e göz atın.

    Roles and administrators page in Microsoft Entra ID.

  3. Atamalarını görmek için bir rol seçin. İhtiyacınız olan rolü bulmanıza yardımcı olmak için, Rolleri filtrelemek için Filtre ekle'yi kullanın.

  4. Atama ekle'yi ve ardından bu role atamak istediğiniz kullanıcıları seçin.

    Add assignments pane for selected role.

  5. Rolü atamak için Ekle'yi seçin.

PowerShell

PowerShell kullanarak Microsoft Entra rollerini atamak için bu adımları izleyin.

  1. PowerShell penceresini açın. Gerekirse, Microsoft Graph PowerShell'i yüklemek için Install-Module kullanın. Daha fazla bilgi için bkz . PowerShell veya Graph Explorer'ı kullanma önkoşulları.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
  2. PowerShell penceresinde, kiracınızda oturum açmak için Bağlan-MgGraph kullanın.

    Connect-MgGraph -Scopes "RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
    
  3. Kullanıcıyı almak için Get-MgUser kullanın.

    $user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
    
  4. Atamak istediğiniz rolü almak için Get-MgRoleManagementDirectoryRoleDefinition komutunu kullanın.

    $roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "displayName eq 'Billing Administrator'"
    
  5. Kiracıyı rol atamasının kapsamı olarak ayarlayın.

    $directoryScope = '/'
    
  6. Rolü atamak için New-MgRoleManagementDirectoryRoleAssignment komutunu kullanın.

    $roleAssignment = New-MgRoleManagementDirectoryRoleAssignment `
       -DirectoryScopeId $directoryScope -PrincipalId $user.Id `
       -RoleDefinitionId $roleDefinition.Id
    

Microsoft Graph API

Graph Explorer'da Microsoft Graph API'sini kullanarak rol atamak için bu yönergeleri izleyin.

  1. Grafik Gezgini'nde oturum açın.

  2. Kullanıcıyı almak için Liste kullanıcıları API'sini kullanın.

    GET https://graph.microsoft.com/v1.0/users?$filter=userPrincipalName eq 'alice@contoso.com'
    
  3. Atamak istediğiniz rolü almak için List unifiedRoleDefinitions API'sini kullanın.

    GET https://graph.microsoft.com/v1.0/rolemanagement/directory/roleDefinitions?$filter=displayName eq 'Billing Administrator'
    
  4. Rolü atamak için UnifiedRoleAssignment API'sini oluşturun.

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "principalId": "<provide objectId of the user obtained above>",
        "roleDefinitionId": "<provide templateId of the role obtained above>",
        "directoryScopeId": "/"
    }
    

Kapsamı yönetim birimi olan rolleri atama

Bu bölümde, bir yönetim birimi kapsamında rollerin nasıl atandığı açıklanmaktadır.

Microsoft Entra yönetim merkezi

  1. En azından Ayrıcalıklı Rol Yönetici istrator olarak Microsoft Entra yönetim merkezinde oturum açın.

  2. Kimlik>Rolleri ve yöneticiler> Yönetici birimlerine göz atın.

  3. Bir yönetim birimi seçin.

    Administrative Units in Microsoft Entra ID.

  4. Yönetim birimi üzerinden atanabilecek tüm rollerin listesini görmek için sol gezinti menüsünden Roller ve yöneticiler'i seçin.

    Roles and administrators menu under administrative Units in Microsoft Entra ID.

  5. İstediğiniz rolü seçin.

  6. Atama ekle'yi seçin ve ardından bu rolü atamak istediğiniz kullanıcıları veya grubu seçin.

  7. Yönetim biriminin kapsamı belirlenmiş rolü atamak için Ekle'yi seçin.

Not

Microsoft Entra yerleşik veya özel rolleri listesinin tamamını burada görmezsiniz. Bu beklenen bir durumdur. Yönetim birimi içinde desteklenen nesnelerle ilgili izinlere sahip rolleri gösteririz. Bir yönetim biriminde desteklenen nesnelerin listesini görmek için bkz. Microsoft Entra Id'de Yönetici istrative units.

PowerShell

PowerShell kullanarak yönetim birimi kapsamında Microsoft Entra rollerini atamak için bu adımları izleyin.

  1. PowerShell penceresini açın. Gerekirse, Microsoft Graph PowerShell'i yüklemek için Install-Module kullanın. Daha fazla bilgi için bkz . PowerShell veya Graph Explorer'ı kullanma önkoşulları.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
  2. PowerShell penceresinde, kiracınızda oturum açmak için Bağlan-MgGraph kullanın.

    Connect-MgGraph -Scopes "Directory.Read.All","RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
    
  3. Kullanıcıyı almak için Get-MgUser kullanın.

    $user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
    
  4. Atamak istediğiniz rolü almak için Get-MgRoleManagementDirectoryRoleDefinition komutunu kullanın.

    $roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition `
       -Filter "displayName eq 'User Administrator'"
    
  5. Rol atamasının kapsamının olmasını istediğiniz yönetim birimini almak için Get-MgDirectory Yönetici istrativeUnit kullanın.

    $adminUnit = Get-MgDirectoryAdministrativeUnit -Filter "displayName eq 'Seattle Admin Unit'"
    $directoryScope = '/administrativeUnits/' + $adminUnit.Id
    
  6. Rolü atamak için New-MgRoleManagementDirectoryRoleAssignment komutunu kullanın.

    $roleAssignment = New-MgRoleManagementDirectoryRoleAssignment `
       -DirectoryScopeId $directoryScope -PrincipalId $user.Id `
       -RoleDefinitionId $roleDefinition.Id
    

Microsoft Graph API

Graph Gezgini'nde Microsoft Graph API'sini kullanarak yönetim birimi kapsamında rol atamak için bu yönergeleri izleyin.

  1. Grafik Gezgini'nde oturum açın.

  2. Kullanıcıyı almak için Liste kullanıcıları API'sini kullanın.

    GET https://graph.microsoft.com/v1.0/users?$filter=userPrincipalName eq 'alice@contoso.com'
    
  3. Atamak istediğiniz rolü almak için List unifiedRoleDefinitions API'sini kullanın.

    GET https://graph.microsoft.com/v1.0/rolemanagement/directory/roleDefinitions?$filter=displayName eq 'User Administrator'
    
  4. Rol atamasının kapsamının olmasını istediğiniz yönetim birimini almak için List administrativeUnits API'sini kullanın.

    GET https://graph.microsoft.com/v1.0/directory/administrativeUnits?$filter=displayName eq 'Seattle Admin Unit'
    
  5. Rolü atamak için UnifiedRoleAssignment API'sini oluşturun.

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "principalId": "<provide objectId of the user obtained above>",
        "roleDefinitionId": "<provide templateId of the role obtained above>",
        "directoryScopeId": "/administrativeUnits/<provide objectId of the admin unit obtained above>"
    }
    

Not

Burada directoryScopeId, /foo yerine /administrativeUnits/foo olarak belirtilir. Tasarım gereğidir. /administrativeUnits/foo kapsamı, sorumlunun yönetim biriminin kendisini değil yönetim biriminin üyelerini yönetebileceği anlamına gelir (atandığı role göre). /foo kapsamı, sorumlunun bu Microsoft Entra nesnesini yönetebileceği anlamına gelir. Sonraki bölümde kapsamı uygulama kaydı üzerinde belirlenmiş bir rol nesnenin kendisini yönetme ayrıcalığı sağladığından kapsamın /foo olduğunu göreceksiniz.

Uygulama kaydı kapsamında roller atama

Bu bölümde, uygulama kayıt kapsamında rollerin nasıl atandığı açıklanmaktadır.

Microsoft Entra yönetim merkezi

  1. En azından Ayrıcalıklı Rol Yönetici istrator olarak Microsoft Entra yönetim merkezinde oturum açın.

  2. Kimlik>Uygulamaları'na> göz atın Uygulama kayıtları.

  3. Bir uygulama seçin. İstediğiniz uygulamayı bulmak için arama kutusunu kullanabilirsiniz.

    App registrations in Microsoft Entra ID.

  4. Uygulama kaydı üzerinden atanabilecek tüm rollerin listesini görmek için sol gezinti menüsünden Roller ve yöneticiler'i seçin.

    Roles for an app registrations in Microsoft Entra ID.

  5. İstediğiniz rolü seçin.

  6. Atama ekle'yi seçin ve ardından bu rolü atamak istediğiniz kullanıcıları veya grubu seçin.

    Add role assignment scoped to an app registrations in Microsoft Entra ID.

  7. Uygulama kaydı kapsamındaki rolü atamak için Ekle'yi seçin.

    Successfully added role assignment scoped to an app registrations in Microsoft Entra ID.

    Role assigned to the user scoped to an app registrations in Microsoft Entra ID.

Not

Microsoft Entra yerleşik veya özel rolleri listesinin tamamını burada görmezsiniz. Bu beklenen bir durumdur. Yalnızca uygulama kayıtlarını yönetmeyle ilgili izinlere sahip rolleri gösteririz.

PowerShell

PowerShell kullanarak uygulama kapsamında Microsoft Entra rolleri atamak için bu adımları izleyin.

  1. PowerShell penceresini açın. Gerekirse, Microsoft Graph PowerShell'i yüklemek için Install-Module kullanın. Daha fazla bilgi için bkz . PowerShell veya Graph Explorer'ı kullanma önkoşulları.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
  2. PowerShell penceresinde, kiracınızda oturum açmak için Bağlan-MgGraph kullanın.

    Connect-MgGraph -Scopes "Application.Read.All","RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
    
  3. Kullanıcıyı almak için Get-MgUser kullanın.

    $user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
    
  4. Atamak istediğiniz rolü almak için Get-MgRoleManagementDirectoryRoleDefinition komutunu kullanın.

    $roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition `
       -Filter "displayName eq 'Application Administrator'"
    
  5. Rol atamasının kapsamının belirlenmiş olmasını istediğiniz uygulama kaydını almak için Get-MgApplication kullanın.

    $appRegistration = Get-MgApplication -Filter "displayName eq 'f/128 Filter Photos'"
    $directoryScope = '/' + $appRegistration.Id
    
  6. Rolü atamak için New-MgRoleManagementDirectoryRoleAssignment komutunu kullanın.

    $roleAssignment = New-MgRoleManagementDirectoryRoleAssignment `
       -DirectoryScopeId $directoryScope -PrincipalId $user.Id `
       -RoleDefinitionId $roleDefinition.Id 
    

Microsoft Graph API

Graph Gezgini'nde Microsoft Graph API'sini kullanarak uygulama kapsamında rol atamak için bu yönergeleri izleyin.

  1. Grafik Gezgini'nde oturum açın.

  2. Kullanıcıyı almak için Liste kullanıcıları API'sini kullanın.

    GET https://graph.microsoft.com/v1.0/users?$filter=userPrincipalName eq 'alice@contoso.com'
    
  3. Atamak istediğiniz rolü almak için List unifiedRoleDefinitions API'sini kullanın.

    GET https://graph.microsoft.com/v1.0/rolemanagement/directory/roleDefinitions?$filter=displayName eq 'Application Administrator'
    
  4. Rol atamasının kapsamının belirlenmiş olmasını istediğiniz yönetim birimini almak için Uygulamaları listeleme API'sini kullanın.

    GET https://graph.microsoft.com/v1.0/applications?$filter=displayName eq 'f/128 Filter Photos'
    
  5. Rolü atamak için UnifiedRoleAssignment API'sini oluşturun.

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "principalId": "<provide objectId of the user obtained above>",
        "roleDefinitionId": "<provide templateId of the role obtained above>",
        "directoryScopeId": "/<provide objectId of the app registration obtained above>"
    }
    

Not

Burada directoryScopeId yukarıdaki bölümden farklı olarak /foo olarak belirtilir. Tasarım gereğidir. /foo kapsamı, sorumlunun bu Microsoft Entra nesnesini yönetebileceği anlamına gelir. /administrativeUnits/foo kapsamı, sorumlunun yönetim biriminin kendisini değil yönetim biriminin üyelerini yönetebileceği anlamına gelir (atandığı role göre).

Sonraki adımlar