Visualisera databasbehörigheter på Amazon Redshift med Grafana

Visualisera databasbehörigheter på Amazon Redshift med Grafana

Källnod: 1992193

Amazon RedShift är en helt hanterad, petabyte-skala datalagertjänst i molnet. Amazon Redshift gör att du kan använda SQL för att analysera strukturerad och semistrukturerad data med bästa prisprestanda tillsammans med säker åtkomst till data.

När fler användare börjar fråga efter data i ett datalager är åtkomstkontroll avgörande för att skydda värdefull organisationsdata. Databasadministratörer vill kontinuerligt övervaka och hantera användarrättigheter för att upprätthålla korrekt dataåtkomst i datalagret. Amazon Redshift tillhandahåller granulär åtkomstkontroll på databasen, schemat, tabell, kolumn, rad och andra databasobjekt genom att ge privilegier till roller, grupper och användare från ett SQL-gränssnitt. För att övervaka privilegier som konfigurerats i Amazon Redshift kan du hämta dem genom att fråga systemtabeller.

Även om Amazon Redshift ger en bred möjlighet att hantera åtkomst till databasobjekt, har vi hört från kunder att de vill visualisera och övervaka privilegier utan att använda ett SQL-gränssnitt. I det här inlägget introducerar vi fördefinierade instrumentpaneler med Grafana som visualiserar databasprivilegier utan att skriva SQL. Den här instrumentpanelen hjälper databasadministratörer att minska tiden som ägnas åt databasadministration och öka frekvensen av övervakningscykler.

Databassäkerhet i Amazon Redshift

Säkerhet är högsta prioritet hos AWS. Amazon Redshift tillhandahåller fyra nivåer av kontroll:

  • Klusterhantering
  • Klusteranslutning
  • Databasåtkomst
  • Tillfälliga databasuppgifter och enkel inloggning

Det här inlägget fokuserar på databasåtkomst, som relaterar till användaråtkomstkontroll mot databasobjekt. För mer information, se Hantera databassäkerhet.

Amazon Redshift använder BEVILJA kommando för att definiera behörigheter i databasen. För de flesta databasobjekt använder GRANT tre parametrar:

  • Identitet – Enheten du ger tillgång till. Detta kan vara en användare, roll eller grupp.
  • Ändamålet – Typen av databasobjekt. Detta kan vara en databas, schema, tabell eller vy, kolumn, rad, funktion, procedur, språk, datadelning, maskinlutningsmodell (ML) och mer.
  • Privilege – Typen av operation. Exempel inkluderar CREATE, SELECT, ALTER, DROP, DELETE och INSERT. Behörighetsnivån beror på objektet.

För att ta bort åtkomst, använd ÅTERKALLA kommando.

Dessutom erbjuder Amazon Redshift granulär åtkomstkontroll med Säkerhet på radnivå (RLS) funktion. Du kan bifoga eller koppla bort RLS-policyer till identiteter med BILAGA RLS-POLICY och AVSNITT RLS-POLICY kommandon. Ser RLS policy ägande och förvaltning för mer detaljer.

I allmänhet övervakar och granskar databasadministratören identiteter, objekt och privilegier med jämna mellanrum för att säkerställa att rätt åtkomst är konfigurerad. De måste också undersöka åtkomstkonfigurationer om databasanvändare möter behörighetsfel. Dessa uppgifter kräver ett SQL-gränssnitt för att söka efter flera systemtabeller, vilket kan vara en repetitiv och odifferentierad operation. Därför behöver databasadministratörer en enda ruta för att snabbt navigera genom identiteter, objekt och privilegier utan att skriva SQL.

Lösningsöversikt

Följande diagram illustrerar lösningsarkitekturen och dess nyckelkomponenter:

  • Amazon Redshift innehåller databasbehörighetsinformation i systemtabeller.
  • Grafana tillhandahåller en fördefinierad instrumentpanel för att visualisera databasbehörigheter. Instrumentpanelen kör frågor mot Amazon Redshift-systemtabellen via Amazon Redshift Data API.

Observera att instrumentpanelen fokuserar på visualisering. SQL-gränssnitt krävs för att konfigurera privilegier i Amazon Redshift. Du kan använda frågeredigerare v2, ett webbaserat SQL-gränssnitt som gör det möjligt för användare att köra SQL-kommandon från en webbläsare.

Förutsättningar

Innan du går vidare till nästa avsnitt bör du ha följande förutsättningar:

  • An AWS-konto
  • Skapa ett Amazon Redshift-kluster
  • Ställ in Amazon Managed Grafana eller lokal Grafana

Medan Amazon Managed Grafana kontrollerar plugin-versionen och uppdaterar regelbundet, tillåter lokal Grafana användaren att kontrollera versionen. Därför kan lokal Grafana vara ett alternativ om du behöver tidigare åtkomst för de senaste funktionerna. Se plugin changelog för släppta funktioner och versioner.

Importera instrumentpanelerna

Efter att du är klar med förutsättningarna bör du ha tillgång till Grafana konfigurerad med Amazon Redshift som datakälla. Importera sedan två instrumentpaneler för visualisering.

  1. I Grafana-konsolen, gå till den skapade Redshift-datakällan och klicka Instrumentpaneler
  2. Importera d Amazon RedShift Identiteter och objekt
  3. Gå till datakällan igen och importera Amazon Redshift-privilegier

Varje instrumentpanel visas när den har importerats.

Amazon Redshift Identiteter och objekt instrumentpanel

Amazon Redshift Identities and Objects-instrumentpanelen visar identiteter och databasobjekt i Amazon Redshift, som visas i följande skärmdump.

Smakämnen identiteter avsnittet visar detaljerna för varje användare, roll och grupp i källdatabasen.

En av nyckelfunktionerna i den här instrumentpanelen är Roll tilldelad roll, användare avsnitt, som använder en noddiagrampanel att visualisera den hierarkiska strukturen av roller och användare från flera systemtabeller. Denna visualisering kan hjälpa administratörer att snabbt undersöka vilka roller som ärvs till användare istället för att fråga flera systemtabeller. För mer information om rollbaserad åtkomst, se Rollbaserad åtkomstkontroll (RBAC).

Amazon Redshift Privileges instrumentpanel

Amazon Redshift Privileges instrumentpanel visar privilegier definierade i Amazon Redshift.

I Roll och grupp tilldelad användare avsnitt, öppna Roll tilldelad Användare panel för att lista rollerna för en specifik användare. I den här panelen kan du lista och jämföra roller som tilldelats flera användare. Använd Användare rullgardinsmenyn högst upp på instrumentpanelen för att välja användare.

Instrumentpanelen uppdateras omedelbart och visar filtrerade resultat för utvalda användare. Följande skärmdump är det filtrerade resultatet för användaren hr1, hr2 och it3.

Smakämnen Objektprivilegier avsnittet visar de privilegier som beviljas för varje databasobjekt och identitet. Observera att objekt utan privilegier inte är listade här. För att visa hela listan över databasobjekt, använd Amazon Redshift Identities and Objects-instrumentpanelen.

Smakämnen Objektprivilegier (RLS) avsnittet innehåller visualiseringar för säkerhet på radnivå (RLS). De Policybilagor panelen låter dig undersöka RLS-konfiguration genom att visualisera relationen mellan tabeller, policyer, roller och användare.

Slutsats

I det här inlägget introducerade vi en visualisering för databasprivilegier för Amazon Redshift med fördefinierade Grafana-dashboards. Databasadministratörer kan använda dessa instrumentpaneler för att snabbt navigera genom identiteter, objekt och privilegier utan att skriva SQL. Du kan också anpassa instrumentpanelen för att uppfylla dina affärskrav. JSON-definitionsfilen för den här instrumentpanelen underhålls som en del av OSS i Redshift datakälla för Grafana GitHub repository.

För mer information om de ämnen som beskrivs i det här inlägget, se följande:


Om författaren

Yota Hamaoka är en analyslösningsarkitekt på Amazon Web Services. Han är fokuserad på att driva kunder att påskynda sin analysresa med Amazon Redshift.

Tidsstämpel:

Mer från AWS Big Data