en-US/about_azure-ad-recovery-manager.help.txt

TOPIC
    about_azure-ad-recovery-manager
 
SHORT DESCRIPTION
    azure-ad-recovery-manager is an opinionated solution for backup and restore
    of Azure Active Directory security groups. It helps to take the backup and
    upload it to storage account which can be scheduled in automation account
    for regular full backups.
 
LONG DESCRIPTION
    azure-ad-recovery-manager is an opinionated solution for backup and restore
    of Azure Active Directory security groups. As we know that once the security
    groups are deleted it can't be restored unless it is a Microsoft 365
    account. Taking the backup in a csv file is and saving it locally is not a
    scalable and robust solution. We take the advantage of Azure services for
    storing the security groups in cloud, schedule it and segregate the full
    backups based on backup date. Then we can download the backup file, set the
    backup file path and restore the deleted security groups.
    azure-ad-recovery-manager takes care of restoring the groups, adding members
    (could be another security group, spn, device, users, app registrations) and
    role assignments as when it takes the backup it gathers all the details and
    forms many-to-many relationship between the connected groups and members.
    So, if backup exists then it can be restored if the account that you're
    using to restore has necessary permissions.
 
Optional Subtopics
    - Create a storage account with GRS enabled - https://docs.microsoft.com/en-us/azure/storage/common/storage-account-create?tabs=azure-portal
    - Create an automation account - https://docs.microsoft.com/en-us/azure/automation/automation-create-standalone-account?tabs=azureportal
    - Create a runas account - https://docs.microsoft.com/en-us/azure/automation/create-run-as-account?WT.mc_id=Portal-Microsoft_Azure_Automation
    - Grant access to the runas service principal account to Azure Active
    Directory. It should have Directory.Reader and Directory.Writer permissions.
    Then you can schedule it in automation account. If you are using automation
    account, you can use other solutions such as
    1. CI/CD systems - E.g., Azure DevOps, Jenkins, Harness, Circleci, TravisCI,
    Gitlabs etc. 2. Function app
 
EXAMPLES
    C:\> Install-Module -Name azure-ad-recovery-manager -Force
     
    # Login to desired tenant
    C:\> Connect-AzAccount -TenantId 'xxxxxxxxxxxxxxxxxxxx'
     
    # copy the script backup.ps1 in local-version from github
    # Create a storage account and update the script with the details and run.
    C:\> .\backup.ps1
 
NOTE
    This is an opinionated solution and you can take advantage of the functions
    in this module to define your own solution.
 
SEE ALSO
    -
    Set-BackupPath
 
KEYWORDS
    All cmdlets
-
    Backup-AzADSecurityGroup
    -
    Find-Group
    -
    Find-GroupMembership
    -
    Find-RoleAssignment
    -
    Find-User
    -
    Find-UserMemberShip
    -
    Restore-AzADSecurityGroup
    -
    Set-BackupPath