Aracılığıyla paylaş


PowerShell kullanarak tek bir role sahip bir uygulama için yetkilendirme yönetiminde erişim paketi oluşturma

Microsoft Entra yetkilendirme yönetiminde erişim paketi, kullanıcıların bir veya daha fazla kaynak rolü için atamaları nasıl edinebileceğine ilişkin ilkeleri kapsar. Kaynaklar grupları, uygulamaları ve SharePoint Online sitelerini içerebilir.

Bu makalede, Microsoft Graph PowerShell kullanılarak tek bir role sahip tek bir uygulama için nasıl erişim paketi oluşturulacağı açıklanır. Bu senaryo öncelikli olarak belirli bir iş veya ara yazılım uygulaması için sürekli erişimi otomatikleştirmek için yetkilendirme yönetimi kullanan ortamlar için geçerlidir. Birden çok kaynağı veya birden çok rolü olan kaynakları olan bir kuruluş, erişim ilkelerini erişim paketleriyle de modelleyebilir:

Önkoşullar

Bu özelliği kullanmak için Microsoft Entra Kimlik Yönetimi veya Microsoft Entra Suite lisansları gerekir. Gereksinimleriniz için doğru lisansı bulmak için bkz. lisanslamayla ilgili temel bilgileri Microsoft Entra Kimlik Yönetimi.

Erişim paketini oluşturmaya başlamadan önce uygulamayı Microsoft Entra Id ile tümleştirmeniz gerekir. Uygulamanız Microsoft Entra Id kiracınızda zaten yoksa, nesne için bir uygulama ve hizmet sorumlusu oluşturmak için bu makaledeki yönergeleri izleyin. Ayrıca, Kimlik yönetimi için Microsoft Entra Id'yi yapılandırmadan önce Microsoft Entra ID kiracınızın önkoşulları karşıladığından emin olun.

Erişim paketini ve ilişkili ilkeleriyle atamalarını oluşturmak için aşağıdaki bilgilerin hazır olması gerekir:

Kullanım örneği Yapılandırma ayarı PowerShell değişkeni
Tümü Microsoft Entra Id kiracınızdaki uygulamanın adı $servicePrincipalName
Tümü Uygulama rolünün adı $servicePrincipalRoleName
Tümü Erişim paketini içeren kataloğun adı $catalogName
Tümü Erişim paketini vermek için ad $accessPackageName
Tümü Erişim paketine vermek için açıklama $accessPackageDescription
Uyumsuz erişim paketiyle görev ayrımı gereksinimi uyumsuz erişim paketinin kimliği $incompatibleAccessPackageId (gerekirse)
Henüz atamaları olmayan ve otomatik olarak atanmayan kullanıcılar kullanıcı listesi $inputpath (gerekirse)
Belirli özniteliklere sahip kullanıcıların atamaları otomatik olarak vardır kapsamdaki kullanıcılar için sorgu ifadesi $autoAssignmentPolicyFilter (gerekirse)
Ödevi olmayan kullanıcıların ödev istemesine izin ver talepte bulunabilecek kullanıcıların kapsamı, onaylayanlar ve erişim gözden geçirme dönemi gereksinimlere bağlıdır
Yaşam döngüsü iş akışlarında iş akışlarını birleştirme veya bırakma temelinde atamaların oluşturulmasını veya kaldırılmasını otomatikleştirme erişim veren ve kaldıran iş akışlarının adları gereksinimlere bağlıdır

Microsoft Entra Id kimlik doğrulaması

Bu bölümde, Microsoft Graph PowerShell cmdlet'lerini kullanarak Microsoft Entra Kimlik Yönetimi ile nasıl etkileşim kuracakları gösterilmektedir.

Kuruluşunuz bu senaryo için bu cmdlet'leri ilk kez kullandığında, Microsoft Graph PowerShell'in kiracınızda kullanılmasına izin vermek için Genel Yönetici rolünde olmanız gerekir. Sonraki etkileşimler aşağıdakiler gibi daha düşük ayrıcalıklı bir rol kullanabilir:

  1. PowerShell’i açın.

  2. Microsoft Graph PowerShell modülleri henüz yüklü değilse, şu komutu kullanarak modülü ve diğerlerini yükleyinMicrosoft.Graph.Identity.Governance:

    Install-Module Microsoft.Graph
    

    Modülleri zaten yüklediyseniz son sürümü kullandığınızdan emin olun:

    Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
    
  3. Microsoft Entra Id'ye bağlanın:

    $msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
    
  4. Bu komutu ilk kez kullanıyorsanız, Microsoft Graph Komut Satırı araçlarının bu izinlere sahip olmasını onaylamanız gerekebilir.

Microsoft Entra yetkilendirme yönetiminde katalog oluşturma

Varsayılan olarak, bir yönetici yetkilendirme yönetimiyle ilk etkileşim kurduğunda, varsayılan katalog otomatik olarak oluşturulur. Ancak, yönetilen uygulamalar için erişim paketleri belirlenmiş bir katalogda olmalıdır.

  1. Kataloğun adını belirtin.

    $catalogName = "Business applications"
    
  2. Uygulama idare senaryonuz için zaten bir kataloğunuz varsa, bu bölümün 4. adımında devam edin.

  3. Uygulama idare senaryonuz için henüz bir kataloğunuz yoksa bir katalog oluşturun.

    $catalog = New-MgEntitlementManagementCatalog -DisplayName $catalogName
    
  4. Kataloğun kimliğini arayın.

    $catalogFilter = "displayName eq '" + $catalogName + "'"
    $catalog = Get-MgEntitlementManagementCatalog -Filter $catalogFilter -All -expandProperty resources,accessPackages
    if ($catalog -eq $null) { throw "catalog $catalogName not found" }
    $catalogId = $catalog.Id
    

Uygulamayı kataloğa kaynak olarak ekleme

Katalog oluşturulduktan sonra, uygulamayı bu kataloğa kaynak olarak ekleyin.

  1. Uygulamanın adını ve uygulama rolünün adını belirtin. değerini servicePrincipalNameolarak uygulamanızın adını kullanın.

    $servicePrincipalName = "SAP Cloud Identity Services"
    $servicePrincipalRoleName = "User"
    
  2. Uygulama hizmet sorumlusunun kimliğini arayın.

    $servicePrincipalFilter = "displayName eq '" + $applicationName + "'"
    $servicePrincipal = Get-MgServicePrincipal -Filter $servicePrincipalFilter -all
    if ($servicePrincipal -eq $null) { throw "service principal $servicePrincipalName not found" }
    $servicePrincipalId = $servicePrincipal.Id
    
  3. Uygulamanın katalogda kaynak olarak zaten mevcut olup olmadığını denetleyin. Zaten varsa, bu bölümün 6. adımında devam edin.

    $resourceId = $null
    foreach ($r in $catalog.Resources) { if ($r.OriginId -eq $servicePrincipalId) { $resourceId = $r.id; break } }
    if ($resourceId -ne $null) { write-output "resource already in catalog" } else {write-output "resource not yet in catalog"}
    
  4. Uygulamanın hizmet sorumlusunu kataloğa kaynak olarak ekleyin.

    $resourceAddParams = @{
      requestType = "adminAdd"
      resource = @{
        originId = $servicePrincipalId
        originSystem = "AadApplication"
      }
      catalog = @{ id = $catalogId }
    }
    
    $resourceAdd = New-MgEntitlementManagementResourceRequest -BodyParameter $resourceAddParams
    if ($resourceAdd -eq $null) { throw "resource could not be added" }
    sleep 5
    
  5. Bu katalogdaki kaynağın kimliğini ve kapsamını alın.

    $resource = $null
    $resourceId = $null
    $resourceScope = $null
    $catalogResources = Get-MgEntitlementManagementCatalogResource -AccessPackageCatalogId $CatalogId -ExpandProperty "scopes" -all
    
    foreach ($r in $catalogResources) { if ($r.OriginId -eq $servicePrincipalId) { $resource = $r; $resourceId = $r.id; $resourceScope = $r.Scopes[0]; break } }
    if ($resourceId -eq $null) { throw "resource was not added" }
    
  6. Uygulamanın rollerini alın.

    $resourceRoleFilter = "(originSystem eq 'AadApplication' and resource/id eq '" + $resourceId + "')"
    $resourceRoles = @(get-mgentitlementmanagementcatalogresourcerole  -AccessPackageCatalogId $catalogId -Filter $resourceRoleFilter -All -ExpandProperty "resource")
    if ($resourceRoles -eq $null -or $resourceRoles.count -eq 0) { throw "no roles available" }
    
  7. Erişim paketine eklenecek rolü seçin.

    $resourceRole = $null
    foreach ($r in $resourceRoles) { if ($r.DisplayName -eq $servicePrincipalRoleName) { $resourceRole = $r; break; } }
    if ($resourceRole -eq $null) { throw "role $servicePrincipalRoleName not located" }
    

Uygulama için erişim paketini oluşturma

Ardından PowerShell'i kullanarak uygulamanın rolünü içeren bir katalogda erişim paketi oluşturacaksınız.

  1. Erişim paketinin adını ve açıklamasını belirtin.

    $accessPackageName = "SAP Cloud Identity Services"
    $accessPackageDescription = "A user of SAP Cloud Identity Services"
    $accessPackageHidden = $true
    
  2. Erişim paketinin mevcut olup olmadığını denetleyin.

    foreach ($a in $catalog.AccessPackages) { if ($a.DisplayName -eq $accessPackageName) { throw "access package $accessPackageName already exists" } }
    
  3. Erişim paketini oluşturun.

    $accessPackageParams = @{
        displayName = $accessPackageName
        description = $accessPackageDescription
        isHidden = $accessPackageHidden
        catalog = @{
            id = $catalog.id
        }
    }
    $accessPackage = New-MgEntitlementManagementAccessPackage -BodyParameter $accessPackageParams
    $accessPackageId = $accessPackage.Id
    

Uygulama rolünü erişim paketine ekleme

Bir erişim paketi oluşturduktan sonra, katalogdaki kaynağın rolünü erişim paketine bağlarsınız.

$rrsParams = @{
 role = @{
     id =  $resourceRole.Id
     displayName =  $resourceRole.DisplayName
     description =  $resourceRole.Description
     originSystem =  $resourceRole.OriginSystem
     originId =  $resourceRole.OriginId
     resource = @{
         id = $resource.Id
         originId = $resource.OriginId
         originSystem = $resource.OriginSystem
     }
 }
 scope = @{
     id = $resourceScope.Id
     originId = $resourceScope.OriginId
     originSystem = $resourceScope.OriginSystem
 }
}

$roleAddRes = New-MgEntitlementManagementAccessPackageResourceRoleScope -AccessPackageId $accessPackageId -BodyParameter $rrsParams

Doğrudan atama için erişim paketi atama ilkeleri oluşturma

Bu bölümde, erişim paketinde, uygulamaya zaten erişimi olan kullanıcıları izlemek için kullanılabilecek, doğrudan atama için bir erişim paketi atama ilkesi olan ilk erişim paketi atama ilkesini oluşturacaksınız. Bu bölümde oluşturulan örnek ilkede, yalnızca yöneticiler veya erişim paketi atama yöneticileri erişim atayabilir, kullanıcılar erişimi süresiz olarak korur ve onay veya erişim gözden geçirmesi yoktur.

  1. İlke oluşturun.

    $policy1Name = "Direct assignment policy"
    $policy1Description = "policy for administrative assignment"
    
    $policy1params = @{
     displayName = $policy1Name
     description = $policy1Description
     allowedTargetScope = "notSpecified"
     specificAllowedTargets = @(
     )
     expiration = @{
         endDateTime = $null
         duration = $null
         type = "noExpiration"
     }
     requestorSettings = @{
         enableTargetsToSelfAddAccess = $true
         enableTargetsToSelfUpdateAccess = $false
         enableTargetsToSelfRemoveAccess = $true
         allowCustomAssignmentSchedule = $true
         enableOnBehalfRequestorsToAddAccess = $false
         enableOnBehalfRequestorsToUpdateAccess = $false
         enableOnBehalfRequestorsToRemoveAccess = $false
         onBehalfRequestors = @(
         )
     }
     requestApprovalSettings = @{
         isApprovalRequiredForAdd = $false
         isApprovalRequiredForUpdate = $false
         stages = @(
         )
     }
     accessPackage = @{
         id = $accessPackageId
     }
    }
    
    $policy1Res = New-MgEntitlementManagementAssignmentPolicy -BodyParameter $policy1params
    $directAssignmentPolicyId = $policy1Res.Id
    
    

Görev ayrımı kısıtlamalarını yapılandırma

Microsoft Entra yetkilendirme yönetimi, zaten başka bir atanmış erişim paketine veya atanmış bir grubun üyeliğine zaten atanmış olan bir kullanıcının erişim paketi istemesini önlemek için görev ayrımı denetimlerini zorunlu kılabilir.

Bu uygulama için görev ayrımı gereksinimleriniz yoksa sonraki bölümde devam edin.

Görev ayrımı gereksinimleriniz varsa, erişim paketiniz için uyumsuz erişim paketlerini veya mevcut grupları yapılandırın.

Başka bir kullanıcıyla uyumsuz olarak işaretlenecek her erişim paketi için, PowerShell erişim paketlerini uyumsuz olarak yapılandırabilirsiniz.

  1. Bu paketle uyumlu olmayan diğer erişim paketini belirtin. değerini incompatibleAccessPackageId Microsoft Entra yetkilendirme yönetimindeki başka bir erişim paketinin kimliğiyle değiştirin.

    $incompatibleAccessPackageId = "67cc7175-7a3d-4cb2-860f-4d9217ba96ca"
    
  2. Bu erişim paketinde uyumsuz başvuru oluşturun.

    $incompatible1params = @{
     "@odata.id" = "https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/accessPackages/" + $incompatibleAccessPackageId
    }
    New-MgEntitlementManagementAccessPackageIncompatibleAccessPackageByRef -AccessPackageId $accessPackageId -BodyParameter $incompatible1params
    
  3. Diğer erişim paketinde uyumsuz başvuru oluşturun.

    $incompatible2params = @{
     "@odata.id" = "https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/accessPackages/" + $accessPackageId
    }
    New-MgEntitlementManagementAccessPackageIncompatibleAccessPackageByRef -AccessPackageId $incompatibleAccessPackageId -BodyParameter $incompatible2params
    
  4. Diğer tüm erişim paketleri için yineleyin.

  5. Senaryonuz bir görev ayrımı denetimini geçersiz kılma özelliğini gerektiriyorsa, bu geçersiz kılma senaryoları için ek erişim paketleri de ayarlayabilirsiniz.

Uygulamaya zaten erişimi olan mevcut kullanıcıların atamalarını ekleme

Uygulamaya zaten erişimi olan mevcut kullanıcıların atamalarını erişim paketine ve doğrudan atama ilkesine ekleyin. Her kullanıcıyı doğrudan bir erişim paketine atayabilirsiniz.

  1. Mevcut uygulama rolü atamalarını alın.

    $existingAppRoleAssignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $servicePrincipalId -All)
    
  2. Yinelenen atamalar oluşturmamak için erişim paketine var olan atamaları alın.

    $existingAssignments1filter = "accessPackage/id eq '" + $accessPackageId + "' and state eq 'Delivered'"
    $existingassignments1 = @(Get-MgEntitlementManagementAssignment -Filter $existingAssignments1filter -ExpandProperty target -All -ErrorAction Stop)
    $existingusers1 = @()
    foreach ($a in $existingassignments1) { $existingusers1 += $a.Target.ObjectId}
    
  3. Yeni atamalar oluşturun.

    foreach ($ar in $existingAppRoleAssignments) {
     if ($ar.principalType -ne "User") {
       write-warning "non-user assigned to application role"
     }
     $arpid = $ar.principalId
     if ($existingusers1.contains($arpId)) { continue }
    
     $params = @{
       requestType = "adminAdd"
       assignment = @{
          targetId = $arpId
          assignmentPolicyId = $directAssignmentPolicyId
          accessPackageId = $accessPackageId
       }
     }
     try {
       New-MgEntitlementManagementAssignmentRequest -BodyParameter $params
     } catch {
       write-error "cannot create request for user $upn"
     }
    }
    

Uygulamaya erişimi olması gereken ek kullanıcılar için atama ekleme

Bu betik, uygulamaya erişebilmeleri için ek kullanıcılara atama eklemek üzere Microsoft Graph PowerShell cmdlet'lerinin kullanılmasını gösterir. Erişime ihtiyacı olan ve otomatik olarak almayacak kullanıcılarınız yoksa sonraki bölümde devam edin.

Bu betik, UserPrincipalNamebu kullanıcıları doğrudan atama ilkesi aracılığıyla erişim paketine atamak için bir sütun içeren bir giriş CSV dosyanız olduğunu varsayar.

  1. Giriş dosyasının adını belirtin.

    $inputpath = "users.csv"
    
  2. Yinelenen atamalar oluşturmamak için erişim paketine var olan atamaları alın.

    $existingAssignments2filter = "accessPackage/id eq '" + $accessPackageId + "' and state eq 'Delivered'"
    $existingassignments2 = @(Get-MgEntitlementManagementAssignment -Filter $existingAssignments2filter -ExpandProperty target -All -ErrorAction Stop)
    $existingusers2 = @()
    foreach ($a in $existingassignments2) { $existingusers2 += $a.Target.ObjectId}
    
  3. Yeni atamalar oluşturun.

    $users = import-csv -Path $inputpath
    foreach ($userrecord in $users) {
       $upn = $userrecord.UserPrincipalName
       if ($null -eq $upn) {throw "no UserPrincipalName" }
       $u = $null
       try {
          $u = Get-MgUser -UserId $upn
       } catch {
          write-error "no user $upn"
       }
       if ($u -eq $null) { continue }
       if ($existingusers2.contains($u.Id)) { continue }
    
       $params = @{
          requestType = "adminAdd"
          assignment = @{
             targetId = $u.Id
             assignmentPolicyId = $directAssignmentPolicyId
             accessPackageId = $accessPackageId
          }
       }
       try {
          New-MgEntitlementManagementAssignmentRequest -BodyParameter $params
       } catch {
          write-error "cannot create request for user $upn"
       }
    }
    

Otomatik atama için erişim paketlerine ilke ekleme

Kuruluşunuzun uygulamaya kimlere erişim atanabileceğine ilişkin ilkesi, bu özniteliklere göre erişimi otomatik olarak atamak ve kaldırmak için kullanıcının özniteliklerine dayalı bir kural içeriyorsa, bunu otomatik atama ilkesi kullanarak temsil edebilirsiniz. Erişim paketinde en fazla bir otomatik atama ilkesi olabilir. Otomatik atama gereksiniminiz yoksa sonraki bölümde devam edin.

  1. Kullanıcıların atama alması için otomatik atama filtresi ifadesini belirtin. değerini autoAssignmentPolicyFilter , Microsoft Entra Id'nizdeki kapsam dahilindeki kullanıcılar için bir filtre olacak şekilde değiştirin. Söz dizimi ve izin verilen öznitelikler, Microsoft Entra Id'deki dinamik üyelik gruplarına yönelik kurallarda sağlanır.

    $autoAssignmentPolicyFilter = '(user.city -eq "Redmond")'
    
  2. Erişim paketinde otomatik atama ilkesi oluşturmak için PowerShell'i kullanın.

    $policy2Name = "Automatic assignment policy"
    $policy2Description = "policy for automatic assignment"
    
    $policy2Params = @{
     DisplayName = $policy2Name
     Description = $policy2Description
     AllowedTargetScope = "specificDirectoryUsers"
     SpecificAllowedTargets = @( @{
         "@odata.type" = "#microsoft.graph.attributeRuleMembers"
         description = $policy2Description
         membershipRule = $autoAssignmentPolicyFilter
     } )
     AutomaticRequestSettings = @{
         RequestAccessForAllowedTargets = $true
     }
     AccessPackage = @{
       Id = $accessPackageId
     }
    }
    New-MgEntitlementManagementAssignmentPolicy -BodyParameter $policy2Params
    

Kullanıcıların erişim istemesine izin vermek için ek ilkeler oluşturma

Henüz erişimi olmayan kullanıcıların uygulamaya atanma isteğinde bulunmalarına izin veriliyorsa, kullanıcıların erişim paketi istemesine izin vermek için bir erişim paketi atama ilkesi de yapılandırabilirsiniz. Erişim paketine ek ilkeler ekleyebilir ve her ilkede hangi kullanıcıların istekte bulunabileceğini ve kimlerin onaylaması gerektiğini belirtebilirsiniz. Yalnızca kullanıcıların otomatik olarak veya yönetici tarafından erişim atamasını istiyorsanız, sonraki bölümde devam edin.

Daha fazla örnek için bkz. PowerShell aracılığıyla atama ilkesi oluşturma, accessPackageAssignmentPolicy ve Create an assignmentPolicy.

  1. İlkenin adını, açıklamasını ve onaylayan bir Microsoft Entra kullanıcısının kimliğini belirtin.

    $policy3Name = "example policy"
    $policy3Description = "example of a policy for users to request assignment"
    $policy3ApproverSingleUserId = "1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5"
    
  2. İlkeyi oluşturun.

    $policy3Params = @{
     displayName = $policy3Name
     description = $policy3Description
     allowedTargetScope = "allMemberUsers"
     expiration = @{
         type = "noExpiration"
     }
     requestorSettings = @{
         enableTargetsToSelfAddAccess = "true"
         enableTargetsToSelfUpdateAccess = "true"
         enableTargetsToSelfRemoveAccess = "true"
     }
     requestApprovalSettings = @{
         isApprovalRequiredForAdd = "true"
         isApprovalRequiredForUpdate = "true"
         stages = @(
             @{
                 durationBeforeAutomaticDenial = "P7D"
                 isApproverJustificationRequired = "false"
                 isEscalationEnabled = "false"
                 fallbackPrimaryApprovers = @(
                 )
                 escalationApprovers = @(
                 )
                 fallbackEscalationApprovers = @(
                 )
                 primaryApprovers = @(
                     @{
                         "@odata.type" = "#microsoft.graph.singleUser"
                         userId = $policy3ApproverSingleUserId
                     }
                 )
             }
         )
     }
     accessPackage = @{
         id = $accessPackageId
     }
    }
    
    New-MgEntitlementManagementAssignmentPolicy -BodyParameter $policy3Params
    

Yaşam döngüsü iş akışları görevlerini yapılandırma

Çalışan katılımı için Microsoft Entra yaşam döngüsü iş akışlarını kullanıyorsanız, izin olaylarını taşıyın; bu erişim paketine atama eklemek veya kaldırmak için bu iş akışlarına görevler de ekleyebilirsiniz. Yaşam döngüsü iş akışlarını kullanmıyorsanız sonraki bölümde devam edin.

Bu örnekte, olay iş akışlarına katılma ve bırakma işlemlerinde nasıl değişiklik yapabileceğiniz gösterilmektedir.

  1. joiner Get-MgIdentityGovernanceLifecycleWorkflow komutunu kullanarak kategori iş akışını ve onun görevlerini alın.

  2. Bu iş akışındaki görevlerin listesine bir görev ekleyin.

    Görev görünen adı taskDefinitionId Bağımsız değişken
    Kullanıcı erişim paketi ataması isteme c1ec1e76-f374-4375-aaa6-0bb6bd4c60be ad: assignmentPolicyId
    value: Kullanıcıya atamak istediğiniz erişim paketi için, onay gerekmiyorsa değerinin değeri gibi $directAssignmentPolicyId atama ilkesi kimliği.

    ad: accessPackageId
    değer: Kullanıcıya atamak istediğiniz erişim paketi için erişim paketi kimliği $accessPackageId.
  3. New-MgIdentityGovernanceLifecycleWorkflowNewVersion komutunu kullanarak yeni görev dahil olmak üzere iş akışının yeni bir sürümünü oluşturun.

  4. leaver Get-MgIdentityGovernanceLifecycleWorkflow komutunu kullanarak kategori iş akışını ve onun görevlerini alın.

  5. Bu iş akışındaki görevlerin listesine bir görev ekleyin.

    Görev görünen adı taskDefinitionId Bağımsız değişken
    Kullanıcı için erişim paketi atamasını kaldırma 4a0b64f2-c7ec-46ba-b117-18f262946c50 ad: accessPackageId
    değer: Kullanıcıdan atamasını kaldırmak istediğiniz erişim paketi için geçerli bir erişim paketi kimliği accessPackageId .
  6. New-MgIdentityGovernanceLifecycleWorkflowNewVersion komutunu kullanarak yeni görev dahil olmak üzere iş akışının yeni bir sürümünü oluşturun.

Atamaları yönetme

Erişim paketleri, ilkeler ve ilk atamalar oluşturulduktan sonra kullanıcılara uygulamanın rolüne erişim atanır.

Daha sonra, atamalarda yapılan değişiklikleri izleyebilir veya program aracılığıyla atama ekleyebilir veya kaldırabilirsiniz.

Mevcut atamaları alma

Bu betik, durumundaki Deliverederişim paketine atamaları almak için filtre kullanmayı gösterir. Betik, atamaları olan kullanıcıların listesini içeren ve atama başına bir satır içeren bir CSV dosyası assignments.csv oluşturur.

$assignmentFilter = "accessPackage/id eq '" + $accessPackageId + "' and state eq 'Delivered'"
$assignments = @(Get-MgEntitlementManagementAssignment -Filter $assignmentFilter -ExpandProperty target -All -ErrorAction Stop)
$sp = $assignments | select-object -Property Id,{$_.Target.id},{$_.Target.ObjectId},{$_.Target.DisplayName},{$_.Target.PrincipalName}
$sp | Export-Csv -Encoding UTF8 -NoTypeInformation -Path ".\assignments.csv"

Atamayı kaldırma

Cmdlet'iyle kullanıcının atamasını New-MgEntitlementManagementAssignmentRequest kaldırabilirsiniz.

$userId = "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
$filter = "accessPackage/Id eq '" + $accessPackageId + "' and state eq 'Delivered' and target/objectId eq '" + $userId + "'"
$assignment = Get-MgEntitlementManagementAssignment -Filter $filter -ExpandProperty target -all -ErrorAction stop
if ($assignment -ne $null) {
   $params = @{
      requestType = "adminRemove"
      assignment = @{ id = $assignment.id }
   }
   New-MgEntitlementManagementAssignmentRequest -BodyParameter $params
}

Sonraki adımlar