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.
Anonymní přístup k datům umožňuje aplikaci Fabric zpřístupnit vybrané datové operace uživatelům, kteří nejsou přihlášeni. Tento přístup ovládáte na úrovni Fabric tenant a v každém datovém modelu. Anonymní přístup je možnost autorizace, nikoli náhrada za autentizaci. Stejná aplikace může poskytovat veřejný přístup některým subjektům, přičemž uživatelé musí přihlašovat k jiným subjektům nebo operacím.
Important
Kdokoli, kdo se dostane na URL aplikace, může použít operace přiřazené roli anonymous . Nezveřejňujte osobní, důvěrná, finanční ani interní obchodní data prostřednictvím této role.
Případy použití
Zvažte anonymní přístup k datům, když aplikace musí poskytovat omezenou funkčnost bez požadavku na přihlášení.
| Scenario | Příklad přístupu | Doporučený obor |
|---|---|---|
| Veřejná referenční data | Zobrazit katalogy produktů, jízdní plány nebo veřejné datové sady | read |
| Sběr zpětné vazby | Odesílejte komentáře nebo odpovědi do průzkumu | create |
Anonymní přístup není vhodný, pokud aplikace musí identifikovat uživatele, vynucovat vlastnictví nebo poskytovat přístup na základě tvrzení o identitě. Používejte ověřené role pro tyto scénáře.
Jak funguje anonymní přístup
Anonymní přístup k datům využívá nezávislé kontroly:
- Nastavení nájemníka: Správce nájemce Fabric uděluje anonymní přístup k datům organizaci nebo vybraným bezpečnostním skupinám.
-
Role datového modelu: Entita používá roli
anonymousk definování operací, které mohou provádět neautentizovaní uživatelé.
Nastavení nájemce je celofiremní hranice. Nastavení aplikace umožňuje anonymním požadavkům dosáhnout datové služby aplikace. Role entity určuje, ke kterým datům a operacím tyto požadavky mohou přistupovat. Zapnutí pouze jednoho nebo dvou těchto ovládání neposkytuje anonymní přístup.
Povolte nastavení tenant
Správce Fabric tenantu musí povolit anonymní přístup k datům, než je vývojáři aplikací mohou používat. Nastavení je ve výchozím nastavení zakázané.
Přihlaste se k portálu pro správu Fabric.
Vyberte Nastavení tenanta.
V sekci Fabric apps (náhled) najděte přístup k anonymním datům.
Nastavte přepínač na Povoleno.
Aplikujte toto nastavení na celou organizaci nebo na konkrétní bezpečnostní skupiny.
Vyberte Použít.
Změny mohou trvat několik minut, než se projeví. Když omezíte nastavení na bezpečnostní skupiny, ověřte, že vývojář aplikace nebo vlastník aplikace je zahrnut ve skupině povolených aplikací.
Definujte anonymní přístup v datovém modelu
Použijte @role dekorátor na entitě a zadejte anonymous název role. Druhý argument definuje povolené datové operace: create, read, update, nebo delete.
Parameters
| Parameter | Typ | Description |
|---|---|---|
roleName |
string |
Název role, například authenticated nebo vlastní role aplikace |
actions |
string \| string[] |
Jedna akce nebo pole: create, read, update, delete nebo * pro vše |
options |
object |
Volitelný objekt s vlastnostmi check, include a exclude |
Následující příklad umožňuje neautentizovaným uživatelům číst veřejná oznámení:
import { entity, role, uuid, text } from '@microsoft/rayfin-core';
@entity()
@role('anonymous', 'read')
export class Announcement {
@uuid() id!: string;
@text() title!: string;
@text() content!: string;
}
Role anonymous nepoužívá nároky na identitu, protože není k dispozici žádná přihlášená identita. Definujte nejužší soubor operací, které podporují váš scénář.
Umožnit uživatelům odesílat data
Pro zpětnou vazbu udělte create přístup bez udělení read, update, nebo delete přístupu:
import { entity, role, uuid, text } from '@microsoft/rayfin-core';
@entity()
@role('anonymous', 'create')
export class Feedback {
@uuid() id!: string;
@text() comment!: string;
}
Tento model umožňuje uživatelům odesílat zpětnou vazbu, ale neumožňuje jim zobrazit ani měnit zaslané záznamy.
Povolit více operací
Předání pole, když scénář vyžaduje více než jednu operaci:
import { boolean, entity, role, text, uuid } from '@microsoft/rayfin-core';
@entity()
@role('anonymous', ['create', 'read', 'update'])
export class SharedTodo {
@uuid() id!: string;
@text() title!: string;
@boolean({ default: false }) completed!: boolean;
}
Kdokoli, kdo má přístup k této aplikaci, může vytvářet, zobrazovat a aktualizovat všechny sdílené úkoly. Nemohou smazat úkoly, protože delete nejsou zahrnuty. Používejte široká oprávnění jako tato pouze pro veřejná nebo dočasná data, kde se očekává, že uživatelé budou sdílet přístup.
Kombinace anonymních a ověřených rolí
Aplikujte obě role na entitu, když veřejní a přihlášení uživatelé vyžadují odlišná oprávnění. Například kdokoli může číst blogový příspěvek, ale pouze jeho přihlášený vlastník ho může změnit:
import { entity, role, uuid, text } from '@microsoft/rayfin-core';
@entity()
@role('anonymous', 'read')
@role('authenticated', ['create', 'update', 'delete'], {
policy: (claims, item) => claims.sub.eq(item.createdBy),
})
export class BlogPost {
@uuid() id!: string;
@text() title!: string;
@text() content!: string;
@text() createdBy!: string;
}
Anonymní role umožňuje veřejným čtení bez posuzování tvrzení o identitě. Ověřená role využívá nároky přihlášeného uživatele k omezení změn obsahu, který uživatel vlastní.
Pokyny k zabezpečení
- Udělit minimální požadovaný přístup. Preferovat
readnebocreatesám. Udělit grant,updatenebodeletejen tehdy, když to vyžaduje veřejný pracovní postup. - Omezte exponovaná pole. Použijte
includeexcludenebo možnosti, které zabrání přístupu k polím, která anonymní uživatelé nepotřebují. Pro více informací viz Definujte oprávnění k datům. - Nespoléhejte se na uživatelské rozhraní aplikace pro ochranu. Oprávnění musí být definována na datovém modelu, protože volající mohou posílat požadavky bez použití frontendu.
- Plánujte na nedůvěryhodné vstupy. Ověřujte odevzdaná data a navrhněte veřejné zápisové operace pro spam, automatizaci a neočekávaný provoz.
- Testovací operace byly odepřeny. Potvrďte, že operace vynechané v roli jsou pro uživatele bez relace odmítnuty.
Vypněte anonymní přístup
Odebrání veřejného přístupu z aplikace:
- Odeberte roli
anonymousz každého datového modelu. - Aplikaci znovu nasadit spuštěním
npx rayfin up.
Správce tenantu může také deaktivovat nastavení tenanta, které blokuje anonymní přístup k datům pro všechny aplikace v rámci tenanta a omezuje přístup na vybrané bezpečnostní skupiny.