Giter Club home page Giter Club logo

keyvault-secrets-rotation-aadapp-powershell's Introduction

KeyVault-Secrets-Rotation-AADApp-PowerShell

Functions regenerate AAD App client secret and add regenerated client secret to Key Vault as new version of the same secret.

Features

This project framework provides the following features:

  • Azure function (AKVAADAppConnector) to manage AAD App client secret. It is triggered by Event Grid

  • ARM template for function deployment

Functions

  • AKVAADAppConnector - event triggered function, performs AAD App client secret rotation

Installation

  1. Install function with template for AAD App client secret
  2. Add permissions using Graph API to Azure Function to generate client secrets in AAD App

ARM templates available:

Steps to add Graph API permissions to Azure Function:

Important

To provide Graph API Permission you need to be Global Administrator in Azure Active Directory

$TenantID = '<Directory Tenant Id>'
Connect-MgGraph -TenantId $TenantID
$functionIdentityObjectId ='<Azure Function Identity Object Id>'
$graphAppId = '00000003-0000-0000-c000-000000000000' # This is a well-known Microsoft Graph application ID.
$graphApiAppRoleName = 'Application.ReadWrite.All'
$graphServicePrincipal =  Get-MgServicePrincipal -Filter "appId eq '$graphAppId'"
$graphApiAppRole = $graphServicePrincipal.AppRoles | Where-Object {$_.Value -eq $graphApiAppRoleName -and $_.AllowedMemberTypes -contains "Application"}

# Assign the role to the managed identity.
New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $functionIdentityObjectId -PrincipalId $functionIdentityObjectId -ResourceId $graphServicePrincipal.ObjectId -Id $graphApiAppRole.Id

keyvault-secrets-rotation-aadapp-powershell's People

Contributors

jlichwa avatar microsoftopensource avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.