Auktorisera åtkomst till tabeller med Hjälp av Microsoft Entra-ID
Azure Storage stöder användning av Microsoft Entra-ID för att auktorisera begäranden till tabelldata. Med Microsoft Entra-ID kan du använda rollbaserad åtkomstkontroll i Azure (Azure RBAC) för att bevilja behörigheter till ett säkerhetsobjekt, som kan vara en användare, grupp eller programtjänsthuvudnamn. Säkerhetsobjektet autentiseras av Microsoft Entra-ID för att returnera en OAuth 2.0-token. Token kan sedan användas för att auktorisera en begäran mot Tabelltjänsten.
Auktorisering av begäranden mot Azure Storage med Microsoft Entra-ID ger överlägsen säkerhet och enkel användning via auktorisering av delad nyckel. Microsoft rekommenderar att du använder Microsoft Entra-auktorisering med dina tabellprogram när det är möjligt för att garantera åtkomst med minsta möjliga behörighet.
Auktorisering med Microsoft Entra-ID är tillgängligt för alla allmänna ändamål i alla offentliga regioner och nationella moln. Endast lagringskonton som skapats med Azure Resource Manager-distributionsmodellen stöder Microsoft Entra-auktorisering.
Översikt över Microsoft Entra-ID för tabeller
När ett säkerhetsobjekt (en användare, grupp eller ett program) försöker komma åt en tabellresurs måste begäran auktoriseras. Med Microsoft Entra-ID är åtkomst till en resurs en tvåstegsprocess. Först autentiseras säkerhetsobjektets identitet och en OAuth 2.0-token returneras. Därefter skickas token som en del av en begäran till tabelltjänsten och används av tjänsten för att auktorisera åtkomst till den angivna resursen.
Autentiseringssteget kräver att ett program begär en OAuth 2.0-åtkomsttoken vid körning. Om ett program körs inifrån en Azure-entitet, till exempel en virtuell Azure-dator, en VM-skalningsuppsättning eller en Azure Functions-app, kan den använda en hanterad identitet för att komma åt tabeller.
Auktoriseringssteget kräver att en eller flera Azure-roller tilldelas säkerhetsobjektet. Azure Storage tillhandahåller Azure-roller som omfattar vanliga uppsättningar med behörigheter för tabelldata. De roller som tilldelas ett säkerhetsobjekt avgör vilka behörigheter som huvudkontot ska ha. Mer information om hur du tilldelar Azure-roller för tabellåtkomst finns i Tilldela en Azure-roll för åtkomst till tabelldata.
Följande tabell pekar på ytterligare information för att auktorisera åtkomst till data i olika scenarier:
Tilldela Azure-roller för åtkomsträttigheter
Microsoft Entra auktoriserar åtkomsträttigheter till skyddade resurser via rollbaserad åtkomstkontroll i Azure (Azure RBAC). Azure Storage definierar en uppsättning inbyggda Azure-roller som omfattar vanliga uppsättningar med behörigheter som används för att komma åt tabelldata. Du kan också definiera anpassade roller för åtkomst till tabelldata.
När en Azure-roll tilldelas ett Microsoft Entra-säkerhetsobjekt ger Azure åtkomst till dessa resurser för det säkerhetsobjektet. Ett Microsoft Entra-säkerhetsobjekt kan vara en användare, en grupp, ett huvudnamn för programtjänsten eller en hanterad identitet för Azure-resurser.
Resursomfång
Innan du tilldelar en Azure RBAC-roll till ett säkerhetsobjekt ska du bestämma vilken omfattning av åtkomst som säkerhetsobjektet ska ha. Bästa praxis kräver att det alltid är bäst att endast bevilja minsta möjliga omfång. Azure RBAC-roller som definierats i ett bredare omfång ärvs av resurserna under dem.
Du kan begränsa åtkomsten till Azure-tabellresurser på följande nivåer, från och med det smalaste omfånget:
- En enskild tabell. I det här omfånget gäller en rolltilldelning för den angivna tabellen.
- Lagringskontot. I det här omfånget gäller en rolltilldelning för alla tabeller i kontot.
- Resursgruppen. I det här omfånget gäller en rolltilldelning för alla tabeller i alla lagringskonton i resursgruppen.
- Prenumerationen. I det här omfånget gäller en rolltilldelning för alla tabeller i alla lagringskonton i alla resursgrupper i prenumerationen.
- En hanteringsgrupp. I det här omfånget gäller en rolltilldelning för alla tabeller i alla lagringskonton i alla resursgrupper i alla prenumerationer i hanteringsgruppen.
Mer information om omfånget för Azure RBAC-rolltilldelningar finns i Förstå omfånget för Azure RBAC.
Inbyggda Azure-roller för tabeller
Azure RBAC tillhandahåller inbyggda roller för att auktorisera åtkomst till tabelldata med hjälp av Microsoft Entra ID och OAuth. Inbyggda roller som ger behörighet till tabeller i Azure Storage är:
- Lagringstabelldatadeltagare: Använd för att bevilja läs-/skriv-/borttagningsbehörigheter till Table Storage-resurser.
- Dataläsare för lagringstabell: Använd för att bevilja skrivskyddade behörigheter till Table Storage-resurser.
Information om hur du tilldelar en inbyggd Azure-roll till ett säkerhetsobjekt finns i Tilldela en Azure-roll för åtkomst till tabelldata. Information om hur du listar Azure RBAC-roller och deras behörigheter finns i Lista Azure-rolldefinitioner.
Mer information om hur inbyggda roller definieras för Azure Storage finns i Förstå rolldefinitioner. Information om hur du skapar anpassade Azure-roller finns i Anpassade Azure-roller.
Endast roller som uttryckligen definierats för dataåtkomst tillåter ett säkerhetsobjekt att komma åt tabelldata. Inbyggda roller som Ägare, Deltagare och Lagringskontodeltagare tillåter ett säkerhetsobjekt att hantera ett lagringskonto, men ger inte åtkomst till tabelldata i det kontot via Microsoft Entra-ID. Men om en roll innehåller Microsoft.Storage/storageAccounts/listKeys/action kan en användare som rollen har tilldelats komma åt data i lagringskontot via auktorisering av delad nyckel med kontoåtkomstnycklarna.
Detaljerad information om inbyggda Azure-roller för Azure Storage för både datatjänster och hanteringstjänsten finns i avsnittet Lagring i inbyggda Azure-roller för Azure RBAC. Information om de olika typer av roller som ger behörigheter i Azure finns dessutom i Azure-roller, Microsoft Entra-roller och klassiska administratörsroller för prenumerationer.
Viktigt!
Det kan ta upp till 30 minuter att sprida Azure-rolltilldelningar.
Åtkomstbehörigheter för dataåtgärder
Mer information om de behörigheter som krävs för att anropa specifika table service-åtgärder finns i Behörigheter för att anropa dataåtgärder.