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. | Sì | No | Persisted, Output |
ageGroup | Stringa | Gruppo di età dell'utente. Valori possibili: null, Undefined, Minor, Adult, NotAdult. | Sì | 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. | Sì | Sì | Persisted, Output |
consentProvidedForMinor | Stringa | Indica se il consenso è stato fornito per un minore. Valori consentiti: null, granted, denied o notRequired. | Sì | No | Persisted, Output |
country | Stringa | Paese/area geografica dell'utente. Ad esempio: Stati Uniti o Regno Unito. Lunghezza massima 128. | Sì | Sì | 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. | Sì | No | Persisted, Output |
displayName | Stringa | Nome visualizzato per l'utente. Lunghezza massima 256. <> i caratteri non sono consentiti. | Sì | Sì | Persisted, Output |
facsimileTelephoneNumber1 | Stringa | Numero del fax aziendale dell'utente. | Sì | No | Persisted, Output |
givenName | Stringa | Nome (di battesimo) dell'utente. Lunghezza massima 64. | Sì | Sì | Persisted, Output |
jobTitle | Stringa | Posizione dell'utente. Lunghezza massima 128. | Sì | Sì | 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. | Sì | 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. | Sì | 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 | Sì | 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. | Sì | 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. | Sì | 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. | Sì | Sì | Persisted, Output |
streetAddress | Stringa | Indirizzo della sede di lavoro dell'utente. Lunghezza massima 1024. | Sì | Sì | Persisted, Output |
strongAuthentication AlternativePhoneNumber1 | Stringa | Numero di telefono secondario dell'utente, utilizzato per l'autenticazione a più fattori. | Sì | 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. | Sì | No | Persisted, Output |
strongAuthentication Telefono Numero2 | Stringa | Numero di telefono primario dell'utente, utilizzato per l'autenticazione a più fattori. | Sì | No | Persisted, Output |
surname | Stringa | Cognome dell'utente. Lunghezza massima 64. | Sì | Sì | Persisted, Output |
telephoneNumber (prima voce del valore businessPhones) | Stringa | Numero di telefono principale della sede di lavoro dell'utente. | Sì | 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. | Sì | 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:
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 , emailAddress2 emailAddress3 , , userName o 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:
|
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: