Autoryzowanie dostępu do tabel przy użyciu identyfikatora Entra firmy Microsoft

Usługa Azure Storage obsługuje używanie identyfikatora Entra firmy Microsoft do autoryzowania żądań do danych tabeli. Za pomocą identyfikatora Entra firmy Microsoft możesz użyć kontroli dostępu opartej na rolach (RBAC) platformy Azure, aby udzielić uprawnień jednostce zabezpieczeń, która może być użytkownikiem, grupą lub jednostką usługi aplikacji. Podmiot zabezpieczeń jest uwierzytelniany przez identyfikator entra firmy Microsoft w celu zwrócenia tokenu OAuth 2.0. Token może następnie służyć do autoryzowania żądania względem usługi Table Service.

Autoryzowanie żądań względem usługi Azure Storage przy użyciu identyfikatora Entra firmy Microsoft zapewnia lepsze zabezpieczenia i łatwość użycia w przypadku autoryzacji klucza współdzielonego. Firma Microsoft zaleca używanie autoryzacji Entra firmy Microsoft z aplikacjami tabel, jeśli jest to możliwe, aby zapewnić dostęp z minimalnymi wymaganymi uprawnieniami.

Autoryzacja za pomocą identyfikatora Entra firmy Microsoft jest dostępna dla wszystkich celów ogólnych we wszystkich regionach publicznych i chmurach krajowych. Tylko konta magazynu utworzone za pomocą modelu wdrażania usługi Azure Resource Manager obsługują autoryzację firmy Microsoft Entra.

Omówienie identyfikatora Entra firmy Microsoft dla tabel

Gdy podmiot zabezpieczeń (użytkownik, grupa lub aplikacja) próbuje uzyskać dostęp do zasobu tabeli, żądanie musi być autoryzowane. W przypadku identyfikatora Entra firmy Microsoft dostęp do zasobu jest procesem dwuetapowym. Najpierw tożsamość podmiotu zabezpieczeń jest uwierzytelniana i zwracany jest token OAuth 2.0. Następnie token jest przekazywany jako część żądania do usługi Table i używany przez usługę do autoryzowania dostępu do określonego zasobu.

Krok uwierzytelniania wymaga, aby aplikacja zażądała tokenu dostępu OAuth 2.0 w czasie wykonywania. Jeśli aplikacja działa z poziomu jednostki platformy Azure, takiej jak maszyna wirtualna platformy Azure, zestaw skalowania maszyn wirtualnych lub aplikacja usługi Azure Functions, może używać tożsamości zarządzanej do uzyskiwania dostępu do tabel.

Krok autoryzacji wymaga przypisania co najmniej jednej roli platformy Azure do podmiotu zabezpieczeń. Usługa Azure Storage udostępnia role platformy Azure, które obejmują typowe zestawy uprawnień dla danych tabeli. Role przypisane do podmiotu zabezpieczeń określają uprawnienia, które będą miały podmiot zabezpieczeń. Aby dowiedzieć się więcej na temat przypisywania ról platformy Azure na potrzeby dostępu do tabel, zobacz Przypisywanie roli platformy Azure w celu uzyskania dostępu do danych tabeli.

Poniższa tabela zawiera dodatkowe informacje dotyczące autoryzowania dostępu do danych w różnych scenariuszach:

Język .NET Java JavaScript Python Go
Omówienie uwierzytelniania za pomocą identyfikatora Entra firmy Microsoft Jak uwierzytelniać aplikacje platformy .NET za pomocą usług platformy Azure Uwierzytelnianie platformy Azure przy użyciu języka Java i tożsamości platformy Azure Uwierzytelnianie aplikacji JavaScript na platformie Azure przy użyciu zestawu Azure SDK Uwierzytelnianie aplikacji języka Python na platformie Azure przy użyciu zestawu Azure SDK
Uwierzytelnianie przy użyciu jednostek usługi dla deweloperów Uwierzytelnianie aplikacji platformy .NET w usługach platformy Azure podczas programowania lokalnego przy użyciu jednostek usługi Uwierzytelnianie platformy Azure przy użyciu jednostki usługi Uwierzytelnianie aplikacji JS w usługach platformy Azure przy użyciu jednostki usługi Uwierzytelnianie aplikacji języka Python w usługach platformy Azure podczas programowania lokalnego przy użyciu jednostek usługi Zestaw Azure SDK dla języka Go z jednostką usługi
Uwierzytelnianie przy użyciu kont deweloperów lub użytkowników Uwierzytelnianie aplikacji platformy .NET w usługach platformy Azure podczas programowania lokalnego przy użyciu kont deweloperów Uwierzytelnianie platformy Azure przy użyciu poświadczeń użytkownika Uwierzytelnianie aplikacji JS w usługach platformy Azure przy użyciu kont deweloperskich Uwierzytelnianie aplikacji języka Python w usługach platformy Azure podczas programowania lokalnego przy użyciu kont deweloperów Uwierzytelnianie platformy Azure za pomocą zestawu Azure SDK dla języka Go
Uwierzytelnianie z aplikacji hostowanych na platformie Azure Uwierzytelnianie aplikacji hostowanych na platformie Azure do zasobów platformy Azure przy użyciu zestawu Azure SDK dla platformy .NET Uwierzytelnianie aplikacji Java hostowanych na platformie Azure Uwierzytelnianie aplikacji JavaScript hostowanych na platformie Azure do zasobów platformy Azure przy użyciu zestawu Azure SDK dla języka JavaScript Uwierzytelnianie aplikacji hostowanych na platformie Azure do zasobów platformy Azure przy użyciu zestawu Azure SDK dla języka Python Uwierzytelnianie za pomocą zestawu Azure SDK dla języka Go przy użyciu tożsamości zarządzanej
Uwierzytelnianie z aplikacji lokalnych Uwierzytelnianie w zasobach platformy Azure z aplikacji platformy .NET hostowanych lokalnie Uwierzytelnianie lokalnych aplikacji JavaScript w zasobach platformy Azure Uwierzytelnianie w zasobach platformy Azure z aplikacji języka Python hostowanych lokalnie
Omówienie biblioteki klienta tożsamości Biblioteka klienta tożsamości platformy Azure dla platformy .NET Biblioteka klienta tożsamości platformy Azure dla języka Java Biblioteka klienta tożsamości platformy Azure dla języka JavaScript Biblioteka klienta tożsamości platformy Azure dla języka Python Biblioteka klienta tożsamości platformy Azure dla języka Go

Przypisywanie ról platformy Azure na potrzeby praw dostępu

Firma Microsoft Entra autoryzuje prawa dostępu do zabezpieczonych zasobów za pośrednictwem kontroli dostępu na podstawie ról (RBAC) platformy Azure. Usługa Azure Storage definiuje zestaw wbudowanych ról platformy Azure, które obejmują typowe zestawy uprawnień używanych do uzyskiwania dostępu do danych tabeli. Możesz również zdefiniować role niestandardowe na potrzeby dostępu do danych tabeli.

Po przypisaniu roli platformy Azure do podmiotu zabezpieczeń firmy Microsoft Entra platforma Azure udziela dostępu do tych zasobów dla tego podmiotu zabezpieczeń. Podmiot zabezpieczeń firmy Microsoft Entra może być użytkownikiem, grupą, jednostką usługi aplikacji lub tożsamością zarządzaną dla zasobów platformy Azure.

Zakres zasobu

Przed przypisaniem roli RBAC platformy Azure do podmiotu zabezpieczeń określ zakres dostępu, który powinien mieć podmiot zabezpieczeń. Najlepsze rozwiązania określają, że zawsze najlepiej przyznać tylko najwęższy możliwy zakres. Role RBAC platformy Azure zdefiniowane w szerszym zakresie są dziedziczone przez pod nimi zasoby.

Dostęp do zasobów tabeli platformy Azure można ograniczyć na następujących poziomach, począwszy od najwęższego zakresu:

  • Pojedyncza tabela. W tym zakresie przypisanie roli ma zastosowanie do określonej tabeli.
  • Konto magazynu W tym zakresie przypisanie roli ma zastosowanie do wszystkich tabel w ramach konta.
  • grupa zasobów. W tym zakresie przypisanie roli ma zastosowanie do wszystkich tabel we wszystkich kontach magazynu w grupie zasobów.
  • Subskrypcja. W tym zakresie przypisanie roli ma zastosowanie do wszystkich tabel we wszystkich kontach magazynu we wszystkich grupach zasobów w subskrypcji.
  • Grupa zarządzania. W tym zakresie przypisanie roli ma zastosowanie do wszystkich tabel we wszystkich kontach magazynu we wszystkich grupach zasobów we wszystkich subskrypcjach w grupie zarządzania.

Aby uzyskać więcej informacji na temat zakresu przypisań ról RBAC platformy Azure, zobacz Omówienie zakresu kontroli dostępu opartej na rolach platformy Azure.

Wbudowane role platformy Azure dla tabel

Kontrola dostępu oparta na rolach platformy Azure zapewnia wbudowane role umożliwiające autoryzowanie dostępu do danych tabeli przy użyciu identyfikatora Entra firmy Microsoft i protokołu OAuth. Wbudowane role, które zapewniają uprawnienia do tabel w usłudze Azure Storage, obejmują:

  • Współautor danych tabeli usługi Storage: służy do udzielania uprawnień odczytu/zapisu/usuwania do zasobów usługi Table Storage.
  • Czytelnik danych tabel usługi Storage: służy do udzielania uprawnień tylko do odczytu do zasobów usługi Table Storage.

Aby dowiedzieć się, jak przypisać wbudowaną rolę platformy Azure do podmiotu zabezpieczeń, zobacz Przypisywanie roli platformy Azure w celu uzyskania dostępu do danych tabeli. Aby dowiedzieć się, jak wyświetlić listę ról RBAC platformy Azure i ich uprawnień, zobacz Wyświetlanie listy definicji ról platformy Azure.

Aby uzyskać więcej informacji na temat sposobu definiowania ról wbudowanych dla usługi Azure Storage, zobacz Omówienie definicji ról. Aby uzyskać informacje na temat tworzenia ról niestandardowych platformy Azure, zobacz Role niestandardowe platformy Azure.

Tylko role jawnie zdefiniowane dla dostępu do danych zezwalają podmiotowi zabezpieczeń na dostęp do danych tabeli. Wbudowane role, takie jak Właściciel, Współautor i Współautor konta magazynu, umożliwiają podmiotowi zabezpieczeń zarządzanie kontem magazynu, ale nie zapewniają dostępu do danych tabeli w ramach tego konta za pośrednictwem identyfikatora Microsoft Entra. Jeśli jednak rola zawiera wartość Microsoft.Storage/storageAccounts/listKeys/action, użytkownik, któremu przypisano tę rolę, może uzyskać dostęp do danych na koncie magazynu za pośrednictwem autoryzacji klucza współdzielonego z kluczami dostępu do konta.

Aby uzyskać szczegółowe informacje na temat wbudowanych ról platformy Azure dla usługi Azure Storage dla usług danych i usługi zarządzania, zobacz sekcję Storage w temacie Role wbudowane platformy Azure dla kontroli dostępu opartej na rolach platformy Azure. Ponadto aby uzyskać informacje o różnych typach ról, które zapewniają uprawnienia na platformie Azure, zobacz Role platformy Azure, Role firmy Microsoft Entra i klasyczne role administratora subskrypcji.

Ważne

Propagacja przypisań ról platformy Azure może potrwać do 30 minut.

Uprawnienia dostępu do operacji danych

Aby uzyskać szczegółowe informacje na temat uprawnień wymaganych do wywoływania określonych operacji usługi Table Service, zobacz Uprawnienia do wywoływania operacji danych.

Następne kroki