Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az anonim adathozzáférés lehetővé teszi, hogy egy Fabric alkalmazás kitárja a kiválasztott adatműveleteket azoknak a felhasználóknak, akik nincsenek bekapcsolva. Ezt a hozzáférést a Fabric bérlői szinten és minden adatmodellben irányítod. Az anonim hozzáférés egy engedélyezési lehetőség, nem pedig a hitelesítés helyettesítése. Ugyanaz az alkalmazás bizonyos entitásokhoz nyilvános hozzáférést biztosít, miközben a felhasználóknak más entitásokhoz vagy műveletekhez is bejelentkezniük kell.
Important
Bárki, aki eléri az alkalmazás URL-jét, használhatja a szerephez rendelt anonymous műveleteket. Ne tárj fel személyes, bizalmas, pénzügyi vagy belső üzleti adatokat ezen a szerepkörön keresztül.
Használati esetek
Vegyük figyelembe az anonim adathozzáférést, amikor egy alkalmazásnak korlátozott funkcionalitást kell biztosítania bejelentkezés nélkül.
| Scenario | Példa hozzáférés | Ajánlott hatókör |
|---|---|---|
| Nyilvános referenciaadatok | Tekintse meg a termékkatalógusokat, ütemterveket vagy nyilvános adathalmazokat | read |
| Visszacsatolás gyűjtése | Kommentek vagy felmérés válaszok küldése | create |
Az anonim hozzáférés nem megfelelő, ha egy alkalmazásnak azonosítania kell a felhasználót, érvényesítenie kell a tulajdonjogot, vagy hozzáférést biztosítania kell személyazonossági igények alapján. Használj hitelesített szerepeket ezekhez a helyzetekhez.
Hogyan működik az anonim hozzáférés
Az anonim adathozzáférés független vezérlőket használ:
- Bérlői környezet: A Fabric bérlő adminisztrátora névtelen adathozzáférést biztosít a szervezet vagy kiválasztott biztonsági csoportok számára.
-
Adatmodell szerep: Egy entitás ezt
anonymousa szerepet használja arra, hogy meghatározza, milyen műveleteket végezhetnek el a hitelesítetlen felhasználók számára.
A bérlői környezet a szervezet egészére jellemző határ. Az alkalmazás beállítása lehetővé teszi, hogy névtelen kérések elérjék az alkalmazás adatszolgáltatását. Az entitás szerepe határozza meg, hogy ezek a kérések mely adatokhoz és műveletekhez férhetnek hozzá. Ha csak egy vagy kettő ilyen vezérlés engedélyezi, az nem biztosít névtelen hozzáférést.
Engedélyezd a bérlő beállítást
A Fabric bérlő adminisztrátorának névtelen adathozzáférést kell engedélyeznie, mielőtt az alkalmazásfejlesztők használhatnák azt. A beállítás alapértelmezés szerint le van tiltva.
Jelentkezzen be a Fabric felügyeleti portálra.
Válassza a Bérlői beállítások lehetőséget.
A Fabric apps (preview) alatt keresse meg az Anonymous adathozzáférést.
Állítsa a kapcsolót Engedélyezve állásba.
Alkalmazzuk a beállítást az egész szervezetre vagy konkrét biztonsági csoportokra.
Válassza az Alkalmaz lehetőséget.
A változtatások néhány percig eltarthatnak, mire hatnának. Amikor a beállítást biztonsági csoportokra korlátozod, győződj meg róla, hogy az alkalmazásfejlesztő vagy az alkalmazástulajdonos egy engedélyezett csoportba van bevonva.
Definiáljuk az anonim hozzáférést egy adatmodellben
Használd a @role dekorátort egy entitáson, és határozd anonymous meg szerep nevét. A második érv a engedélyezett adatműveleteket határozza meg: create, read, update, vagy delete.
Parameters
| Parameter | Típus | Leírás |
|---|---|---|
roleName |
string |
A szerepkör neve, például authenticated vagy egy egyéni alkalmazásszerepkör |
actions |
string \| string[] |
Egyetlen művelet vagy tömb: create, read, update, deletevagy * az összes |
options |
object |
Választható objektum check, és includeexclude tulajdonságokkal |
A következő példa lehetővé teszi, hogy a hitelesítetlen felhasználók nyilvános közleményeket olvassák:
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;
}
A anonymous szerep nem használ identitásigényeket, mert nincs bejelentkezett identitás. Határozd meg a legszűkebb műveletkészletet, amely támogatja a helyzetedet.
Adatok beküldésének engedélyezése
Visszacsatoló űrlaphoz adj create hozzáférést , , vagy read hozzáférés nélkül updatedeleteis:
import { entity, role, uuid, text } from '@microsoft/rayfin-core';
@entity()
@role('anonymous', 'create')
export class Feedback {
@uuid() id!: string;
@text() comment!: string;
}
Ez a modell lehetővé teszi, hogy a felhasználók visszajelzést küldjenek, de nem nézhetik meg vagy módosíthatják a beküldött bejegyzéseket.
Több művelet engedélyezése
Átadj egy tömböt akkor egy helyzet esetén, ha egy jelenethez több műveletet kell tenni:
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;
}
Bárki, aki hozzáfér ehhez az alkalmazáshoz, létrehozhatja, megtekintheti és frissítheti az összes közös feladatot. Nem törölhetik a todosokat, mert delete nincs benne. Ilyen széles jogosultságokat csak nyilvános vagy ideiglenes adatokhoz használj, ahol a felhasználóktól elvárják, hogy megosszuk a hozzáférést.
Kombináld az anonim és hitelesített szerepeket
Mindkét szerepet alkalmazzuk egy entitásra, ha a nyilvános és bejelentkezett felhasználók eltérő jogosultságokat követelnek. Például bárki elolvashat egy blogbejegyzést, de csak a bebejegyzett tulajdonos változtathatja meg:
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;
}
Az anonim szerep lehetővé teszi a nyilvános olvasást anélkül, hogy azonosítási igényeket értékelnek. A hitelesített szerep a bejelentkezett felhasználó igényeit használja arra, hogy korlátozza a felhasználók tulajdonában lévő tartalmak módosítását.
Biztonsági útmutató
- Biztosítsd a minimális hozzáférést. Preferálni
readvagycreateegyedül. Támogatásupdate, vagydeletecsak akkor, amikor a nyilvános munkafolyamat megköveteli. - Korlátozd a kitett mezőket. Használj
includevagyexcludeopciókat annak megakadályozására, hogy hozzáférj olyan mezőkhöz, amelyekre az anonim felhasználók nem szükségesek. További információért lásd: Adatjogosultságok meghatározása. - Ne támaszkodj az alkalmazás felhasználói felületére a védelem érdekében. A jogosultságokat meg kell határozni az adatmodellben, mert a hívók kéréseket küldhetnek anélkül, hogy a frontended használnák.
- Tervezz megbízhatatlan bejelzéseket. Ellenőrizd a beküldött adatokat és tervezd nyilvános írási műveleteket spam, automatizálás és váratlan forgalom esetén.
- A teszt megtagadta a műveleteket. Erősítse meg, hogy a szerepből kihagyott műveleteket elutasítják a felhasználók számára, akik nem rendelkeznek üléssel.
Tiltsd le az anonim hozzáférést
A nyilvános hozzáférés eltávolításához egy alkalmazásból:
- Távolítsd el a
anonymousszerepet minden adatmodellből. - Telepítsd újra az alkalmazást a
npx rayfin upfuttatásával.
A bérlő adminisztrátora letilthatja a bérlő beállítását is, hogy megakadályozza az anonim adathozzáférést minden alkalmazásban a bérlőn belül, és korlátozza a hozzáférést kiválasztott biztonsági csoportokhoz.