Migrera användare till Azure AD B2CMigrate users to Azure AD B2C

Att migrera från en annan identitetsprovider till Azure Active Directory B2C (Azure AD B2C) kan också kräva att befintliga användar konton migreras.Migrating from another identity provider to Azure Active Directory B2C (Azure AD B2C) might also require migrating existing user accounts. Två metoder för migrering beskrivs här, för migrering och sömlös migrering.Two migration methods are discussed here, pre migration and seamless migration. Med båda metoderna måste du skriva ett program eller skript som använder Microsoft Graph-API: et för att skapa användar konton i Azure AD B2C.With either approach, you're required to write an application or script that uses the Microsoft Graph API to create user accounts in Azure AD B2C.

Före migreringPre migration

I flödet för migrering utför migreringen följande steg för varje användar konto:In the pre migration flow, your migration application performs these steps for each user account:

  1. Läs användar kontot från den gamla identitets leverantören, inklusive dess aktuella autentiseringsuppgifter (användar namn och lösen ord).Read the user account from the old identity provider, including its current credentials (username and password).
  2. Skapa ett motsvarande konto i din Azure AD B2C katalog med de aktuella autentiseringsuppgifterna.Create a corresponding account in your Azure AD B2C directory with the current credentials.

Använd för inmigrerings flödet i någon av dessa två situationer:Use the pre migration flow in either of these two situations:

  • Du har åtkomst till en användares autentiseringsuppgifter för oformaterad text (användar namn och lösen ord).You have access to a user's plaintext credentials (their username and password).
  • Autentiseringsuppgifterna är krypterade, men du kan dekryptera dem.The credentials are encrypted, but you can decrypt them.

Information om hur du skapar användar konton via programmering finns i hantera Azure AD B2C användar konton med Microsoft Graph.For information about programmatically creating user accounts, see Manage Azure AD B2C user accounts with Microsoft Graph.

Sömlös migreringSeamless migration

Använd det sömlösa migreringsjobbet om lösen ord för klartext i den gamla identitets leverantören inte är tillgängliga.Use the seamless migration flow if plaintext passwords in the old identity provider are not accessible. Till exempel när:For example, when:

  • Lösen ordet lagras i ett enkelriktat krypterat format, t. ex. med en hash-funktion.The password is stored in a one-way encrypted format, such as with a hash function.
  • Lösen ordet lagras av den äldre identitets leverantören på ett sätt som du inte kan komma åt.The password is stored by the legacy identity provider in a way that you can't access. Till exempel när identitets leverantören verifierar autentiseringsuppgifter genom att anropa en webb tjänst.For example, when the identity provider validates credentials by calling a web service.

Det sömlösa migreringsjobbet kräver fortfarande för migrering av användar konton, men använder sedan en anpassad princip för att fråga en REST API (som du skapar) för att ange varje användares lösen ord vid första inloggningen.The seamless migration flow still requires pre migration of user accounts, but then uses a custom policy to query a REST API (which you create) to set each users' password at first sign-in.

Det sömlösa migreringsjobbet har därför två faser: för migrering och ange autentiseringsuppgifter.The seamless migration flow thus has two phases: pre migration and set credentials.

Fas 1: för migreringPhase 1: Pre migration

  1. Ditt program för migrering läser användar kontona från den gamla identitets leverantören.Your migration application reads the user accounts from the old identity provider.
  2. Programmet för migrering skapar motsvarande användar konton i din Azure AD B2C katalog, men anger inte lösen ord.The migration application creates corresponding user accounts in your Azure AD B2C directory, but does not set passwords.

Fas 2: ange autentiseringsuppgifterPhase 2: Set credentials

När du har migrerat kontona är det en anpassad princip och REST API sedan utföra följande när en användare loggar in:After pre migration of the accounts is complete, your custom policy and REST API then perform the following when a user signs in:

  1. Läs Azure AD B2C användar kontot som motsvarar den angivna e-postadressen.Read the Azure AD B2C user account corresponding to the email address entered.
  2. Kontrol lera om kontot är flaggat för migrering genom att utvärdera ett booleskt tilläggs attribut.Check whether the account is flagged for migration by evaluating a boolean extension attribute.
    • Om attributet för tillägg returnerar True , anropar du REST API för att verifiera lösen ordet mot den äldre identitets leverantören.If the extension attribute returns True, call your REST API to validate the password against the legacy identity provider.
      • Om REST API anger att lösen ordet är felaktigt, returnerar du ett eget fel för användaren.If the REST API determines the password is incorrect, return a friendly error to the user.
      • Om REST API anger att lösen ordet är korrekt skriver du lösen ordet till Azure AD B2C-kontot och ändrar attributet Boolean-tillägg till False .If the REST API determines the password is correct, write the password to the Azure AD B2C account and change the boolean extension attribute to False.
    • Om attributet Boolean-tillägg returnerar False , Fortsätt inloggnings processen som vanligt.If the boolean extension attribute returns False, continue the sign-in process as normal.

Om du vill se ett exempel på en anpassad princip och REST API går du till exemplet på sömlös användarmigrering på GitHub.To see an example custom policy and REST API, see the seamless user migration sample on GitHub.

Flödes schema diagram över sömlös migrering för att migrera användareFlowchart diagram of the seamless migration approach to user migration
Diagram: sömlöst migreringsjobbDiagram: Seamless migration flow

Bästa praxisBest practices

SäkerhetSecurity

Den sömlösa migreringen använder egna anpassade REST API för att verifiera en användares autentiseringsuppgifter mot den äldre identitets leverantören.The seamless migration approach uses your own custom REST API to validate a user's credentials against the legacy identity provider.

Du måste skydda din REST API mot brute-force-attacker.You must protect your REST API against brute-force attacks. En angripare kan skicka flera lösen ord i hoppas att du vill gissa användarens autentiseringsuppgifter.An attacker can submit several passwords in the hope of eventually guessing a user's credentials. För att förhindra sådana angrepp kan du sluta betjäna begär anden till din REST API när antalet inloggnings försök passerar ett visst tröskelvärde.To help defeat such attacks, stop serving requests to your REST API when the number of sign-in attempts passes a certain threshold. Skydda även kommunikationen mellan Azure AD B2C och REST API.Also, secure the communication between Azure AD B2C and your REST API. Information om hur du skyddar dina RESTful-API: er för produktion finns i Secure RESTful API.To learn how to secure your RESTful APIs for production, see Secure RESTful API.

AnvändarattributUser attributes

All information i den äldre identitets leverantören bör inte migreras till din Azure AD B2Cs katalog.Not all information in the legacy identity provider should be migrated to your Azure AD B2C directory. Identifiera lämplig uppsättning användarattribut som ska lagras i Azure AD B2C innan du migrerar.Identify the appropriate set of user attributes to store in Azure AD B2C before migrating.

  • Lagra i Azure AD B2CDO store in Azure AD B2C
    • Användar namn, lösen ord, e-postadresser, telefonnummer, medlemskaps nummer/identifierare.Username, password, email addresses, phone numbers, membership numbers/identifiers.
    • Medgivande markörer för sekretess policy och slut användar licens avtal.Consent markers for privacy policy and end-user license agreements.
  • Lagra inte i Azure AD B2CDO NOT store in Azure AD B2C
    • Känsliga data som kreditkorts nummer, person nummer (SSN), medicinska uppgifter eller andra data som regleras av myndigheter eller organisationer som uppfyller bransch kraven.Sensitive data like credit card numbers, social security numbers (SSN), medical records, or other data regulated by government or industry compliance bodies.
    • Inställningar för marknadsföring eller kommunikation, användar beteenden och insikter.Marketing or communication preferences, user behaviors, and insights.

Rensa katalogDirectory clean-up

Innan du påbörjar migreringsprocessen, kan du ta chansen att rensa katalogen.Before you start the migration process, take the opportunity to clean up your directory.

  • Identifiera den uppsättning användarattribut som ska lagras i Azure AD B2C och migrera bara vad du behöver.Identify the set of user attributes to be stored in Azure AD B2C, and migrate only what you need. Om det behövs kan du skapa anpassade attribut för att lagra mer data om en användare.If necessary, you can create custom attributes to store more data about a user.
  • Om du migrerar från en miljö med flera källor för autentisering (till exempel varje program har en egen användar katalog), migrera till ett enhetligt konto i Azure AD B2C.If you're migrating from an environment with multiple authentication sources (for example, each application has its own user directory), migrate to a unified account in Azure AD B2C.
  • Om flera program har olika användar namn kan du lagra dem i ett Azure AD B2C användar konto med hjälp av samlingen identiteter.If multiple applications have different usernames, you can store all of them in an Azure AD B2C user account by using the identities collection. Med avseende på lösen ordet kan användaren välja en och ange den i katalogen.With regard to the password, let the user choose one and set it in the directory. Med den sömlösa migreringen ska du till exempel bara lagra det valda lösen ordet i Azure AD B2C-kontot.For example, with the seamless migration, only the chosen password should be stored in the Azure AD B2C account.
  • Ta bort oanvända användar konton före migrering eller migrera inte inaktuella konton.Remove unused user accounts before migration, or do not migrate stale accounts.

Lösen ords principPassword policy

Om de konton som du migrerar har svag lösen ords styrka än den starka lösen ords styrkan som tillämpas av Azure AD B2C, kan du inaktivera kravet på starkt lösen ord.If the accounts you're migrating have weaker password strength than the strong password strength enforced by Azure AD B2C, you can disable the strong password requirement. Mer information finns i egenskapen lösen ords princip.For more information, see Password policy property.

Nästa stegNext steps

Azure-AD-B2C/User-migration -lagringsplatsen på GitHub innehåller ett sömlöst exempel på en anpassad princip för migrering och REST API kod exempel:The azure-ad-b2c/user-migration repository on GitHub contains a seamless migration custom policy example and REST API code sample:

Anpassad princip för migrering av en användare & REST API kod exempelSeamless user migration custom policy & REST API code sample