Share via


Beveiliging op kolomniveau in OneLake (preview)

Beveiliging op kolomniveau (CLS) is een functie van OneLake-beveiliging (preview) waarmee u toegang hebt tot geselecteerde kolommen in een tabel in plaats van volledige toegang tot de tabel. Met CLS kunt u een subset van tabellen opgeven waartoe gebruikers toegang hebben. Kolommen die uit de lijst worden verwijderd, zijn niet zichtbaar voor gebruikers.

Vereiste voorwaarden

Beveiliging op kolomniveau afdwingen

OneLake-beveiligings-CLS wordt op een van de volgende twee manieren afgedwongen:

  • Gefilterde tabellen in Fabric-engines: Query's naar de Fabric-engines, zoals Spark-notebooks, leiden ertoe dat de gebruiker alleen de kolommen ziet die ze mogen zien volgens de CLS-regels.
  • Geblokkeerde toegang tot tabellen: Tabellen waarop CLS-regels zijn toegepast, kunnen niet worden gelezen buiten ondersteunde Fabric-engines.

Voor gefilterde tabellen zijn de volgende gedragingen van toepassing:

  • CLS-regels beperken de toegang tot gebruikers met de rollen Beheerder, Lid en Inzender niet.
  • Als de CLS-regel niet overeenkomt met de tabel waarop deze is gedefinieerd, mislukt de query en worden er geen kolommen geretourneerd. Als CLS bijvoorbeeld is gedefinieerd voor een kolom die geen deel uitmaakt van de tabel.
  • Query's van CLS-tabellen mislukken met een fout als een gebruiker deel uitmaakt van twee verschillende rollen en een van de rollen beveiliging op rijniveau (RLS) heeft.
  • CLS-regels kunnen alleen worden afgedwongen voor Delta Parquet-tabelobjecten.
    • CLS-regels die worden toegepast op niet-Delta-tabelobjecten blokkeren de toegang tot de hele tabel voor leden van de rol.
  • Als een gebruiker een select * query uitvoert op een tabel waar ze alleen toegang hebben tot een aantal kolommen, gedragen CLS-regels zich anders, afhankelijk van de Fabric-engine.
    • Spark-notebooks: de query slaagt en toont alleen de toegestane kolommen.
    • SQL Analytics-eindpunt: kolomtoegang wordt geblokkeerd voor de kolommen die de gebruiker niet kan openen.
    • Semantische modellen: kolomtoegang wordt geblokkeerd voor de kolommen die de gebruiker niet kan openen.

Beveiligingsregels op kolomniveau definiëren

U kunt beveiliging op kolomniveau definiëren als onderdeel van een OneLake-beveiligingsrol voor elke Delta Parquet-tabel in de sectie Tabellen van een item. CLS wordt altijd voor een tabel opgegeven en is ofwel ingeschakeld of uitgeschakeld. CLS is standaard uitgeschakeld en gebruikers hebben toegang tot alle kolommen. Gebruikers kunnen CLS inschakelen en kolommen uit de lijst verwijderen om de toegang in te trekken.

Belangrijk

Als u de toegang tot een kolom verwijdert, wordt de toegang tot die kolom niet geweigerd als een andere rol toegang verleent.

Gebruik de volgende stappen om beveiliging op kolomniveau te definiëren:

  1. Navigeer naar uw gegevensitem en selecteer OneLake-beveiliging beheren (preview).a0>

  2. Selecteer een bestaande rol waarvoor u de beveiliging van tabellen of mappen wilt definiëren of selecteer Nieuw om een nieuwe rol te maken.

  3. Selecteer op de pagina met rolgegevens meer opties (...) naast de tabel waarvoor u CLS wilt definiëren en selecteer vervolgens Kolombeveiliging (preview).

    Schermopname van het selecteren van 'kolombeveiliging' om machtigingen voor een tabel te bewerken.

  4. CLS voor een tabel is standaard uitgeschakeld. Selecteer CLS inschakelen of maak een nieuwe regel om deze in te schakelen.

    De gebruikersinterface wordt gevuld met een lijst met kolommen voor die tabel die de gebruikers mogen zien. Standaard worden alle kolommen weergegeven.

  5. Als u de toegang tot een kolom wilt beperken, schakelt u het selectievakje naast de kolomnaam in en selecteert u Verwijderen. Ten minste één kolom moet in de lijst met toegestane kolommen blijven staan.

  6. Selecteer Opslaan om de rol bij te werken.

  7. Als u een verwijderde kolom wilt toevoegen, selecteert u Nieuwe regel. Met deze actie wordt een nieuwe CLS-regelvermelding toegevoegd aan het einde van de lijst. Gebruik vervolgens de vervolgkeuzelijst om de kolom te kiezen die u wilt opnemen in de toegang.

  8. Nadat u de wijzigingen hebt voltooid, selecteert u Opslaan.

OneLake-beveiliging inschakelen voor SQL Analytics-eindpunt

Voordat u OneLake-beveiliging met SQL Analytics-eindpunt kunt gebruiken, moet u de identiteitsmodus van de gebruiker inschakelen. Nieuw gemaakte SQL-analyse-eindpunten worden standaard ingesteld op de identiteitsmodus van de gebruiker, dus deze stappen moeten worden gevolgd voor bestaande SQL-analyse-eindpunten.

Notitie

Overschakelen naar de identiteitsmodus van de gebruiker hoeft slechts eenmalig te worden gedaan per SQL Analytics-eindpunt. Eindpunten die niet zijn overgeschakeld naar de identiteitsmodus van de gebruiker, blijven een gedelegeerde identiteit gebruiken om machtigingen te evalueren.

  1. Navigeer naar het EINDPUNT van SQL Analytics.

  2. Selecteer in de sql Analytics-eindpuntervaring het tabblad Beveiliging op het bovenste lint.

  3. Selecteer de identiteit van de gebruiker onder de toegangsmodus van OneLake.

    Schermopname van het selecteren van 'gebruikersidentiteit' om OneLake-beveiliging in te schakelen voor sql-analyse-eindpunt.

  4. Selecteer Ja in de prompt , gebruik de identiteit van de gebruiker.

    Schermopname van de gebruikersprompt die moet worden geaccepteerd om OneLake-beveiliging in te schakelen voor leestoegang voor tabellen.

Nu is het EINDPUNT van SQL Analytics gereed voor gebruik met OneLake-beveiliging.

Beveiliging op rij- en kolomniveau combineren

Beveiliging op rij- en kolomniveau kan samen worden gebruikt om gebruikerstoegang tot een tabel te beperken. De twee beleidsregels moeten echter worden toegepast met één OneLake-beveiligingsrol. In dit scenario wordt de toegang tot gegevens beperkt volgens de regels die zijn ingesteld in de ene rol.

OneLake-beveiliging biedt geen ondersteuning voor de combinatie van twee of meer rollen waarin een RLS-regels bevat en een andere bevat CLS-regels. Gebruikers die toegang proberen te krijgen tot tabellen die deel uitmaken van een niet-ondersteunde combinatie van rollen, ontvangen queryfouten.