AADApplication¶
Parameters¶
Parameter | Attribute | DataType | Description | Allowed Values |
---|---|---|---|---|
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. | |
Description | Write | String | A free text field to provide a description of the application object to end users. The maximum allowed size is 1024 characters. | |
GroupMembershipClaims | Write | String | A bitmask that configures the groups claim issued in a user or OAuth 2.0 access token that the application expects. | |
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. | |
IsFallbackPublicClient | Write | Boolean | Specifies the fallback application type as public client, such as an installed application running on a mobile device. The default value is false, which means the fallback application type is confidential client such as web app. There are certain scenarios where Microsoft Entra ID cannot determine the client application type (for example, ROPC flow where it is configured without specifying a redirect URI). In those cases, Microsoft Entra ID will interpret the application type based on the value of this property. | |
KnownClientApplications | Write | StringArray[] | Client applications that are tied to this resource application. | |
OptionalClaims | Write | MSFT_MicrosoftGraphoptionalClaims | Application developers can configure optional claims in their Microsoft Entra applications to specify the claims that are sent to their application by the Microsoft security token service. For more information, see How to: Provide optional claims to your app. | |
Api | Write | MSFT_MicrosoftGraphapiApplication | Specifies settings for an application that implements a web API. | |
AuthenticationBehaviors | Write | MSFT_MicrosoftGraphauthenticationBehaviors | The collection of breaking change behaviors related to token issuance that are configured for the application. Authentication behaviors are unset by default (null) and must be explicitly enabled or disabled. Nullable. Returned only on $select. For more information about authentication behaviors, see Manage application authenticationBehaviors to avoid unverified use of email claims for user identification or authorization. | |
PasswordCredentials | Write | MSFT_MicrosoftGraphpasswordCredential[] | The collection of password credentials associated with the application. Not nullable. | |
KeyCredentials | Write | MSFT_MicrosoftGraphkeyCredential[] | The collection of key credentials associated with the application. Not nullable. Supports $filter (eq, not, ge, le). | |
AppRoles | Write | MSFT_MicrosoftGraphappRole[] | The collection of roles defined for the application. With app role assignments, these roles can be assigned to users, groups, or service principals associated with other applications. Not nullable. | |
LogoutURL | Write | String | The logout url for this application. | |
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. | |
Owners | Write | StringArray[] | UPN or ObjectID values of the app's owners. | |
OnPremisesPublishing | Write | MSFT_AADApplicationOnPremisesPublishing | Represents the set of properties required for configuring Application Proxy for this application. Configuring these properties allows you to publish your on-premises application for secure remote access. | |
ApplicationTemplateId | Write | String | Identifier of the associated Application Template. | |
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 | PSCredential | 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 | MSFT_AADApplicationPermission[] | 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. | |
ManagedIdentity | Write | Boolean | Managed ID being used for authentication. | |
AccessTokens | Write | StringArray[] | Access token used for authentication. |
MSFT_AADApplicationOnPremisesPublishingSegmentCORS¶
Parameters¶
Parameter | Attribute | DataType | Description | Allowed Values |
---|---|---|---|---|
allowedHeaders | Write | StringArray[] | The request headers that the origin domain may specify on the CORS request. The wildcard character * indicates that any header beginning with the specified prefix is allowed. | |
maxAgeInSeconds | Write | UInt32 | The maximum amount of time that a browser should cache the response to the preflight OPTIONS request. | |
resource | Write | String | Resource within the application segment for which CORS permissions are granted. / grants permission for whole app segment. | |
allowedMethods | Write | StringArray[] | The HTTP request methods that the origin domain may use for a CORS request. | |
allowedOrigins | Write | StringArray[] | The origin domains that are permitted to make a request against the service via CORS. The origin domain is the domain from which the request originates. The origin must be an exact case-sensitive match with the origin that the user age sends to the service. |
MSFT_AADApplicationOnPremisesPublishingSegment¶
Parameters¶
Parameter | Attribute | DataType | Description | Allowed Values |
---|---|---|---|---|
alternateUrl | Write | String | If you're configuring a traffic manager in front of multiple App Proxy application segments, contains the user-friendly URL that will point to the traffic manager. | |
corsConfigurations | Write | MSFT_AADApplicationOnPremisesPublishingSegmentCORS[] | CORS Rule definition for a particular application segment. | |
externalUrl | Write | String | The published external URL for the application segment; for example, https://intranet.contoso.com./ | |
internalUrl | Write | String | The internal URL of the application segment; for example, https://intranet/. |
MSFT_AADApplicationOnPremisesPublishingSingleSignOnSettingKerberos¶
Parameters¶
Parameter | Attribute | DataType | Description | Allowed Values |
---|---|---|---|---|
kerberosServicePrincipalName | Write | String | The Internal Application SPN of the application server. This SPN needs to be in the list of services to which the connector can present delegated credentials. | |
kerberosSignOnMappingAttributeType | Write | String | The Delegated Login Identity for the connector to use on behalf of your users. For more information, see Working with different on-premises and cloud identities . Possible values are: userPrincipalName, onPremisesUserPrincipalName, userPrincipalUsername, onPremisesUserPrincipalUsername, onPremisesSAMAccountName. |
MSFT_AADApplicationOnPremisesPublishingSingleSignOnSetting¶
Parameters¶
Parameter | Attribute | DataType | Description | Allowed Values |
---|---|---|---|---|
singleSignOnMode | Write | String | The preferred single-sign on mode for the application. Possible values are: none, onPremisesKerberos, aadHeaderBased,pingHeaderBased, oAuthToken. | |
kerberosSignOnSettings | Write | MSFT_AADApplicationOnPremisesPublishingSingleSignOnSettingKerberos | The Kerberos Constrained Delegation settings for applications that use Integrated Window Authentication. |
MSFT_AADApplicationOnPremisesPublishing¶
Parameters¶
Parameter | Attribute | DataType | Description | Allowed Values |
---|---|---|---|---|
alternateUrl | Write | String | If you're configuring a traffic manager in front of multiple App Proxy applications, the alternateUrl is the user-friendly URL that points to the traffic manager. | |
applicationServerTimeout | Write | String | The duration the connector waits for a response from the backend application before closing the connection. Possible values are default, long. | |
externalAuthenticationType | Write | String | Details the pre-authentication setting for the application. Pre-authentication enforces that users must authenticate before accessing the app. Pass through doesn't require authentication. Possible values are: passthru, aadPreAuthentication. | |
externalUrl | Write | String | The published external url for the application. For example, https://intranet-contoso.msappproxy.net/. | |
internalUrl | Write | String | The internal url of the application. For example, https://intranet/. | |
isBackendCertificateValidationEnabled | Write | Boolean | Indicates whether backend SSL certificate validation is enabled for the application. For all new Application Proxy apps, the property is set to true by default. For all existing apps, the property is set to false. | |
isHttpOnlyCookieEnabled | Write | Boolean | Indicates if the HTTPOnly cookie flag should be set in the HTTP response headers. Set this value to true to have Application Proxy cookies include the HTTPOnly flag in the HTTP response headers. If using Remote Desktop Services, set this value to False. Default value is false. | |
isPersistentCookieEnabled | Write | Boolean | Indicates if the Persistent cookie flag should be set in the HTTP response headers. Keep this value set to false. Only use this setting for applications that can't share cookies between processes. For more information about cookie settings, see Cookie settings for accessing on-premises applications in Microsoft Entra ID. Default value is false. | |
isSecureCookieEnabled | Write | Boolean | Indicates if the Secure cookie flag should be set in the HTTP response headers. Set this value to true to transmit cookies over a secure channel such as an encrypted HTTPS request. Default value is true. | |
isStateSessionEnabled | Write | Boolean | Indicates whether validation of the state parameter when the client uses the OAuth 2.0 authorization code grant flow is enabled. This setting allows admins to specify whether they want to enable CSRF protection for their apps. | |
isTranslateHostHeaderEnabled | Write | Boolean | Indicates if the application should translate urls in the response headers. Keep this value as true unless your application required the original host header in the authentication request. Default value is true. | |
isTranslateLinksInBodyEnabled | Write | Boolean | Indicates if the application should translate urls in the application body. Keep this value as false unless you have hardcoded HTML links to other on-premises applications and don't use custom domains. For more information, see Link translation with Application Proxy. Default value is false. | |
onPremisesApplicationSegments | Write | MSFT_AADApplicationOnPremisesPublishingSegment[] | Represents the collection of application segments for an on-premises wildcard application that's published through Microsoft Entra application proxy. | |
singleSignOnSettings | Write | MSFT_AADApplicationOnPremisesPublishingSingleSignOnSetting | Represents the single sign-on configuration for the on-premises application. |
MSFT_AADApplicationPermission¶
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. |
MSFT_MicrosoftGraphOptionalClaims¶
Parameters¶
Parameter | Attribute | DataType | Description | Allowed Values |
---|---|---|---|---|
AccessToken | Write | MSFT_MicrosoftGraphOptionalClaim[] | The optional claims returned in the JWT access token. | |
IdToken | Write | MSFT_MicrosoftGraphOptionalClaim[] | The optional claims returned in the JWT ID token. | |
Saml2Token | Write | MSFT_MicrosoftGraphOptionalClaim[] | The optional claims returned in the SAML token. |
MSFT_MicrosoftGraphOptionalClaim¶
Parameters¶
Parameter | Attribute | DataType | Description | Allowed Values |
---|---|---|---|---|
Essential | Write | Boolean | If the value is true, the claim specified by the client is necessary to ensure a smooth authorization experience for the specific task requested by the end user. The default value is false. | |
Name | Write | String | The name of the optional claim. | |
Source | Write | String | The source (directory object) of the claim. There are predefined claims and user-defined claims from extension properties. If the source value is null, the claim is a predefined optional claim. If the source value is user, the value in the name property is the extension property from the user object. |
MSFT_MicrosoftGraphPreAuthorizedApplication¶
Parameters¶
Parameter | Attribute | DataType | Description | Allowed Values |
---|---|---|---|---|
AppId | Write | String | The unique identifier for the client application. | |
PermissionIds | Write | StringArray[] | The unique identifier for the scopes the client application is granted. |
MSFT_MicrosoftGraphApiApplication¶
Parameters¶
Parameter | Attribute | DataType | Description | Allowed Values |
---|---|---|---|---|
PreAuthorizedApplications | Write | MSFT_MicrosoftGraphPreAuthorizedApplication[] | Lists the client applications that are preauthorized with the specified delegated permissions to access this application's APIs. Users aren't required to consent to any preauthorized application (for the permissions specified). However, any other permissions not listed in preAuthorizedApplications (requested through incremental consent for example) will require user consent. |
MSFT_MicrosoftGraphAuthenticationBehaviors¶
Parameters¶
Parameter | Attribute | DataType | Description | Allowed Values |
---|---|---|---|---|
BlockAzureADGraphAccess | Write | Boolean | If false, allows the app to have extended access to Azure AD Graph until June 30, 2025 when Azure AD Graph is fully retired. For more information on Azure AD retirement updates, see June 2024 update on Azure AD Graph API retirement. | |
RemoveUnverifiedEmailClaim | Write | Boolean | If true, removes the email claim from tokens sent to an application when the email address's domain can't be verified. | |
RequireClientServicePrincipal | Write | Boolean | If true, requires multitenant applications to have a service principal in the resource tenant as part of authorization checks before they're granted access tokens. This property is only modifiable for multitenant resource applications that rely on access from clients without a service principal and had this behavior as set to false by Microsoft. Tenant administrators should respond to security advisories sent through Azure Health Service events and the Microsoft 365 message center. |
MSFT_MicrosoftGraphKeyCredential¶
Parameters¶
Parameter | Attribute | DataType | Description | Allowed Values |
---|---|---|---|---|
CustomKeyIdentifier | Write | String | A 40-character binary type that can be used to identify the credential. Optional. When not provided in the payload, defaults to the thumbprint of the certificate. | |
DisplayName | Write | String | Friendly name for the key. Optional. | |
EndDateTime | Write | String | The date and time at which the credential expires. The DateTimeOffset type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. | |
KeyId | Write | String | The unique identifier (GUID) for the key. | |
Key | Write | String | The certificate's raw data in byte array converted to Base64 string. | |
StartDateTime | Write | String | The date and time at which the credential becomes valid.The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. | |
Type | Write | String | The type of key credential for example, Symmetric, AsymmetricX509Cert. | |
Usage | Write | String | A string that describes the purpose for which the key can be used for example, Verify. |
MSFT_MicrosoftGraphPasswordCredential¶
Parameters¶
Parameter | Attribute | DataType | Description | Allowed Values |
---|---|---|---|---|
DisplayName | Write | String | Friendly name for the password. Optional. | |
EndDateTime | Write | String | The date and time at which the password expires represented using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Optional. | |
Hint | Write | String | Contains the first three characters of the password. Read-only. | |
KeyId | Write | String | The unique identifier for the password. | |
StartDateTime | Write | String | The date and time at which the password becomes valid. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Optional. |
MSFT_MicrosoftGraphAppRole¶
Parameters¶
Parameter | Attribute | DataType | Description | Allowed Values |
---|---|---|---|---|
AllowedMemberTypes | Write | StringArray[] | Specifies whether this app role can be assigned to users and groups (by setting to 'User'), to other application's (by setting to 'Application', or both (by setting to 'User', 'Application'). App roles supporting assignment to other applications' service principals are also known as application permissions. The 'Application' value is only supported for app roles defined on application entities. | |
Description | Write | String | The description for the app role. This is displayed when the app role is being assigned and, if the app role functions as an application permission, during consent experiences. | |
DisplayName | Write | String | Display name for the permission that appears in the app role assignment and consent experiences. | |
Id | Write | String | Unique role identifier inside the appRoles collection. When creating a new app role, a new GUID identifier must be provided. | |
IsEnabled | Write | Boolean | When creating or updating an app role, this must be set to true (which is the default). To delete a role, this must first be set to false. At that point, in a subsequent call, this role may be removed. | |
Origin | Write | String | Specifies if the app role is defined on the application object or on the servicePrincipal entity. Must not be included in any POST or PATCH requests. Read-only. | |
Value | Write | String | Specifies the value to include in the roles claim in ID tokens and access tokens authenticating an assigned user or service principal. Must not exceed 120 characters in length. Allowed characters are : ! # $ % & ' ( ) * + , - . / : = + _ } , and characters in the ranges 0-9, A-Z and a-z. Any other character, including the space character, aren't allowed. May not begin with .. |
Description¶
This resource configures an Azure Active Directory Application.
Permissions¶
Microsoft Graph¶
To authenticate with the Microsoft Graph API, this resource required the following permissions:
Delegated permissions¶
-
Read
- Application.Read.All
-
Update
- Application.Read.All, Application.ReadWrite.All, User.Read.All
Application permissions¶
-
Read
- Application.Read.All
-
Update
- Application.Read.All, Application.ReadWrite.All, User.Read.All
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()]
[System.String]
$ApplicationId,
[Parameter()]
[System.String]
$TenantId,
[Parameter()]
[System.String]
$CertificateThumbprint
)
Import-DscResource -ModuleName Microsoft365DSC
node localhost
{
AADApplication 'AADApp1'
{
DisplayName = "AppDisplayName"
AvailableToOtherTenants = $false
Description = "Application Description"
GroupMembershipClaims = "None"
Homepage = "https://$TenantId"
IdentifierUris = "https://$TenantId"
KnownClientApplications = ""
LogoutURL = "https://$TenantId/logout"
PublicClient = $false
ReplyURLs = "https://$TenantId"
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"
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
}
}
}
Example 2¶
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()]
[System.String]
$ApplicationId,
[Parameter()]
[System.String]
$TenantId,
[Parameter()]
[System.String]
$CertificateThumbprint
)
Import-DscResource -ModuleName Microsoft365DSC
node localhost
{
AADApplication 'AADApp1'
{
DisplayName = "AppDisplayName"
AvailableToOtherTenants = $true # Updated Property
Description = "Application Description"
GroupMembershipClaims = "None"
Homepage = "https://$TenantId"
IdentifierUris = "https://$TenantId"
KnownClientApplications = ""
LogoutURL = "https://$TenantId/logout"
PublicClient = $false
ReplyURLs = "https://$TenantId"
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"
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
}
}
}
Example 3¶
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()]
[System.String]
$ApplicationId,
[Parameter()]
[System.String]
$TenantId,
[Parameter()]
[System.String]
$CertificateThumbprint
)
Import-DscResource -ModuleName Microsoft365DSC
node localhost
{
AADApplication 'AADApp1'
{
DisplayName = "AppDisplayName"
Ensure = "Absent"
ApplicationId = $ApplicationId
TenantId = $TenantId
CertificateThumbprint = $CertificateThumbprint
}
}
}