Attributi del profilo utente

Il profilo utente della directory di Azure Active Directory B2C (Azure AD B2C) include un set di attributi predefiniti, ad esempio nome, cognome, città, codice postale e numero di telefono. È possibile estendere il profilo utente con i dati dell'applicazione senza che sia necessario un archivio dati esterno.

L'API Microsoft Graph supporta la maggior parte degli attributi che è possibile usare con Azure Questo articolo descrive gli attributi del profilo utente supportati da Azure AD B2C. Annota anche gli attributi che Microsoft Graph non supporta e gli attributi dell'API Microsoft Graph che Azure AD B2C non deve usare.

Importante

Non è consigliabile usare attributi predefiniti o di estensione per archiviare dati personali sensibili, ad esempio credenziali dell'account, numeri di identificazione per enti pubblici, dati di titolari di carte, dati di account finanziari, informazioni sanitarie o informazioni di background riservate.

È anche possibile integrare sistemi esterni. Ad esempio, è possibile usare Azure AD B2C per l'autenticazione, ma delegare a un database CRM (Customer Relationship Management) o di gestione della fedeltà clienti esterno come fonte autorevole di dati dei clienti. Per altre informazioni, vedere la soluzione Profilo remoto.

Tipo di risorsa utente Microsoft Entra

Il profilo utente della directory di Azure AD B2C supporta gli attributi del tipo di risorsa utente elencati nella tabella seguente. Essa fornisce le informazioni seguenti su ogni attributo:

  • Nome dell'attributo usato da Azure AD B2C (seguito dal nome Microsoft Graph tra parentesi, se diverso)
  • Tipo di dati dell'attributo
  • Descrizione dell'attributo
  • Indica se l'attributo è disponibile nel portale di Azure
  • Indica se l'attributo può essere usato in un flusso utente
  • Indica se l'attributo può essere usato in un profilo tecnico microsoft Entra ID personalizzato e in quale sezione (<InputClaims>, <OutputClaims> o <PersistedClaims>)
Name Tipo di data Descrizione Disponibile in portale di Azure Usato nei flussi utente Usato nei criteri personalizzati
accountEnabled Boolean Indica se l'account utente è abilitato o disabilitato: true se l'account è abilitato, false in caso contrario. No Persisted, Output
ageGroup Stringa Gruppo di età dell'utente. Valori possibili: null, Undefined, Minor, Adult, NotAdult. No Persisted, Output
alternativeSecurityId (Identità) Stringa Singola identità utente fornita dal provider di identità esterno. No No Input, Persisted, Output
alternativeSecurityIds (Identità) raccolta securityId alternativa Raccolta di identità utente da provider di identità esterni. No No Persisted, Output
city Stringa Città di residenza dell'utente. Lunghezza massima 128. Persisted, Output
consentProvidedForMinor Stringa Indica se il consenso è stato fornito per un minore. Valori consentiti: null, granted, denied o notRequired. No Persisted, Output
country Stringa Paese/area geografica dell'utente. Ad esempio: Stati Uniti o Regno Unito. Lunghezza massima 128. Persisted, Output
createdDateTime Data/Ora Data di creazione dell'oggetto utente. Sola lettura. No No Persisted, Output
creationType Stringa Se l'account utente è stato creato come account locale per un tenant di Azure Active Directory B2C, il valore è LocalAccount o nameCoexistence. Sola lettura. No No Persisted, Output
dateOfBirth Data Data di nascita. No No Persisted, Output
department Stringa Nome del reparto in cui lavora l'utente. Lunghezza massima 64. No Persisted, Output
displayName Stringa Nome visualizzato per l'utente. Lunghezza massima 256. <> i caratteri non sono consentiti. Persisted, Output
facsimileTelephoneNumber1 Stringa Numero del fax aziendale dell'utente. No Persisted, Output
givenName Stringa Nome (di battesimo) dell'utente. Lunghezza massima 64. Persisted, Output
jobTitle Stringa Posizione dell'utente. Lunghezza massima 128. Persisted, Output
immutableId Stringa Identificatore in genere usato per gli utenti migrati da Active Directory locale. No No Persisted, Output
legalAgeGroupClassification Stringa Classificazione legale per fascia d'età. Di sola lettura e calcolata in base alle proprietà ageGroup e consentProvidedForMinor. Valori consentiti: null, minorWithOutParentalConsent, minorWithParentalConsent, minorNoParentalConsentRequired, notAdult e adult. No Persisted, Output
legalCountry1 Stringa Paese/regione per finalità legali. No No Persisted, Output
mailNickName Stringa Alias di posta elettronica dell'utente. Lunghezza massima 64. No No Persisted, Output
cellulare (mobilePhone) Stringa Numero di telefono cellulare principale dell'utente. Lunghezza massima 64. No Persisted, Output
netId Stringa ID di rete. No No Persisted, Output
objectId Stringa Identificatore univoco globale (GUID) che rappresenta l'identificatore univoco per l'utente. Esempio: 12345678-9abc-def0-1234-56789abcde. Di sola lettura, non modificabile. Sola lettura Input, Persisted, Output
otherMails Raccolta di tipi string Elenco di altri indirizzi di posta elettronica per l'utente. Esempio: ["bob@contoso.com", "Robert@fabrikam.com"]. NOTA: i caratteri accentati non sono consentiti. Sì (indirizzo di posta elettronica alternativo) No Persisted, Output
password Stringa Password per l'account locale durante la creazione dell'utente. No No Persisted
passwordPolicies Stringa Criteri della password. Stringa costituita da nomi di criteri diversi separati da virgola. Ad esempio, "DisablePasswordExpiration, DisableStrongPassword". No No Persisted, Output
physicalDeliveryOfficeName (officeLocation) Stringa Posizione dell'ufficio nel luogo di lavoro dell'utente. Lunghezza massima 128. No Persisted, Output
postalCode Stringa Il CAP dell'indirizzo postale dell'utente. Il CAP è specifico del Paese/della regione dell'utente. Nel Stati Uniti, questo attributo contiene il CAP. Lunghezza massima 40. No Persisted, Output
preferredLanguage Stringa Lingua preferita per l'utente. Il formato di lingua preferito è basato su RFC 4646. Il nome è una combinazione di un codice delle impostazioni cultura minuscole ISO 639 a due lettere associato alla lingua e un codice di sottoculture in maiuscolo ISO 3166 a due lettere associato al paese o all'area geografica. Ad esempio: en-US o es-ES. No No Persisted, Output
refreshTokensValidFromDateTime (signInSessionsValidFromDateTime) Data/Ora Tutti i token di aggiornamento rilasciati prima di questo periodo non sono validi e le applicazioni ricevono un errore quando si usa un token di aggiornamento non valido per acquisire un nuovo token di accesso. In questo caso, l'applicazione deve acquisire un nuovo token di aggiornamento effettuando una richiesta all'endpoint di autorizzazione. Sola lettura. No No Output
signInNames (Identità) Stringa Nome di accesso univoco dell'utente dell'account locale di qualsiasi tipo nella directory. Usare questo attributo per ottenere un utente con valore di accesso senza specificare il tipo di account locale. No No Input
signInNames.userName (Identità) Stringa Nome utente univoco dell'utente dell'account locale nella directory. Usare questo attributo per creare o ottenere un utente con un nome utente di accesso specifico. Se si specifica questo attributo in PersistedClaims solo durante l'operazione patch, vengono rimossi altri tipi di signInNames. Per aggiungere un nuovo tipo di signInNames, è necessario salvare anche in modo permanente il valore signInNames esistente. NOTA: i caratteri accentati non sono consentiti nel nome utente. No No Input, Persisted, Output
signInNames.phoneNumber (Identità) Stringa Numero di telefono univoco dell'utente dell'account locale nella directory. Usare questo attributo per creare o ottenere un utente con un numero di telefono di accesso specifico. Se si specifica questo attributo in PersistedClaims solo durante l'operazione patch, vengono rimossi altri tipi di signInNames. Per aggiungere un nuovo tipo di signInNames, è necessario salvare anche in modo permanente il valore signInNames esistente. No No Input, Persisted, Output
signInNames.emailAddress (Identità) Stringa Indirizzo di posta elettronica univoco dell'utente dell'account locale nella directory. Usare questo attributo per creare o ottenere un utente con un indirizzo di posta elettronica di accesso specifico. Se si specifica questo attributo in PersistedClaims solo durante l'operazione patch, vengono rimossi altri tipi di signInNames. Per aggiungere un nuovo tipo di signInNames, è necessario salvare anche in modo permanente il valore signInNames esistente. No No Input, Persisted, Output
state Stringa Stato o provincia dell'utente. Lunghezza massima 128. Persisted, Output
streetAddress Stringa Indirizzo della sede di lavoro dell'utente. Lunghezza massima 1024. Persisted, Output
strongAuthentication AlternativePhoneNumber1 Stringa Numero di telefono secondario dell'utente, utilizzato per l'autenticazione a più fattori. No Persisted, Output
strongAuthenticationEmailAddress1 Stringa Indirizzo SMTP dell'utente. Esempio: "bob@contoso.com" Questo attributo viene usato per l'accesso con il criterio username, per archiviare l'indirizzo di posta elettronica dell'utente. Indirizzo di posta elettronica usato in un flusso di reimpostazione della password. I caratteri accentati non sono consentiti in questo attributo. No Persisted, Output
strongAuthentication Telefono Numero2 Stringa Numero di telefono primario dell'utente, utilizzato per l'autenticazione a più fattori. No Persisted, Output
surname Stringa Cognome dell'utente. Lunghezza massima 64. Persisted, Output
telephoneNumber (prima voce del valore businessPhones) Stringa Numero di telefono principale della sede di lavoro dell'utente. No Persisted, Output
userPrincipalName Stringa Nome dell'entità utente (UPN) dell'utente. L'UPN è un nome di accesso Internet per un utente basato sullo standard Internet RFC 822. Il dominio deve essere presente nella raccolta di tenant dei domini verificati. Questa proprietà è obbligatoria quando viene creato un account. Non modificabile. No No Input, Persisted, Output
usageLocation Stringa Obbligatorio per gli utenti a cui sono assegnate licenze a causa del requisito legale di verificare la disponibilità dei servizi nei paesi o nelle aree geografiche. Non ammette i valori NULL. Codice Paese/regione di due lettere (standard ISO 3166). Ad esempio, STATI Uniti, JP e GB. No Persisted, Output
userType Stringa Valore stringa che può essere usato per classificare i tipi di utente nella directory. Il valore deve essere "Member". Sola lettura. Sola lettura No Persisted, Output
userState (externalUserState)3 Stringa Solo per l'account Microsoft Entra B2B e indica se l'invito è PendingAcceptance o Accepted. No No Persisted, Output
userStateChangedOn (externalUserStateChangeDateTime)2 Data/Ora Mostra il timestamp delle modifiche più recenti alla proprietà UserState. No No Persisted, Output

1 Non supportato da Microsoft Graph
2 Per altre informazioni, vedere Attributo numero di telefono MFA
3 Non deve essere usato con Azure AD B2C

Attributi obbligatori

Per creare un account utente nella directory di Azure AD B2C, specificare gli attributi necessari seguenti:

  • Nome visualizzato

  • Identità: con almeno un'entità (un account locale o federato).

  • Profilo password: se si crea un account locale, specificare il profilo password.

Attributo del nome visualizzato

displayName è il nome da visualizzare in portale di Azure gestione utenti per l'utente e nel token di accesso restituito da Azure AD B2C all'applicazione. Questa proprietà è obbligatoria.

Attributo Identities

Un account cliente, che può essere un consumer, un partner o un cittadino, può essere associato a questi tipi di identità:

  • Identità locale : il nome utente e la password vengono archiviati localmente nella directory di Azure AD B2C. Queste identità sono spesso dette "account locali".
  • Identità federata : nota anche come account di social networking o aziendale , l'identità dell'utente viene gestita da un provider di identità federato come Facebook, Microsoft, ADFS o Salesforce.

Un utente con un account cliente può accedere con più identità. Ad esempio, nome utente, posta elettronica, ID dipendente, ID governo e altri. Un singolo account può avere più identità, sia locali che social, con la stessa password.

Nell'API Microsoft Graph le identità locali e federate vengono archiviate nell'attributo utente identities , che è di tipo objectIdentity. La identities raccolta rappresenta un set di identità usate per accedere a un account utente. Questa raccolta consente all'utente di accedere all'account utente con una delle identità associate. L'attributo identities può contenere fino a 10 oggetti objectIdentity . Ogni oggetto contiene le proprietà seguenti:

Nome Tipo Descrizione
signInType stringa Specifica i tipi di accesso utente nella directory. Per l'account locale: emailAddress, emailAddress1, emailAddress2emailAddress3, , userNameo qualsiasi altro tipo desiderato. L'account di social networking deve essere impostato su federated.
Autorità di certificazione stringa Specifica l'emittente dell'identità. Per gli account locali (dove signInType non federatedè ), questa proprietà è il nome di dominio predefinito del tenant B2C locale, ad esempio contoso.onmicrosoft.com. Per l'identità social (dove signInType è federated) il valore è il nome dell'autorità emittente, ad esempio facebook.com
issuerAssignedId stringa Specifica l'identificatore univoco assegnato all'utente dall'emittente. La combinazione di issuer e issuerAssignedId deve essere univoca all'interno del tenant. Per l'account locale, quando signInType è impostato su emailAddress o userName, rappresenta il nome di accesso per l'utente.
Quando signInType è impostato su:
  • emailAddress (o inizia con emailAddress , ad esempio emailAddress1) issuerAssignedId deve essere un indirizzo di posta elettronica valido
  • userName (o qualsiasi altro valore), issuerAssignedId deve essere una parte locale valida di un indirizzo di posta elettronica
  • federated, issuerAssignedId rappresenta l'identificatore univoco dell'account federato

Il frammento JSON seguente mostra l'attributo Identityes , con un'identità dell'account locale con un nome di accesso, un indirizzo di posta elettronica come accesso e un'identità di social networking.

"identities": [
  {
    "signInType": "userName",
    "issuer": "contoso.onmicrosoft.com",
    "issuerAssignedId": "johnsmith"
  },
  {
    "signInType": "emailAddress",
    "issuer": "contoso.onmicrosoft.com",
    "issuerAssignedId": "jsmith@yahoo.com"
  },
  {
    "signInType": "federated",
    "issuer": "facebook.com",
    "issuerAssignedId": "5eecb0cd"
  }
]

Per le identità federate, a seconda del provider di identità, issuerAssignedId è un valore univoco per un determinato utente per ogni applicazione o account di sviluppo. Configurare i criteri di Azure AD B2C con lo stesso ID applicazione assegnato dal provider di social networking o da un'altra applicazione all'interno dello stesso account di sviluppo.

Proprietà del profilo password

Per un'identità locale, l'attributo passwordProfile è obbligatorio e contiene la password dell'utente. L'attributo forceChangePasswordNextSignIn indica se un utente deve reimpostare la password al successivo accesso. Per gestire una reimpostazione della password forzata, usare le istruzioni riportate in Configurare il flusso di reimpostazione della password forzata.

Per un'identità federata (social), l'attributo passwordProfile non è obbligatorio.

"passwordProfile" : {
    "password": "password-value",
    "forceChangePasswordNextSignIn": false
  }

Attributo dei criteri password

I criteri password di Azure AD B2C (per gli account locali) si basano sui criteri di complessità della password complessa di Microsoft Entra ID. I criteri di iscrizione o di accesso e reimpostazione della password di Azure AD B2C richiedono questo livello di complessità della password complessa e non scadono le password.

Negli scenari di migrazione degli utenti, se gli account di cui si vuole eseguire la migrazione hanno un livello di complessità della password più debole rispetto al livello di complessità della password complessa applicato da Azure AD B2C, è possibile disabilitare il requisito di password complessa. Per modificare i criteri password predefiniti, impostare l'attributo passwordPolicies su DisableStrongPassword. È ad esempio possibile modificare la richiesta di creazione utente come segue:

"passwordPolicies": "DisablePasswordExpiration, DisableStrongPassword"

Attributo numero di telefono MFA

Quando si usa un telefono per l'autenticazione a più fattori (MFA), il telefono cellulare viene usato per verificare l'identità dell'utente. Per aggiungere un nuovo numero di telefono a livello di codice, aggiornare, ottenere o eliminare il numero di telefono, usare il metodo di autenticazione telefono dell'API Graph ms.

Nei criteri personalizzati di Azure AD B2C il numero di telefono è disponibile tramite strongAuthenticationPhoneNumber il tipo di attestazione.

Attributi di estensione

Ogni applicazione rivolta al cliente ha requisiti univoci per le informazioni da raccogliere. Il tenant di Azure AD B2C include un set predefinito di informazioni archiviate in proprietà, ad esempio nome, cognome e codice postale. Con Azure AD B2C è possibile estendere il set di proprietà archiviate in ogni account cliente. Per altre informazioni, vedere Aggiungere attributi utente e personalizzare l'input dell'utente in Azure Active Directory B2C

Gli attributi di estensione estendono lo schema degli oggetti utente nella directory. Gli attributi di estensione possono essere registrati solo su un oggetto applicazione anche se possono contenere dati per un utente. L'attributo di estensione è associato all'applicazione denominata b2c-extensions-app. Non modificare questa applicazione, perché viene usata da Azure AD B2C per l'archiviazione dei dati utente. È possibile trovare questa applicazione in Microsoft Entra Registrazioni app. Altre informazioni su Azure AD B2Cb2c-extensions-app.

Nota

  • È possibile scrivere fino a 100 attributi di estensione per qualsiasi account utente.
  • Se l'applicazione b2c-extensions-app viene eliminata, gli attributi di estensione vengono rimossi da tutti gli utenti assieme ai dati che contengono.
  • Se l'applicazione elimina un attributo di estensione, questo viene rimosso da tutti gli account utente e i valori vengono eliminati.

Gli attributi di estensione nell'API Graph vengono denominati usando la convenzione extension_ApplicationClientID_AttributeName, dove:

  • ApplicationClientID è l'ID applicazione (client) dell'applicazioneb2c-extensions-app. Informazioni su come trovare l'app delle estensioni.
  • AttributeName è il nome dell'attributo di estensione.

L'ID applicazione (client) quando usato per creare il nome dell'attributo di estensione non include trattini. Ad esempio:

"extension_831374b3bd5041bfaa54263ec9e050fc_loyaltyNumber": "212342"

Quando si definisce un attributo in un'estensione dello schema, sono supportati i tipi di dati seguenti:

Tipo Osservazioni:
Boolean Valori possibili: true o false.
Data/Ora Deve essere specificato nel formato ISO 8601. Il valore viene archiviato in formato UTC.
Intero Valore a 32 bit.
Stringa 256 caratteri al massimo.

Passaggi successivi

Altre informazioni sugli attributi di estensione: