AADApplication¶
Parameters¶
Parameter | Attribute | DataType | Description | Allowed Values |
---|---|---|---|---|
Name | Write | String | Name of the requested permission. | |
SourceAPI | Write | String | Name of the API from which the permission comes from. | |
Type | Write | String | Type of permission. | AppOnly, Delegated |
AdminConsentGranted | Write | Boolean | Represented whether or not the Admin consent been granted on the app. | |
DisplayName | Key | String | DisplayName of the app | |
ObjectId | Write | String | ObjectID of the app. | |
AppId | Write | String | AppId for the app. | |
AvailableToOtherTenants | Write | Boolean | Indicates whether this application is available in other tenants. | |
GroupMembershipClaims | Write | String | A bitmask that configures the groups claim issued in a user or OAuth 2.0 access token that the application expects. The bitmask values are: 0: None, 1: Security groups and Azure AD roles, 2: Reserved, and 4: Reserved. Setting the bitmask to 7 will get all of the security groups, distribution groups, and Azure AD directory roles that the signed-in user is a member of. | |
Homepage | Write | String | The URL to the application's homepage. | |
IdentifierUris | Write | StringArray[] | User-defined URI(s) that uniquely identify a Web application within its Azure AD tenant, or within a verified custom domain. | |
KnownClientApplications | Write | StringArray[] | Client applications that are tied to this resource application. | |
LogoutURL | Write | String | The logout url for this application. | |
Oauth2RequirePostResponse | Write | Boolean | Set this to true if an Oauth2 psot response is required. | |
PublicClient | Write | Boolean | Specifies whether this application is a public client (such as an installed application running on a mobile device). Default is false. | |
ReplyURLs | Write | StringArray[] | Specifies the URLs that user tokens are sent to for sign in, or the redirect URIs that OAuth 2.0 authorization codes and access tokens are sent to. | |
Ensure | Write | String | Specify if the Azure AD App should exist or not. | Present, Absent |
Credential | Write | PSCredential | Credentials for the Microsoft Graph delegated permissions. | |
ApplicationId | Write | String | Id of the Azure Active Directory application to authenticate with. | |
ApplicationSecret | Write | String | Secret of the Azure Active Directory application to authenticate with. | |
TenantId | Write | String | Id of the Azure Active Directory tenant used for authentication. | |
Permissions | Write | InstanceArray[] | API permissions for the Azure Active Directory Application. | |
CertificateThumbprint | Write | String | Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication. |
AADApplication¶
Description¶
This resource configures an Azure Active Directory Application.
Azure AD Permissions¶
To authenticate via Azure Active Directory, this resource required the following Application permissions:
- Automate
- Application.ReadWrite.All
- Export
- Directory.Read.All, Application.Read.All
NOTE: All permisions listed above require admin consent.
Examples¶
Example 1¶
This example is used to test new resources and showcase the usage of new resources being worked on. It is not meant to use as a production baseline.
Configuration Example
{
param(
[Parameter(Mandatory = $true)]
[PSCredential]
$credsGlobalAdmin
)
Import-DscResource -ModuleName Microsoft365DSC
node localhost
{
AADApplication 'AADApp1'
{
DisplayName = "AppDisplayName"
AvailableToOtherTenants = $false
GroupMembershipClaims = "0"
Homepage = "https://app.contoso.com"
IdentifierUris = "https://app.contoso.com"
KnownClientApplications = ""
LogoutURL = "https://app.contoso.com/logout"
Oauth2RequirePostResponse = $false
PublicClient = $false
ReplyURLs = "https://app.contoso.com"
Permissions = @(
MSFT_AADApplicationPermission
{
Name = 'User.Read'
Type = 'Delegated'
SourceAPI = 'Microsoft Graph'
AdminConsentGranted = $false
}
MSFT_AADApplicationPermission
{
Name = 'User.ReadWrite.All'
Type = 'Delegated'
SourceAPI = 'Microsoft Graph'
AdminConsentGranted = $True
}
MSFT_AADApplicationPermission
{
Name = 'User.Read.All'
Type = 'AppOnly'
SourceAPI = 'Microsoft Graph'
AdminConsentGranted = $True
}
)
Ensure = "Present"
Credential = $credsGlobalAdmin
}
}
}