Уведомление об истечении срока действия пароля azure ad b2c

У нас много клиентов Azure B2C - около 30. Мы заметили - и теперь клиенты жалуются, - что срок действия паролей «похоже» истекает. Однако уведомление об истечении срока действия пароля не отправляется. (Это в дополнение к сообщению об ошибке B2C для просроченных паролей «Неверное имя пользователя или пароль». Не очень информативно).

Это локальные учетные записи, которые используют адрес электронной почты для входа в систему. Есть ли какие-либо подсказки о том, почему до истечения срока действия пароля не отправляются уведомления (электронные письма)?

Также обратите внимание, что, по-видимому, для B2C нет политики истечения срока действия пароля:

https://feedback.azure.com/forums/169401-azure-active-directory/suggestions/16861060-aadb2c-password-expiration

Это данные, возвращаемые B2CGraphClient:

{
  "odata.type": "Microsoft.DirectoryServices.User",
  "objectType": "User",
  "objectId": "<redacted objectid>",
  "deletionTimestamp": null,
  "accountEnabled": true,
  "ageGroup": null,
  "assignedLicenses": [],
  "assignedPlans": [],
  "city": null,
  "companyName": null,
  "consentProvidedForMinor": null,
  "country": null,
  "createdDateTime": "2018-03-08T00:46:29Z",
  "creationType": "LocalAccount",
  "department": null,
  "dirSyncEnabled": null,
  "displayName": "Super Admin",
  "employeeId": null,
  "facsimileTelephoneNumber": null,
  "givenName": null,
  "immutableId": null,
  "isCompromised": null,
  "jobTitle": null,
  "lastDirSyncTime": null,
  "legalAgeGroupClassification": null,
  "mail": null,
  "mailNickname": "<redacted other id>",
  "mobile": null,
  "onPremisesDistinguishedName": null,
  "onPremisesSecurityIdentifier": null,
  "otherMails": [],
  "passwordPolicies": null,
  "passwordProfile": null,
  "physicalDeliveryOfficeName": null,
  "postalCode": null,
  "preferredLanguage": null,
  "provisionedPlans": [],
  "provisioningErrors": [],
  "proxyAddresses": [],
  "refreshTokensValidFromDateTime": "2018-06-11T16:53:48Z",
  "showInAddressList": null,
  "signInNames": [
    {
      "type": "emailAddress",
      "value": "<redacted email address>"
    }
  ],
  "sipProxyAddress": null,
  "state": null,
  "streetAddress": null,
  "surname": null,
  "telephoneNumber": null,
  "thumbnailPhoto@odata.mediaEditLink": "directoryObjects/<redacted objectid>/Microsoft.DirectoryServices.User/thumbnailPhoto",
  "usageLocation": null,
  "userIdentities": [],
  "userPrincipalName": "<redacted other id>@<redacted tenant>.onmicrosoft.com",
  "userState": null,
  "userStateChangedOn": null,
  "userType": "Guest"
}

Вот данные, полученные от Get-MSOLUser:

ExtensionData                          : System.Runtime.Serialization.ExtensionDataObject
AlternateEmailAddresses                : {}
AlternateMobilePhones                  : {}
AlternativeSecurityIds                 : {}
BlockCredential                        : False
City                                   :
CloudExchangeRecipientDisplayType      :
Country                                :
Department                             :
DirSyncProvisioningErrors              : {}
DisplayName                            : Super Admin
Errors                                 :
Fax                                    :
FirstName                              :
ImmutableId                            :
IndirectLicenseErrors                  : {}
IsBlackberryUser                       : False
IsLicensed                             : False
LastDirSyncTime                        :
LastName                               :
LastPasswordChangeTimestamp            : 6/11/2018 4:53:48 PM
LicenseReconciliationNeeded            : False
Licenses                               : {}
LiveId                                 : <redacted id>
MSExchRecipientTypeDetails             :
MobilePhone                            :
ObjectId                               : <redacted objectid>
Office                                 :
OverallProvisioningStatus              : None
PasswordNeverExpires                   :
PasswordResetNotRequiredDuringActivate :
PhoneNumber                            :
PortalSettings                         :
PostalCode                             :
PreferredDataLocation                  :
PreferredLanguage                      :
ProxyAddresses                         : {}
ReleaseTrack                           :
ServiceInformation                     : {}
SignInName                             : <redacted other id>@<tenant>.onmicrosoft.com
SoftDeletionTimestamp                  :
State                                  :
StreetAddress                          :
StrongAuthenticationMethods            : {}
StrongAuthenticationPhoneAppDetails    : {}
StrongAuthenticationProofupTime        :
StrongAuthenticationRequirements       : {}
StrongAuthenticationUserDetails        : Microsoft.Online.Administration.StrongAuthenticationUserDetails
StrongPasswordRequired                 :
StsRefreshTokensValidFrom              : 6/11/2018 4:53:48 PM
Title                                  :
UsageLocation                          :
UserLandingPageIdentifierForO365Shell  :
UserPrincipalName                      : <redacted other id>@<tenant>.onmicrosoft.com
UserThemeIdentifierForO365Shell        :
UserType                               : Guest
ValidationStatus                       : Healthy
WhenCreated                            : 3/8/2018 12:46:29 AM
1
0
1 068
1

Ответы 1

Я считаю, что срок действия паролей истекает, потому что были созданы локальные учетные записи без, для свойства passwordPolicies установлено значение DisablePasswordExpiration.

Таким образом, срок действия паролей истекает через 90 дней, и, к сожалению, затронутые конечные пользователи не уведомляются об этом.

Если локальная учетная запись создается с использованием встроенной политики, то эта политика устанавливает для этого свойства значение DisablePasswordExpiration.

Если локальная учетная запись создается с использованием настраиваемой политики или API Graph Azure AD, необходимо установить для свойства значение DisablePasswordExpiration.

Примеры API Graph Azure AD см. В разделе раздел Создание пользовательских учетных записей пользователей из статья Azure AD B2C: использование API-интерфейса Azure AD Graph.

Чтобы исправить это, вам, возможно, придется:

  1. ПАТЧИРОВАТЬ все локальные учетные записи, чтобы установить для свойства passwordPolicies значение DisablePasswordExpiration.
  2. Сообщите затронутым конечным пользователям, что они должны сбросить пароли.

Спасибо, Крис, да, мы используем банкомат Graph API, поэтому, хотя было бы сложно выключить его, мы могли бы это сделать. Результатом может быть либо отсутствие истечения срока действия пароля, либо истечение срока действия пароля без уведомления (или подсказки на экране входа в систему при использовании старого пароля). Ходили ли слухи о добавлении возможности уведомлений?

G Mac 14.09.2018 17:50

Привет, @GMac. Вы можете переключиться на политику регистрации, которая поддерживает изменение пароля с истекшим сроком действия. Вы также можете проголосовать за функцию истечения срока действия на форум обратной связи.

Chris Padgett 19.09.2018 07:09

Спасибо @Chris Padgett. К сожалению, мы можем использовать только политику регистрации / входа, поскольку нам нужна настройка пользовательского интерфейса, и на самом деле мы подавляем аспект регистрации, поскольку нас только приглашают. Да, я проголосовал за эту функцию - 30 голосов и подсчет!

G Mac 19.09.2018 18:13

Другие вопросы по теме