Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Od 1. května 2025 už nebude Azure AD B2C k dispozici k nákupu pro nové zákazníky. Další informace najdete v našich nejčastějších dotazech.
Tento článek popisuje, jak spravovat přístup uživatelů k vašim aplikacím pomocí Azure Active Directory B2C (Azure AD B2C). Správa přístupu ve vaší aplikaci zahrnuje:
- Identifikace nezletilých a řízení přístupu uživatelů k vaší aplikaci
- Vyžadování souhlasu rodiče pro děti, kteří mají vaše aplikace používat.
- Shromažďování údajů o narození a zemi/regionu od uživatelů.
- Zachycení smlouvy o použití a omezení přístupu.
Poznámka:
V Azure Active Directory B2C jsou vlastní zásady navržené především pro řešení složitých scénářů. Ve většině scénářů doporučujeme používat integrované toky uživatelů. Pokud jste to neudělali, přečtěte si informace o úvodním balíčku vlastních zásad v tématu Začínáme s vlastními zásadami ve službě Active Directory B2C.
Kontrola přístupu pro nezletilé
Aplikace a organizace se můžou rozhodnout blokovat používání aplikací a služeb, které nejsou určené pro tuto cílovou skupinu. Případně se mohou aplikace a organizace rozhodnout o přijetí menších osob a následné správě souhlasu rodiče a poskytovat přípustné zkušenosti pro malé osoby podle obchodních pravidel a povolených nařízením.
Pokud je uživatel identifikován jako nezletilý, můžete tok uživatele v Azure AD B2C nastavit na jednu ze tří možností:
Odešlete podepsaný JWT id_token zpět do aplikace: Uživatel je zaregistrován v adresáři a token je vrácen do aplikace. Aplikace pak pokračuje použitím obchodních pravidel. Aplikace může například pokračovat v procesu souhlasu rodiče. Chcete-li použít tuto metodu, zvolte obdržet z aplikace žádosti ageGroup a consentProvidedForMinor.
Odeslání nepodepsaného tokenu JSON do aplikace: Azure AD B2C upozorní aplikaci, že uživatel je menší a poskytne stav souhlasu rodiče uživatele. Aplikace pak pokračuje použitím obchodních pravidel. Token JSON neprovádí úspěšné ověření v aplikaci. Aplikace musí zpracovat neověřeného uživatele podle deklarací identity obsažených v tokenu JSON, který může zahrnovat název, e-mail, ageGroup a consentProvidedForMinor.
Blokovat uživatele: Pokud je uživatel menší a nebyl poskytnut souhlas rodiče, může Azure AD B2C uživatele upozornit, že je zablokovaný. Nevystaví se žádný token, přístup se zablokuje a uživatelský účet se během registrační cesty nevytvořil. K implementaci tohoto oznámení poskytnete vhodnou stránku obsahu HTML/CSS, která informuje uživatele a nabídne příslušné možnosti. Aplikace nevyžaduje žádnou další akci pro nové registrace.
Získání souhlasu rodiče
V závislosti na nařízení o aplikaci může být souhlas rodičů potřeba udělit uživateli, který je ověřený jako dospělý. Azure AD B2C neposkytuje zkušenosti s ověřením věku jednotlivce a potom umožňuje ověřenému dospělému udělit souhlas rodiče s nezletilou osobou. Toto prostředí musí poskytovat aplikace nebo jiný poskytovatel služeb.
Následuje příklad toku uživatele pro shromažďování souhlasu rodiče:
Operace rozhraní Microsoft Graph API identifikuje uživatele jako nezletilého a vrátí data uživatele aplikaci jako nepodepsaný token JSON.
Aplikace zpracuje JSON token a zobrazí obrazovku nezletilému, upozorní ho, že je vyžadován souhlas rodičů, a požádá o tento souhlas prostřednictvím aplikace.
Azure AD B2C ukazuje cestu přihlášení, ke které se uživatel může přihlásit za normálních okolností a vydá token pro aplikaci, která je nastavená tak, aby zahrnovala legalAgeGroupClassification = "minorWithParentalConsent". Aplikace shromažďuje e-mailovou adresu rodiče a ověřuje, že rodič je dospělý. K tomu používá důvěryhodný zdroj, například národní/regionální identifikační úřad, ověření licence nebo doklad o platební kartě. Pokud je ověření úspěšné, aplikace vyzve nezletilého k přihlášení pomocí uživatelského toku Azure AD B2C. Pokud je souhlas odepřen (například pokud legalAgeGroupClassification = "minorWithoutParentalConsent"), Azure AD B2C vrátí token JSON (nikoli přihlášení) k aplikaci, aby se proces souhlasu restartoval. Volitelně lze přizpůsobit tok uživatele tak, aby nezletilý nebo dospělý mohl znovu získat přístup k účtu nezletilého tím, že pošle registrační kód na e-mailovou adresu nezletilého nebo na e-mailovou adresu dospělého v záznamu.
Aplikace nabízí nezletilému možnost odvolat souhlas.
Pokud buď nezletilý nebo dospělý odvolá souhlas, lze rozhraní Microsoft Graph API použít ke změně souhlasuPoskytnutProNezletilé na odepřeno. Případně se aplikace může rozhodnout odstranit nezletilého, jehož souhlas byl odvolán. Je volitelně možné přizpůsobit tok uživatele tak, aby ověřený nezletilý (nebo rodič využívající účet nezletilého) mohl odvolat souhlas. Azure AD B2C zaznamenává souhlasProvidedForMinor jako odepřený.
Další informace o legalAgeGroupClassification, consentProvidedForMinor a ageGroup naleznete v části Typ prostředku uživatele. Další informace o vlastních atributech naleznete v části Použití vlastních atributů ke sběru informací o vašich spotřebitelích. Při adresování rozšířených atributů pomocí rozhraní Microsoft Graph API musíte použít dlouhou verzi atributu, například extension_18b70cf9bb834edd8f38521c2583cd86_dateOfBirth: 2011-01-01T00:00:00Z.
Shromáždění dat o narození a zemi/oblasti
Aplikace můžou spoléhat na Azure AD B2C, aby shromáždily informace o datu narození a zemi/oblasti od všech uživatelů během registrace. Pokud tyto informace ještě neexistují, může si ji aplikace vyžádat od uživatele během další cesty ověřování (přihlášení). Uživatelé nemohou pokračovat bez poskytnutí informací o datu narození a zemi/regionu. Azure AD B2C používá informace k určení, jestli je jednotlivec považován za vedlejší podle regulačních standardů dané země/oblasti.
Přizpůsobený uživatelský tok může shromáždit informace o datu narození (DOB) a zemi/oblasti a pomocí transformace deklarace identity Azure AD B2C určit věkovou skupinu a uložit výsledek (nebo přímo uložit informace o DOB a zemi/oblasti) do adresáře.
Následující kroky ukazují logiku, která se používá k výpočtu ageGroup z data narození uživatele:
Zkuste v seznamu najít zemi nebo oblast podle kódu země nebo oblasti. Pokud se země nebo oblast nenajde, vraťte se do výchozího stavu.
Pokud je uzel MinorConsent v elementu země/oblasti:
a. Vypočítejte datum, kdy se uživatel musí narodit, aby byl považován za dospělého. Pokud je například aktuální datum 14. března 2015 a MinorConsent je 18, datum narození nesmí být pozdější než 14. března 2000.
b) Porovnejte minimální datum narození se skutečným datem narození. Pokud je minimální datum narození před datem narození uživatele, vrátí výpočet menší hodnotu jako výpočet věkové skupiny.
Pokud je uzel MinorNoConsentRequired v prvku země/oblasti, opakujte kroky 2a a 2b pomocí hodnoty MinorNoConsentRequired. Výstup 2b vrátí MinorNoConsentRequired, pokud je minimální datum narození před datem narození uživatele.
Pokud ani jeden z výpočtů nevrací hodnotu true, vrátí výpočet hodnotu Pro dospělé.
Pokud aplikace spolehlivě shromáždila data dob nebo země/oblasti jinými metodami, může aplikace pomocí rozhraní Graph API aktualizovat záznam uživatele s použitím těchto informací. Například:
- Pokud je známo, že uživatel je dospělý, aktualizujte atribut adresáře ageGroup hodnotou Adult.
- Pokud je známo, že uživatel je nezletilý, aktualizujte atribut adresáře ageGroup hodnotou Minor a podle potřeby nastavte consentProvidedForMinor.
Menší pravidla výpočtu
Věkové omezení zahrnuje dvě věkové hodnoty: věk, od kterého člověk již není považován za nezletilého, a věk, do kterého musí mít nezletilý souhlas rodičů. V následující tabulce jsou uvedena věková pravidla, která se používají k definování malého a menšího věku vyžadujícího souhlas.
Země/oblast | Název země/oblasti | Věk způsobilosti k souhlasu nezletilých | Malý věk |
---|---|---|---|
Výchozí | Žádné | Žádné | 18 |
Æ | Spojené arabské emiráty | Žádné | 21 |
Na | Rakousko | 14 | 18 |
BÝT | Belgie | 14 | 18 |
BG | Bulharsko | 16 | 18 |
Bosna a Hercegovina | Bahrajn | Žádné | 21 |
CM | Kamerun | Žádné | 21 |
CY | Kypr | 16 | 18 |
CZ | Česká republika | 16 | 18 |
Německo | Německo | 16 | 18 |
DK | Dánsko | 16 | 18 |
EE | Estonsko | 16 | 18 |
např. | Egypt | Žádné | 21 |
ES | Španělsko | 13 | 18 |
FR | Francie | 16 | 18 |
GB | Spojené království | 13 | 18 |
GR | Řecko | 16 | 18 |
Lidské zdroje | Chorvatsko | 16 | 18 |
HU | Maďarsko | 16 | 18 |
Internet Explorer | Irsko | 13 | 18 |
Informační technologie | Itálie | 16 | 18 |
KR | Korejská republika | 14 | 18 |
LT | Litva | 16 | 18 |
LU | Lucembursko | 16 | 18 |
Lotyšsko | Lotyšsko | 16 | 18 |
MT | Malta | 16 | 18 |
Na | Namibie | Žádné | 21 |
Nizozemsko | Nizozemsko | 16 | 18 |
Polsko | Polsko | 13 | 18 |
PT | Portugalsko | 16 | 18 |
RO | Rumunsko | 16 | 18 |
SE | Švédsko | 13 | 18 |
SG | Singapur | Žádné | 21 |
Mezinárodní soustava jednotek (SI) | Slovinsko | 16 | 18 |
SK | Slovensko | 16 | 18 |
TD | Čad | Žádné | 21 |
TH | Thajsko | Žádné | 20 |
Tchaj-wan | Tchaj-wan | Žádné | 20 |
USA | Spojené státy americké | 13 | 18 |
Zachycení podmínek použití
Při vývoji aplikace obvykle zaznamenáváte souhlas uživatelů s podmínkami používání přímo v jejich aplikacích, a to bez účasti uživatelského adresáře, nebo s jeho pouze minimální účastí. Je však možné použít tok uživatele Azure AD B2C ke shromáždění souhlasu uživatele s podmínkami použití, omezení přístupu, pokud není uděleno přijetí, a vynucení přijetí budoucích změn podmínek použití na základě data posledního přijetí a data nejnovější verze podmínek použití.
Podmínky použití mohou obsahovat také "Souhlas se sdílením dat s třetími stranami". V závislosti na místních pravidlech a obchodních pravidlech můžete shromáždit přijetí obou podmínek v kombinaci, nebo můžete uživateli umožnit přijmout jednu podmínku, nikoli druhou.
Následující kroky popisují, jak můžete spravovat podmínky použití:
Zaznamenejte přijetí podmínek použití a data přijetí pomocí rozhraní Graph API a rozšířených atributů. Můžete to udělat pomocí předdefinovaných toků uživatelů i vlastních zásad. Doporučujeme vytvářet a používat atributy extension_termsOfUseConsentDateTime a extension_termsOfUseConsentVersion .
Vytvořte požadované zaškrtávací políčko s označením "Přijmout podmínky použití" a poznamenejte si výsledek během registrace. Můžete to udělat pomocí předdefinovaných toků uživatelů i vlastních zásad.
Azure AD B2C ukládá podmínky smlouvy o použití a přijetí uživatele. Rozhraní Graph API můžete použít k dotazování na stav libovolného uživatele načtením atributu rozšíření, který se používá k zaznamenání odpovědi (například read termsOfUseTestUpdateDateTime). Můžete to udělat pomocí předdefinovaných toků uživatelů i vlastních zásad.
Vyžaduje přijetí aktualizovaných podmínek použití porovnáním data přijetí s datem nejnovější verze podmínek použití. Kalendářní data můžete porovnat pouze pomocí vlastního toku uživatele. Použijte rozšířený atribut extension_termsOfUseConsentDateTime a porovnejte hodnotu s deklaracemi termsOfUseTextUpdateDateTime. Pokud je přijetí staré, vynuťte nové přijetí zobrazením obrazovky s vlastním potvrzením. Jinak zablokujte přístup pomocí logiky zásad.
Vyžaduje přijetí aktualizovaných podmínek použití porovnáním čísla verze přijetí s nejnovějším přijatým číslem verze. Čísla verzí můžete porovnávat pouze pomocí vlastního uživatelského toku. Použijte rozšířený atribut extension_termsOfUseConsentDateTime a porovnejte hodnotu s nárokem extension_termsOfUseConsentVersion. Pokud je přijetí staré, vynuťte nové přijetí zobrazením obrazovky s vlastním potvrzením. Jinak zablokujte přístup pomocí logiky zásad.
Podmínky použití můžete zachytit v následujících scénářích:
- Nový uživatel se zaregistruje. Zobrazí se podmínky použití a výsledek přijetí se uloží.
- Uživatel se přihlašuje, kdo dříve přijal nejnovější nebo aktivní podmínky použití. Podmínky použití se nezobrazují.
- Uživatel se přihlašuje, kdo ještě nepřijal nejnovější nebo aktivní podmínky použití. Zobrazí se podmínky použití a výsledek přijetí se uloží.
- Uživatel se přihlašuje, kdo už přijal starší verzi podmínek použití, které se teď aktualizují na nejnovější verzi. Zobrazí se podmínky použití a výsledek přijetí se uloží.
Na následujícím obrázku je doporučený tok uživatele:
Následuje příklad vyjádření souhlasu s podmínkami použití v nároku.
extension_termsOfUseConsentDateTime
Pokud je deklarace identity starší než 2025-01-15T00:00:00
, vynuťte nové přijetí kontrolou termsOfUseConsentRequired
logické deklarace identity a zobrazením obrazovky s vlastním potvrzením.
<ClaimsTransformations>
<ClaimsTransformation Id="GetNewUserAgreeToTermsOfUseConsentDateTime" TransformationMethod="GetCurrentDateTime">
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="extension_termsOfUseConsentDateTime" TransformationClaimType="currentDateTime" />
</OutputClaims>
</ClaimsTransformation>
<ClaimsTransformation Id="IsTermsOfUseConsentRequired" TransformationMethod="IsTermsOfUseConsentRequired">
<InputClaims>
<InputClaim ClaimTypeReferenceId="extension_termsOfUseConsentDateTime" TransformationClaimType="termsOfUseConsentDateTime" />
</InputClaims>
<InputParameters>
<InputParameter Id="termsOfUseTextUpdateDateTime" DataType="dateTime" Value="2025-01-15T00:00:00" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="termsOfUseConsentRequired" TransformationClaimType="result" />
</OutputClaims>
</ClaimsTransformation>
</ClaimsTransformations>
Následuje příklad souhlasu s podmínkami použití verzovanými v nároku. Pokud se deklarace extension_termsOfUseConsentVersion
nerovná V1
, vynuťte nové přijetí tím, že zkontrolujete booleovskou deklaraci termsOfUseConsentRequired
a zobrazíte obrazovku s vlastním potvrzením.
<ClaimsTransformations>
<ClaimsTransformation Id="GetEmptyTermsOfUseConsentVersionForNewUser" TransformationMethod="CreateStringClaim">
<InputParameters>
<InputParameter Id="value" DataType="string" Value=""/>
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="extension_termsOfUseConsentVersion" TransformationClaimType="createdClaim" />
</OutputClaims>
</ClaimsTransformation>
<ClaimsTransformation Id="GetNewUserAgreeToTermsOfUseConsentVersion" TransformationMethod="CreateStringClaim">
<InputParameters>
<InputParameter Id="value" DataType="string" Value="V1"/>
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="extension_termsOfUseConsentVersion" TransformationClaimType="createdClaim" />
</OutputClaims>
</ClaimsTransformation>
<ClaimsTransformation Id="IsTermsOfUseConsentRequiredForVersion" TransformationMethod="CompareClaimToValue">
<InputClaims>
<InputClaim ClaimTypeReferenceId="extension_termsOfUseConsentVersion" TransformationClaimType="inputClaim1" />
</InputClaims>
<InputParameters>
<InputParameter Id="compareTo" DataType="string" Value="V1" />
<InputParameter Id="operator" DataType="string" Value="not equal" />
<InputParameter Id="ignoreCase" DataType="string" Value="true" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="termsOfUseConsentRequired" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
</ClaimsTransformations>
Další kroky
- Povolení služby Age Gating v Azure AD B2C
- Informace o tom, jak odstranit a exportovat uživatelská data, najdete v tématu Správa uživatelských dat.
- Příklad vlastních zásad, které implementují výzvu k přijetí podmínek použití, najdete v Vlastní zásady B2C IEF – Registrace a přihlášení pomocí výzvy Podmínky použití.