Vytvoření přístupového balíčku ve správě nároků pro aplikaci s jednou rolí pomocí PowerShellu
Ve správě nároků Microsoft Entra zahrnuje přístupový balíček zásady pro způsob, jakým mohou uživatelé získat přiřazení pro jednu nebo více rolí prostředků. Prostředky můžou zahrnovat skupiny, aplikace a weby SharePointu Online.
Tento článek popisuje, jak vytvořit přístupový balíček pro jednu aplikaci s jednou rolí pomocí Microsoft Graph PowerShellu. Tento scénář se primárně vztahuje na prostředí, která používají správu nároků pro automatizaci průběžného přístupu pro konkrétní obchodní nebo middlewarovou aplikaci. Na základě pokynů v tomto a dalších článcích můžete stavět pro složitější scénáře, jako je přístup k více aplikacím nebo přístup k aplikacím a dalším druhům prostředků. Organizace, která má více prostředků nebo prostředků s více rolemi, může také modelovat zásady přístupu pomocí přístupových balíčků:
- Pokud už organizace má pro své obchodní role existující organizační model rolí, může tento model migrovat do zásad správného řízení Microsoft Entra ID a řídit přístup pomocí modelu role organizace.
- Pokud má organizace aplikace s více rolemi, může nasadit zásady organizace pro řízení přístupu k aplikacím integrovaným s Microsoft Entra ID.
- Další informace o vytváření přístupových balíčků pro jiné scénáře najdete v kurzu : Správa přístupu k prostředkům ve správě nároků a postup vytvoření přístupového balíčku ve správě nároků.
Požadavky
Použití této funkce vyžaduje zásady správného řízení Microsoft Entra ID nebo licence sady Microsoft Entra Suite. Informace o tom, jak najít správnou licenci pro vaše požadavky, najdete v tématu Základy licencování zásad správného řízení microsoftu Entra ID.
Než začnete vytvářet přístupový balíček, musíte aplikaci integrovat s MICROSOFT Entra ID. Pokud vaše aplikace ještě není ve vašem tenantovi Microsoft Entra ID, postupujte podle pokynů v tomto článku a vytvořte pro objekt aplikaci a instanční objekt. Před konfigurací ID Microsoft Entra pro zásady správného řízení identit se také ujistěte, že váš tenant Microsoft Entra ID splňuje požadavky.
Pokud chcete vytvořit přístupový balíček a jeho přidružené zásady a přiřazení, budete muset mít připravené následující informace:
Případ použití | Nastavení konfigurace | Proměnná PowerShellu |
---|---|---|
Všechny | Název aplikace v tenantovi Microsoft Entra ID | $servicePrincipalName |
Všechny | Název role aplikace | $servicePrincipalRoleName |
Aplikace, které spoléhají na skupinu zabezpečení | ID skupiny zabezpečení Microsoft Entra používané aplikací, pokud existuje | $groupId |
Všechny | Název katalogu obsahujícího přístupový balíček | $catalogName |
Všechny | Název pro udělení přístupového balíčku | $accessPackageName |
Všechny | Popis udělení přístupového balíčku | $accessPackageDescription |
Oddělení požadavků na povinnosti s nekompatibilním přístupovým balíčkem | ID nekompatibilního přístupového balíčku |
$incompatibleAccessPackageId (v případě potřeby) |
Uživatelé, kteří ještě nemají přiřazení a nepřiřadili by se automaticky | seznam uživatelů |
$inputpath (v případě potřeby) |
Uživatelé s konkrétními atributy mají přiřazení automaticky | výraz dotazu pro uživatele v oboru |
$autoAssignmentPolicyFilter (v případě potřeby) |
Povolit uživatelům, kteří nemají přiřazení, aby požádali o přiřazení | rozsah uživatelů, kteří mohou požádat, schvalovatele a období kontroly přístupu | závisí na požadavcích. |
Automatizace vytváření nebo odebrání přiřazení na základě připojení nebo opuštění pracovních postupů v pracovních postupech životního cyklu | názvy pracovních postupů, které udělují a odebírat přístup | závisí na požadavcích. |
Ověření v Microsoft Entra ID
V této části se dozvíte, jak pracovat se zásadami správného řízení MICROSOFT Entra ID pomocí rutin Prostředí Microsoft Graph PowerShell .
Při prvním použití těchto rutin pro tento scénář musíte být v roli globálního správce, abyste povolili použití Prostředí Microsoft Graph PowerShell ve vašem tenantovi. Následné interakce můžou používat roli s nižšími oprávněními, například:
- Správce zásad správného řízení identit
Otevřete PowerShell.
Pokud ještě nemáte nainstalované moduly Microsoft Graph PowerShellu, nainstalujte modul
Microsoft.Graph.Identity.Governance
a další pomocí tohoto příkazu:Install-Module Microsoft.Graph
Pokud už máte nainstalované moduly, ujistěte se, že používáte nejnovější verzi:
Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
Připojte se k Microsoft Entra ID:
$msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
Pokud jste tento příkaz použili poprvé, možná budete muset udělit souhlas s povolením, aby tyto oprávnění měly nástroje příkazového řádku Microsoft Graphu.
Vytvoření katalogu ve správě nároků Microsoft Entra
Ve výchozím nastavení se při první interakci správce se správou nároků vytvoří automaticky výchozí katalog. Přístupové balíčky pro řízené aplikace by ale měly být v určeném katalogu.
Zadejte název katalogu.
$catalogName = "Business applications"
Pokud už máte katalog pro váš scénář zásad správného řízení aplikací, pokračujte v kroku 4 této části.
Pokud ještě nemáte katalog pro váš scénář zásad správného řízení aplikací, vytvořte katalog.
$catalog = New-MgEntitlementManagementCatalog -DisplayName $catalogName
Vyhledejte ID katalogu.
$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
Přidání aplikace jako prostředku do katalogu
Po vytvoření katalogu přidejte aplikaci jako prostředek v daném katalogu.
Zadejte název aplikace a název role aplikace. Jako hodnotu
servicePrincipalName
použijte název aplikace .$servicePrincipalName = "SAP Cloud Identity Services" $servicePrincipalRoleName = "User"
Vyhledejte ID instančního objektu aplikace.
$servicePrincipalFilter = "displayName eq '" + $applicationName + "'" $servicePrincipal = Get-MgServicePrincipal -Filter $servicePrincipalFilter -all if ($servicePrincipal -eq $null) { throw "service principal $servicePrincipalName not found" } $servicePrincipalId = $servicePrincipal.Id
Zkontrolujte, jestli už aplikace v katalogu existuje jako prostředek. Pokud už je k dispozici, pokračujte v kroku 6 této části.
$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"}
Přidejte instanční objekt aplikace jako prostředek do katalogu.
$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
Načtěte ID a rozsah prostředku v daném katalogu.
$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" }
Načtěte role aplikace.
$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" }
Vyberte roli, která bude zahrnuta v přístupovém balíčku.
$resourceRole = $null foreach ($r in $resourceRoles) { if ($r.DisplayName -eq $servicePrincipalRoleName) { $resourceRole = $r; break; } } if ($resourceRole -eq $null) { throw "role $servicePrincipalRoleName not located" }
Přidejte skupinu jako zdroj do katalogu
Pokud aplikace spoléhá na skupinu zabezpečení, přidejte ji do katalogu, aby ji bylo možné zahrnout jako prostředek. Pokud aplikace nespoléhá na skupinu zabezpečení, pokračujte v další části.
Zadejte ID skupiny. Jako hodnotu
servicePrincipalName
použijte ID vaší skupiny .$groupId = "7c2b967b-68c2-418a-a1c6-a3c7efb895a7"
Zkontrolujte, jestli už skupina v katalogu existuje jako zdroj. Pokud už je k dispozici, pokračujte v kroku 4 této části.
$groupResourceId = $null foreach ($r in $catalog.Resources) { if ($r.OriginId -eq $groupId) { $groupResourceId = $r.id; break } } if ($groupResourceId -ne $null) { write-output "resource for group already in catalog" } else {write-output "resource for group not yet in catalog"}
Přidejte skupinu jako prostředek do katalogu.
$groupResourceAddParams = @{ requestType = "adminAdd" resource = @{ originId = $groupId originSystem = "AadGroup" } catalog = @{ id = $catalogId } } $groupResourceAdd = New-MgEntitlementManagementResourceRequest -BodyParameter $groupResourceAddParams if ($groupResourceAdd -eq $null) { throw "group resource could not be added" } sleep 5
Načtěte ID a rozsah skupinového prostředku v tomto katalogu.
$groupResource = $null $groupResourceId = $null $groupResourceScope = $null $catalogResources = Get-MgEntitlementManagementCatalogResource -AccessPackageCatalogId $CatalogId -ExpandProperty "scopes" -all foreach ($r in $catalogResources) { if ($r.OriginId -eq $groupId) { $groupResource = $r; $groupResourceId = $r.id; $groupResourceScope = $r.Scopes[0]; break } } if ($groupResourceId -eq $null) { throw "resource was not added" }
Získejte roli
member
prostředku skupiny v daném katalogu.$grFilter = "(originSystem eq 'AadGroup' and resource/id eq '" + $groupResourceId + "')" $grrs = Get-MgEntitlementManagementCatalogResourceRole -AccessPackageCatalogId $CatalogId -Filter $grFilter -ExpandProperty "resource" $grMember = $grrs | where DisplayName -eq "Member"
Vytvoření přístupového balíčku pro aplikaci
Dále použijete PowerShell k vytvoření přístupového balíčku v katalogu , který zahrnuje roli aplikace.
Zadejte název a popis přístupového balíčku.
$accessPackageName = "SAP Cloud Identity Services" $accessPackageDescription = "A user of SAP Cloud Identity Services" $accessPackageHidden = $true
Zkontrolujte, jestli přístupový balíček ještě neexistuje.
foreach ($a in $catalog.AccessPackages) { if ($a.DisplayName -eq $accessPackageName) { throw "access package $accessPackageName already exists" } }
Vytvořte přístupový balíček.
$accessPackageParams = @{ displayName = $accessPackageName description = $accessPackageDescription isHidden = $accessPackageHidden catalog = @{ id = $catalog.id } } $accessPackage = New-MgEntitlementManagementAccessPackage -BodyParameter $accessPackageParams $accessPackageId = $accessPackage.Id
Přidání role aplikace do přístupového balíčku
Po vytvoření přístupového balíčku propojíte roli prostředku aplikace v katalogu s tímto přístupovým balíčkem.
$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
Přidání skupiny do přístupového balíčku
Pokud aplikace spoléhá na skupinu, propojíte členství ve skupině s přístupovým balíčkem. Pokud aplikace nespoléhá na skupinu, pokračujte v další části.
$grrsParams = @{
role = @{
displayName = "Member"
description = ""
originSystem = $grMember.OriginSystem
originId = $grMember.OriginId
resource = @{
id = $groupResource.Id
originId = $groupResource.OriginId
originSystem = $groupResource.OriginSystem
}
}
scope = @{
id = $groupResourceScope.Id
originId = $groupResourceScope.OriginId
originSystem = $groupResourceScope.OriginSystem
}
}
$groupRrsAddRes = New-MgEntitlementManagementAccessPackageResourceRoleScope -AccessPackageId $accessPackageId -BodyParameter $grrsParams
Vytvoření zásad přiřazení přístupového balíčku pro přímé přiřazení
V této části vytvoříte první zásadu přiřazení přístupového balíčku v přístupovém balíčku, zásadu přiřazení přístupového balíčku pro přímé přiřazení, která se dá použít ke sledování uživatelů, kteří už mají přístup k aplikaci. V ukázkové zásadě vytvořené v této části můžou přístup přiřadit pouze správci nebo správci přiřazení přístupových balíčků, uživatelé si zachovají přístup neomezeně dlouho a neexistují žádná schválení ani kontroly přístupu.
Vytvořte zásadu.
$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
Konfigurace omezení rozdělení povinností
Správa nároků Microsoft Entra může vynutit oddělení kontrol povinností , aby zabránilo uživateli, který již má stávající přiřazení k jinému určenému přístupovém balíčku nebo členství v určené skupině, v žádosti o přístupový balíček.
Pokud pro tuto aplikaci nemáte oddělené požadavky na povinnosti, pokračujte v další části.
Pokud máte oddělené požadavky na povinnosti, nakonfigurujte nekompatibilní přístupové balíčky nebo existující skupiny pro přístupový balíček.
Pro každý přístupový balíček, který má být označen jako nekompatibilní s jiným, můžete použít PowerShell ke konfiguraci přístupových balíčků jako nekompatibilní.
Zadejte druhý přístupový balíček, který není kompatibilní s tímto balíčkem. Změňte hodnotu
incompatibleAccessPackageId
na ID jiného přístupového balíčku ve správě nároků Microsoft Entra.$incompatibleAccessPackageId = "67cc7175-7a3d-4cb2-860f-4d9217ba96ca"
Vytvořte nekompatibilní odkaz na tento přístupový balíček.
$incompatible1params = @{ "@odata.id" = "https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/accessPackages/" + $incompatibleAccessPackageId } New-MgEntitlementManagementAccessPackageIncompatibleAccessPackageByRef -AccessPackageId $accessPackageId -BodyParameter $incompatible1params
Vytvořte nekompatibilní odkaz na druhý přístupový balíček.
$incompatible2params = @{ "@odata.id" = "https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/accessPackages/" + $accessPackageId } New-MgEntitlementManagementAccessPackageIncompatibleAccessPackageByRef -AccessPackageId $incompatibleAccessPackageId -BodyParameter $incompatible2params
Opakujte pro všechny ostatní přístupové balíčky.
Pokud váš scénář vyžaduje možnost přepsat oddělení kontrol povinností, můžete pro tyto scénáře přepsání nastavit i další přístupové balíčky.
Přidání přiřazení stávajících uživatelů, kteří už mají přístup k aplikaci
Přidejte přiřazení stávajících uživatelů, kteří už mají přístup k aplikaci, do přístupového balíčku a jeho zásad přímého přiřazení. Každému uživateli můžete přímo přiřadit přístupový balíček.
Načtěte stávající přiřazení rolí aplikace.
$existingAppRoleAssignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $servicePrincipalId -All)
Pokud se chcete vyhnout vytváření duplicitních přiřazení, načtěte všechna existující přiřazení k přístupovém balíčku.
$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}
Vytvořte nová přiřazení.
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" } }
Přidání přiřazení pro všechny další uživatele, kteří by měli mít přístup k aplikaci
Tento skript ukazuje použití rutin Prostředí Microsoft Graph PowerShell k přidání přiřazení pro další uživatele, aby měli přístup k aplikaci. Pokud nemáte žádné uživatele, kteří potřebují přístup, a nedostali byste ho automaticky, pokračujte v další části.
Tento skript předpokládá, že máte vstupní soubor CSV obsahující jeden sloupec, UserPrincipalName
který tyto uživatele přiřadí k přístupovém balíčku prostřednictvím zásad přímého přiřazení.
Zadejte název vstupního souboru.
$inputpath = "users.csv"
Pokud se chcete vyhnout vytváření duplicitních přiřazení, načtěte všechna existující přiřazení k přístupovém balíčku.
$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}
Vytvořte nová přiřazení.
$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" } }
Přidání zásady do přístupových balíčků pro automatické přiřazení
Pokud zásady vaší organizace pro uživatele, kterým je možné přiřadit přístup k aplikaci, zahrnují pravidlo založené na atributech uživatele, které se přiřazují a odebírají automaticky na základě těchto atributů, můžete to vyjádřit pomocí zásady automatického přiřazení. Přístupový balíček může mít maximálně jednu zásadu automatického přiřazení. Pokud nemáte požadavek na automatické přiřazení, pokračujte v další části.
Zadejte výraz filtru automatického přiřazení, který mají uživatelé obdržet přiřazení. Změňte hodnotu
autoAssignmentPolicyFilter
tak, aby byla filtrem pro uživatele ve vašem ID Microsoft Entra, které jsou v oboru. Syntaxe a povolené atributy jsou uvedeny v pravidlech pro dynamické skupiny členství v Microsoft Entra ID.$autoAssignmentPolicyFilter = '(user.city -eq "Redmond")'
Pomocí PowerShellu vytvořte v přístupovém balíčku zásady automatického přiřazení.
$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
Vytvoření dalších zásad, které uživatelům umožní požádat o přístup
Pokud uživatelé, kteří ještě nemají přístup k žádosti o přiřazení k aplikaci, můžete také nakonfigurovat zásady přiřazení přístupového balíčku tak, aby uživatelům umožňovaly požádat o přístupový balíček. Do přístupového balíčku můžete přidat další zásady a v každé zásadě určete, kteří uživatelé můžou požádat a kdo musí schválit. Pokud chcete mít přístup přiřazený jenom uživatelům automaticky nebo správcem, pokračujte v další části.
Další příklady najdete v tématu Vytvoření zásady přiřazení prostřednictvím PowerShellu, přístupuPackageAssignmentPolicy a Vytvoření zásady přiřazení.
Zadejte název, popis zásady a ID uživatele Microsoft Entra, který bude schvalovatelem.
$policy3Name = "example policy" $policy3Description = "example of a policy for users to request assignment" $policy3ApproverSingleUserId = "1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5"
Vytvořte zásadu.
$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
Konfigurace úloh pracovních postupů životního cyklu
Pokud používáte pracovní postupy životního cyklu Microsoft Entra pro připojení zaměstnanců, přesuňte události opuštění, můžete do těchto pracovních postupů přidat nebo odebrat přiřazení k tomuto přístupového balíčku. Pokud pracovní postupy životního cyklu nepoužíváte, pokračujte v další části.
Tento příklad ukazuje, jak změnit pracovní postupy připojení a opustit události.
joiner
Načtěte pracovní postup kategorie a jeho úkoly pomocí příkazu Get-MgIdentityGovernanceLifecycleWorkflow.Přidejte úkol do seznamu úkolů v daném pracovním postupu.
Zobrazovaný název úkolu taskDefinitionId argumenty Žádost o přiřazení balíčku pro přístup uživatele c1ec1e76-f374-4375-aaa6-0bb6bd4c60be
name: assignmentPolicyId
hodnota: ID zásady přiřazení, například hodnota od$directAssignmentPolicyId
, pokud není požadováno schválení, pro přístupový balíček, který chcete přiřadit uživateli.
name:accessPackageId
value: ID přístupového balíčku , pro přístupový balíček,$accessPackageId
který chcete přiřadit uživateli.Vytvořte novou verzi pracovního postupu, včetně nové úlohy, pomocí příkazu New-MgIdentityGovernanceLifecycleWorkflowNewVersion .
leaver
Načtěte pracovní postup kategorie a jeho úkoly pomocí příkazu Get-MgIdentityGovernanceLifecycleWorkflow.Přidejte úkol do seznamu úkolů v daném pracovním postupu.
Zobrazovaný název úkolu taskDefinitionId argumenty Odebrání přiřazení přístupového balíčku pro uživatele 4a0b64f2-c7ec-46ba-b117-18f262946c50
name: accessPackageId
hodnota: Platné ID přístupového balíčku pro přístupový balíček,accessPackageId
který chcete zrušit přiřazení od uživatele.Vytvořte novou verzi pracovního postupu, včetně nové úlohy, pomocí příkazu New-MgIdentityGovernanceLifecycleWorkflowNewVersion .
Správa přiřazení
Po vytvoření přístupových balíčků, zásad a počátečních přiřazení se uživatelům přiřadí přístup k roli aplikace.
Později můžete sledovat změny přiřazení nebo přidávat nebo odebírat přiřazení prostřednictvím kódu programu.
Načtení existujících přiřazení
Tento skript znázorňuje použití filtru k načtení přiřazení do přístupového balíčku, který je ve stavu Delivered
. Skript vygeneruje soubor assignments.csv
CSV se seznamem uživatelů, kteří mají přiřazení s jedním řádkem na každé přiřazení.
$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"
Odebrání přiřazení
Přiřazení uživatele můžete odebrat pomocí rutiny New-MgEntitlementManagementAssignmentRequest
.
$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
}