modules/Devolutions.CIEM.EffectivePermissions/Classes/CIEMEffectivePermission.ps1
|
enum CIEMEffectivePermissionProvider { Azure AWS GCP Kubernetes } enum CIEMPrincipalType { User Group ServicePrincipal ManagedIdentity Role ServiceAccount Application WorkloadIdentity Unknown } enum CIEMEntitlementType { RoleAssignment GroupMembership DirectoryRole AppRoleAssignment OAuthGrant ManagedPolicy InlinePolicy ResourcePolicy TrustPolicy ServiceControlPolicy PermissionBoundary IAMBinding DenyPolicy RoleBinding ClusterRoleBinding } enum CIEMAccessLevel { Read Write Manage PermissionAdmin DataAccess SecretAccess AssumeRole Impersonate Execute Unclassified } enum CIEMPermissionEffect { Allow Deny ConditionalAllow ConditionalDeny } enum CIEMPermissionPathType { Direct GroupInherited NestedGroupInherited ScopeInherited RoleAssumed ResourcePolicy TrustPolicy AppRole OAuthGrant ServiceControlPolicy PermissionBoundary } class CIEMEffectivePrincipal { [string]$Id [string]$DisplayName [CIEMPrincipalType]$Type [string]$NativeType [string]$ProviderAccountId [string]$PropertiesJson CIEMEffectivePrincipal() {} } class CIEMEffectiveEntitlement { [string]$Id [string]$Name [CIEMEntitlementType]$Type [string]$NativeType [string]$ScopeId [string]$ScopeType [string]$PropertiesJson CIEMEffectiveEntitlement() {} } class CIEMEffectiveResource { [string]$Id [string]$DisplayName [string]$Type [string]$ProviderAccountId [string]$Region [string]$PropertiesJson CIEMEffectiveResource() {} } class CIEMEffectivePermissionAction { [string]$NativeAction [string]$Description [CIEMAccessLevel]$AccessLevel [CIEMPermissionEffect]$Effect [string]$Condition [bool]$Privileged CIEMEffectivePermissionAction() {} } class CIEMEffectivePermissionPathStep { [int]$Order [CIEMPermissionPathType]$Type [string]$SourceId [string]$SourceName [string]$TargetId [string]$TargetName [string]$Description [string]$EvidenceId CIEMEffectivePermissionPathStep() {} } class CIEMEffectivePermissionEvidence { [string]$Id [string]$SourceSystem [string]$SourceApi [string]$SourceRecordId [string]$CollectedAt [string]$DataJson CIEMEffectivePermissionEvidence() {} } class CIEMEffectivePermission { [CIEMEffectivePermissionProvider]$Provider [CIEMEffectivePrincipal]$Principal [CIEMEffectiveEntitlement]$Entitlement [CIEMEffectiveResource]$Target [CIEMEffectivePermissionAction[]]$Actions [CIEMEffectivePermissionPathStep[]]$Path [CIEMEffectivePermissionEvidence[]]$Evidence [bool]$Privileged [string]$CollectedAt CIEMEffectivePermission() {} } |