New-EntraServicePrincipal

Crée un principal de service.

Syntaxe

Default (Par défaut)

New-EntraServicePrincipal

    -AppId <String>
    [-KeyCredentials <System.Collections.Generic.List`1[Microsoft.Open.AzureAD.Model.KeyCredential]>]
    [-Homepage <String>]
    [-LogoutUrl <String>]
    [-ServicePrincipalType <String>]
    [-AlternativeNames <System.Collections.Generic.List`1[System.String]>]
    [-PasswordCredentials <System.Collections.Generic.List`1[Microsoft.Open.AzureAD.Model.PasswordCredential]>]
    [-Tags <System.Collections.Generic.List`1[System.String]>]
    [-AccountEnabled <String>]
    [-ServicePrincipalNames <System.Collections.Generic.List`1[System.String]>]
    [-AppRoleAssignmentRequired <Boolean>]
    [-DisplayName <String>]
    [-ReplyUrls <System.Collections.Generic.List`1[System.String]>]
    [<CommonParameters>]

Description

Créez un principal de service.

Pour les applications mutualisées, l’utilisateur appelant doit également se trouver dans au moins l’un des rôles Microsoft Entra suivants :

  • Administrateur d’application
  • Administrateur d’applications cloud

Pour les applications monolocataires où l’utilisateur appelant est un utilisateur non administrateur, mais qui est le propriétaire de l’application de stockage, l’utilisateur doit avoir le rôle Développeur d’applications.

Exemples

Exemple 1 : Créer un principal de service à l’aide de DisplayName, AccountEnabled, Tags et AppRoleAssignmentRequired

Connect-Entra -Scopes 'Application.ReadWrite.All','Application.ReadWrite.OwnedBy'
$application = Get-EntraApplication -Filter "DisplayName eq 'Helpdesk Application'"
$params = @{
    AccountEnabled = $true
    AppId = $application.AppId
    AppRoleAssignmentRequired = $true
    DisplayName = $application.DisplayName
    Tags = {WindowsAzureActiveDirectoryIntegratedApp}
}
New-EntraServicePrincipal @params
DisplayName Id                                   AppId                                SignInAudience ServicePrincipalType
----------- --                                   -----                                -------------- --------------------
Helpdesk Application    bbbbbbbb-1111-2222-3333-cccccccccccc 00001111-aaaa-2222-bbbb-3333cccc4444 AzureADMyOrg   Application

Cet exemple montre comment créer un principal de service dans Microsoft Entra ID. Vous pouvez utiliser la commande Get-EntraApplication pour obtenir l’ID de l’application.

La balise -Tags {WindowsAzureActiveDirectoryIntegratedApp} est utilisée pour que ce principal de service s’affiche dans la liste des applications intégrées dans le portail d’administration.

  • -AccountEnabled le paramètre spécifie true si le compte principal de service est activé, sinon false.
  • -AppId spécifie l’identificateur unique de l’application associée (sa propriété appId).
  • -DisplayName spécifie le nom complet du principal de service.
  • -AppRoleAssignmentRequired indique si une attribution de rôle d’application est requise.

Exemple 2 : Créer un principal de service à l’aide de la page d’accueil, de logoutUrl et de ReplyUrls

Connect-Entra -Scopes 'Application.ReadWrite.All','Application.ReadWrite.OwnedBy'
$application = Get-EntraApplication -Filter "DisplayName eq 'Helpdesk Application'"
$params = @{
    AppId = $application.AppId
    Homepage = 'https://localhost/home'
    LogoutUrl = 'htpp://localhost/logout'
    ReplyUrls = 'https://localhost/redirect'
}
New-EntraServicePrincipal @params
DisplayName Id                                   AppId                                SignInAudience ServicePrincipalType
----------- --                                   -----                                -------------- --------------------
Helpdesk Application    bbbbbbbb-1111-2222-3333-cccccccccccc 00001111-aaaa-2222-bbbb-3333cccc4444 AzureADMyOrg   Application

Cet exemple montre comment créer un principal de service dans Microsoft Entra ID. Vous pouvez utiliser la commande Get-EntraApplication pour obtenir l’ID de l’application.

  • -AppId spécifie l’identificateur unique de l’application associée (sa propriété appId).
  • -Homepage spécifie la page d’accueil ou la page d’accueil de l’application.
  • -LogoutUrl spécifie l’URL de déconnexion.
  • -ReplyUrls spécifie les URL auxquelles les jetons utilisateur sont envoyés pour la connexion avec l’application associée.

Exemple 3 : Créer un principal de service par KeyCredentials

Connect-Entra -Scopes 'Application.ReadWrite.All','Application.ReadWrite.OwnedBy'
$creds = New-Object Microsoft.Open.AzureAD.Model.KeyCredential
$creds.CustomKeyIdentifier = [System.Text.Encoding]::UTF8.GetBytes('Test')
$startdate = Get-Date -Year 2023 -Month 10 -Day 23
$creds.StartDate = $startdate
$creds.Type = 'Symmetric'
$creds.Usage = 'Sign'
$creds.Value = [System.Text.Encoding]::UTF8.GetBytes('strong-cred-value')
$creds.EndDate = Get-Date -Year 2024 -Month 10 -Day 23
$application = Get-EntraApplication -Filter "DisplayName eq 'Helpdesk Application'"

New-EntraServicePrincipal -AppId $application.AppId -KeyCredentials $creds
DisplayName Id                                   AppId                                SignInAudience ServicePrincipalType
----------- --                                   -----                                -------------- --------------------
Helpdesk Application    bbbbbbbb-1111-2222-3333-cccccccccccc 00001111-aaaa-2222-bbbb-3333cccc4444 AzureADMyOrg   Application

Cet exemple montre comment créer un principal de service dans Microsoft Entra ID. Vous pouvez utiliser la commande Get-EntraApplication pour obtenir l’ID de l’application.

  • -AppId spécifie l’identificateur unique de l’application associée (sa propriété appId).
  • -KeyCredentials spécifie la collection d’informations d’identification de clé associées au principal de service.

Exemple 4 : Créer un principal de service par AlternativeNames, ServicePrincipalType et ServicePrincipalName

Connect-Entra -Scopes 'Application.ReadWrite.All','Application.ReadWrite.OwnedBy'
$application = Get-EntraApplication -Filter "DisplayName eq 'Helpdesk Application'"
New-EntraServicePrincipal -AppId $application.AppId -AlternativeNames 'sktest2' -ServicePrincipalType 'Application' -ServicePrincipalNames $application.AppId
DisplayName Id                                   AppId                                SignInAudience                     ServicePrincipalType
----------- --                                   -----                                --------------                     --------------------
Helpdesk Application   bbbbbbbb-1111-2222-3333-cccccccccccc 00001111-aaaa-2222-bbbb-3333cccc4444 AzureADandPersonalMicrosoftAccount Application

Cet exemple montre comment créer un principal de service dans Microsoft Entra ID. Vous pouvez utiliser la commande Get-EntraApplication pour obtenir l’ID de l’application.

  • -AppId spécifie l’identificateur unique de l’application associée (sa propriété appId).
  • -AlternativeNames spécifie les autres noms de ce principal de service.
  • -ServicePrincipalType spécifie le type du principal de service.
  • -ServicePrincipalNames spécifie un tableau de noms de principaux de service.

Paramètres

-AccountEnabled

True si le compte de principal de service est activé ; sinon, false.

Propriétés du paramètre

Type:System.String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-AlternativeNames

Autres noms pour ce principal de service.

Propriétés du paramètre

Type:

System.Collections.Generic.List`1[System.String]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-AppId

Identificateur unique de l’application associée (sa propriété appId).

Propriétés du paramètre

Type:System.String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-AppRoleAssignmentRequired

Indique si une attribution de rôle d’application est requise.

Propriétés du paramètre

Type:System.Boolean
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-DisplayName

Spécifie le nom complet du principal de service.

Propriétés du paramètre

Type:System.String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Homepage

Page d’accueil ou page d’accueil de l’application.

Propriétés du paramètre

Type:System.String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-KeyCredentials

Collection d’informations d’identification clées associées au principal de service.

Propriétés du paramètre

Type:

System.Collections.Generic.List`1[Microsoft.Open.AzureAD.Model.KeyCredential]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-LogoutUrl

Spécifie l’URL de déconnexion.

Propriétés du paramètre

Type:System.String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-PasswordCredentials

Collection d’informations d’identification associées à l’application.

Propriétés du paramètre

Type:

System.Collections.Generic.List`1[Microsoft.Open.AzureAD.Model.PasswordCredential]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ReplyUrls

Les URL auxquelles les jetons utilisateur sont envoyés pour se connecter avec l'application associée, ou les URI de redirection vers lesquelles les codes d'autorisation et les jetons d'accès OAuth 2.0 sont envoyés pour l'application associée.

Propriétés du paramètre

Type:

System.Collections.Generic.List`1[System.String]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ServicePrincipalNames

Spécifie un tableau de noms de principal de service. En fonction de la collection identifierURIs et de la propriété appId de l’application, ces URI sont utilisés pour référencer le principal de service d’une application. Un client utilise ServicePrincipalNames pour :

  • remplissez requiredResourceAccess, via « Autorisations pour d’autres applications » dans le portail Azure Classic.
  • Spécifiez un URI de ressource pour acquérir un jeton d’accès, qui est l’URI retourné dans la revendication.

Propriétés du paramètre

Type:

System.Collections.Generic.List`1[System.String]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ServicePrincipalType

Type du principal de service.

Propriétés du paramètre

Type:System.String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Tags

Balises liées à ce principal de service.

Notez que si vous avez l’intention que ce principal de service s’affiche dans la liste Toutes les applications dans le portail d’administration, vous devez définir cette valeur sur {WindowsAzureActiveDirectoryIntegratedApp}.

Propriétés du paramètre

Type:

System.Collections.Generic.List`1[System.String]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.