flowchart LR
subgraph azuread[Azure AD]
aad1[Settings Enterprise Application] --> aad2[Download XML Federation]
end
subgraph aws[AWS]
aad2 --> aws1[Settings Identity Provider]
aws1 --> aws2[Add/Create Role]
end
flowchart TD
subgraph azuread[Azure AD]
aad1[Create Enterprise App from Templates] --> aad2[Update Service Principal & App Registration to use SAML]
aad2 --> aad3[Configure Service Principal Roles]
aad3 --> aad4[Configure Claim Mapping Policies & Assign to Service Principal]
aad4 --> aad5[Configure Singing Certificates for Service Principal]
aad5 --> aad6[Optional - Configure User & Assign to a role]
end
subgraph aws[AWS]
aad5 --> aws1[Add/Get SAML Provider]
aws1 --> aws2[Create/Update Role to be assigned with SAML Provider]
end
## For the Console App/Business Flow, planned to be removed
AWS_ACCOUNT_ID=
## For AWS SDK
AWS_PROFILE=
# For Azure AD / Microsoft Graph
CLIENT_ID=
CLIENT_SECRET=
TENANT_ID=
Note/Details:
- Please see here for configuring the AWS SDK Credentials.
- Currently, we only change Identity Provider & IAM Roles. Please make sure your credentials allow you to create/update it.
- Please see here for configuration the Microsoft Graph SDK Credentials.
- Please make sure the credentials have these permissions:
Application.ReadWrite.All
,AppRoleAssignment.ReadWrite.All
,Policy.Read.All
,Policy.ReadWrite.ApplicationConfiguration
, andUser.ReadWrite.All
- Please make sure the credentials have these permissions:
- Redis Stack - Storing temporary data and will be used for main database
- Recommend using Redis Docker
- .NET 7
- Your IDE
- I recommend using Visual Studio or Rider.
dotnet run --project AzureADAutomate
Currently, this project is still in beta testing.
- Remove AWS Account ID from Environment Variables and will be based on input
- Consider existing Enterprise Apps and re-configure existing apps
- Communication through REST API & Event-Driven
- Tutorials/Documentations from Microsoft
- Permissions
Application.ReadWrite.All
,AppRoleAssignment.ReadWrite.All
,Policy.Read.All
,Policy.ReadWrite.ApplicationConfiguration
, andUser.ReadWrite.All
. - App List Dashboard
- Simple cross-platform application using the AWS SDK for .NET
- AmazonIdentityManagementServiceClient
- AmazonIdentityManagementServiceClient.CreateSAMLProvider
- AmazonIdentityManagementServiceClient.AttachRolePolicy
- AmazonIdentityManagementServiceClient.CreatePolicy
MIT