Anonim adathozzáférés a Fabric alkalmazásokban

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:

  1. 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.
  2. Adatmodell szerep: Egy entitás ezt anonymous a 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.

  1. Jelentkezzen be a Fabric felügyeleti portálra.

  2. Válassza a Bérlői beállítások lehetőséget.

  3. A Fabric apps (preview) alatt keresse meg az Anonymous adathozzáférést.

    Képernyőkép az Anonymous adathozzáférési beállításról a Fabric admin portálon.

  4. Állítsa a kapcsolót Engedélyezve állásba.

  5. Alkalmazzuk a beállítást az egész szervezetre vagy konkrét biztonsági csoportokra.

  6. 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 read vagy create egyedül. Támogatás update , vagy delete csak akkor, amikor a nyilvános munkafolyamat megköveteli.
  • Korlátozd a kitett mezőket. Használj include vagy exclude opció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:

  1. Távolítsd el a anonymous szerepet minden adatmodellből.
  2. 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.