Zapobieganie replikacji obiektów w dzierżawach firmy Microsoft

Replikacja obiektów asynchronicznie kopiuje blokowe obiekty blob z kontenera na jednym koncie magazynu do kontenera na innym koncie magazynu. Podczas konfigurowania zasad replikacji obiektów należy określić konto źródłowe i kontener oraz konto docelowe i kontener. Po skonfigurowaniu zasad usługa Azure Storage automatycznie kopiuje wyniki operacji tworzenia, aktualizowania i usuwania obiektu źródłowego do obiektu docelowego. Aby uzyskać więcej informacji na temat replikacji obiektów w usłudze Azure Storage, zobacz Replikacja obiektów blokowych obiektów blob.

Autoryzowany użytkownik może skonfigurować zasady replikacji obiektów, w których konto źródłowe znajduje się w jednej dzierżawie firmy Microsoft Entra, a konto docelowe znajduje się w innej dzierżawie, jeśli replikacja między dzierżawami jest dozwolona w dzierżawach firmy Microsoft Entra. Jeśli zasady zabezpieczeń wymagają ograniczenia replikacji obiektów do kont magazynu znajdujących się tylko w tej samej dzierżawie, można uniemożliwić tworzenie zasad, w których konta źródłowe i docelowe znajdują się w różnych dzierżawach. Domyślnie replikacja obiektów między dzierżawami jest wyłączona dla wszystkich nowych kont magazynu utworzonych po 15 grudnia 2023 r., chyba że jawnie na to zezwolisz.

W tym artykule opisano sposób korygowania replikacji obiektów między dzierżawami dla kont magazynu. Opisano również sposób tworzenia zasad w celu wymuszenia zakazu replikacji obiektów między dzierżawami dla nowych i istniejących kont magazynu.

Aby uzyskać więcej informacji na temat konfigurowania zasad replikacji obiektów, w tym zasad między dzierżawami, zobacz Konfigurowanie replikacji obiektów dla blokowych obiektów blob.

Korygowanie replikacji obiektów między dzierżawami

Aby zapobiec replikacji obiektów w dzierżawach usługi Microsoft Entra, ustaw właściwość AllowCrossTenantReplication dla konta magazynu na wartość false. Jeśli konto magazynu nie uczestniczy obecnie w żadnych zasadach replikacji obiektów między dzierżawami, ustawienie właściwości AllowCrossTenantReplication na wartość false uniemożliwia przyszłą konfigurację zasad replikacji obiektów między dzierżawami przy użyciu tego konta magazynu jako źródła lub miejsca docelowego. Jeśli jednak konto magazynu aktualnie uczestniczy w co najmniej jednej zasadach replikacji obiektów między dzierżawami, ustawienie właściwości AllowCrossTenantReplication na false nie jest dozwolone, dopóki nie usuniesz istniejących zasad między dzierżawami.

Zasady między dzierżawami nie są domyślnie dozwolone dla konta magazynu utworzonego po 15 grudnia 2023 r. Jednak właściwość AllowCrossTenantReplication nie została ustawiona domyślnie dla istniejącego konta magazynu utworzonego przed 15 grudnia 2023 r. i nie zwraca wartości, dopóki nie zostanie jawnie ustawiona. Konto magazynu może uczestniczyć w zasadach replikacji obiektów w dzierżawach, gdy wartość właściwości ma wartość null lub true dla kont utworzonych przed dev 15, 2023. W przypadku kont utworzonych po tym czasie właściwość musi być ustawiona na wartość true. Ustawienie właściwości AllowCrossTenantReplication nie powoduje żadnych przestojów na koncie magazynu.

Korygowanie replikacji między dzierżawami dla nowego konta

Aby uniemożliwić replikację między dzierżawami dla nowego konta magazynu, użyj witryny Azure Portal, programu PowerShell lub interfejsu wiersza polecenia platformy Azure. Właściwość domyślnie ma wartość false dla nowych kont utworzonych po 15 grudnia 2023 r., nawet jeśli nie zostanie jawnie ustawiona.

Aby uniemożliwić replikację obiektów między dzierżawami dla konta magazynu, wykonaj następujące kroki:

  1. W witrynie Azure Portal przejdź do strony Konta magazynu i wybierz pozycję Utwórz.

  2. Wypełnij kartę Podstawowe dla nowego konta magazynu.

  3. Na karcie Zaawansowane w sekcji Blob Storage znajdź ustawienie Zezwalaj na replikację między dzierżawami i usuń zaznaczenie pola wyboru.

    Screenshot showing how to disallow cross-tenant object replication for a new storage account

  4. Ukończ proces tworzenia konta.

Korygowanie replikacji między dzierżawami dla istniejącego konta

Aby uniemożliwić replikację między dzierżawami dla istniejącego konta magazynu, użyj witryny Azure Portal, programu PowerShell lub interfejsu wiersza polecenia platformy Azure.

Aby uniemożliwić replikację obiektów między dzierżawami dla istniejącego konta magazynu, które nie uczestniczy obecnie w żadnych zasadach między dzierżawami, wykonaj następujące kroki:

  1. W witrynie Azure Portal przejdź do swojego konta magazynu.

  2. W obszarze Zarządzanie danymi wybierz pozycję Replikacja obiektów.

  3. Wybierz pozycję Ustawienia zaawansowane.

  4. Usuń zaznaczenie pola wyboru Zezwalaj na replikację między dzierżawami. Domyślnie to pole jest zaznaczone, ponieważ replikacja obiektów między dzierżawami jest dozwolona dla konta magazynu, chyba że jawnie nie zezwalasz na nie.

    Screenshot showing how to disallow cross-tenant object replication for an existing storage account

  5. Aby zapisać zmiany, wybierz pozycję OK.

Jeśli konto magazynu aktualnie uczestniczy w co najmniej jednej zasadach replikacji między dzierżawami, nie będzie można uniemożliwić replikacji obiektów między dzierżawami, dopóki te zasady nie zostaną usunięte. W tym scenariuszu ustawienie jest niedostępne w witrynie Azure Portal, jak pokazano na poniższej ilustracji.

Screenshot

Po uniemożliwieniu replikacji między dzierżawami próba skonfigurowania zasad między dzierżawami przy użyciu konta magazynu jako źródła lub miejsca docelowego zakończy się niepowodzeniem. Usługa Azure Storage zwraca błąd wskazujący, że replikacja obiektów między dzierżawami nie jest dozwolona dla konta magazynu.

Jeśli replikacja obiektów między dzierżawami jest niedozwolona dla konta magazynu, wszystkie nowe zasady replikacji obiektów utworzone za pomocą tego konta muszą zawierać pełne identyfikatory usługi Azure Resource Manager dla konta źródłowego i docelowego. Usługa Azure Storage wymaga pełnego identyfikatora zasobu, aby sprawdzić, czy konta źródłowe i docelowe znajdują się w tej samej dzierżawie. Aby uzyskać więcej informacji, zobacz Określanie pełnych identyfikatorów zasobów dla kont źródłowych i docelowych.

Właściwość AllowCrossTenantReplication jest obsługiwana dla kont magazynu korzystających tylko z modelu wdrażania usługi Azure Resource Manager. Aby uzyskać informacje o tym, które konta magazynu korzystają z modelu wdrażania usługi Azure Resource Manager, zobacz Typy kont magazynu.

Uprawnienia do zezwalania na replikację między dzierżawami lub zezwalania na nie

Aby ustawić właściwość AllowCrossTenantReplication dla konta magazynu, użytkownik musi mieć uprawnienia do tworzenia kont magazynu i zarządzania nimi. Role kontroli dostępu opartej na rolach (RBAC) platformy Azure, które zapewniają te uprawnienia, obejmują akcję Microsoft.Storage/storageAccounts/write lub Microsoft.Storage/storageAccounts/* . Wbudowane role z tą akcją obejmują:

Te role nie zapewniają dostępu do danych na koncie magazynu za pośrednictwem identyfikatora Entra firmy Microsoft. Obejmują one jednak usługę Microsoft.Storage/storageAccounts/listkeys/action, która udziela dostępu do kluczy dostępu do konta. Za pomocą tego uprawnienia użytkownik może użyć kluczy dostępu do konta, aby uzyskać dostęp do wszystkich danych na koncie magazynu.

Przypisania ról muszą być ograniczone do poziomu konta magazynu lub wyższego, aby umożliwić użytkownikowi zezwolenie na replikację obiektów między dzierżawami lub nie zezwalać na replikację między dzierżawami dla konta magazynu. Aby uzyskać więcej informacji na temat zakresu ról, zobacz Omówienie zakresu kontroli dostępu opartej na rolach platformy Azure.

Należy zachować ostrożność, aby ograniczyć przypisywanie tych ról tylko do tych, którzy wymagają możliwości utworzenia konta magazynu lub zaktualizowania jego właściwości. Użyj zasady najniższych uprawnień, aby upewnić się, że użytkownicy mają najmniejsze uprawnienia, których potrzebują do wykonania swoich zadań. Aby uzyskać więcej informacji na temat zarządzania dostępem za pomocą kontroli dostępu opartej na rolach platformy Azure, zobacz Najlepsze rozwiązania dotyczące kontroli dostępu opartej na rolach platformy Azure.

Uwaga

Role klasycznego administratora subskrypcji Service Administracja istrator i Współ-Administracja istrator obejmują odpowiednik roli właściciela usługi Azure Resource Manager. Rola Właściciel zawiera wszystkie akcje, więc użytkownik z jedną z tych ról administracyjnych może również tworzyć konta magazynu i zarządzać nimi. Aby uzyskać więcej informacji, zobacz Role platformy Azure, Role firmy Microsoft Entra i klasyczne role administratora subskrypcji.

Przeprowadzanie inspekcji pod kątem zgodności przy użyciu usługi Azure Policy

Jeśli masz dużą liczbę kont magazynu, możesz przeprowadzić inspekcję, aby upewnić się, że te konta są skonfigurowane w celu zapobiegania replikacji obiektów między dzierżawami. Aby przeprowadzić inspekcję zestawu kont magazynu pod kątem zgodności, użyj usługi Azure Policy. Azure Policy to usługa, której można użyć do tworzenia, przypisywania i zarządzania zasadami, które stosują reguły do zasobów platformy Azure. Usługa Azure Policy pomaga zachować zgodność tych zasobów ze standardami firmowymi i umowami dotyczącymi poziomu usług. Aby uzyskać więcej informacji, zobacz Omówienie usługi Azure Policy.

Tworzenie zasad z efektem inspekcji

Usługa Azure Policy obsługuje efekty, które określają, co się stanie, gdy reguła zasad jest oceniana względem zasobu. Efekt inspekcji tworzy ostrzeżenie, gdy zasób nie jest zgodny, ale nie zatrzymuje żądania. Aby uzyskać więcej informacji na temat efektów, zobacz Omówienie efektów usługi Azure Policy.

Aby utworzyć zasady z efektem inspekcji dla ustawienia replikacji obiektów między dzierżawami dla konta magazynu w witrynie Azure Portal, wykonaj następujące kroki:

  1. W portalu Azure przejdź do usługi Azure Policy.

  2. W sekcji Tworzenie wybierz pozycję Definicje.

  3. Wybierz pozycję Dodaj definicję zasad, aby utworzyć nową definicję zasad.

  4. W polu Lokalizacja definicji wybierz przycisk Więcej, aby określić, gdzie znajduje się zasób zasad inspekcji.

  5. Określ nazwę zasad. Opcjonalnie możesz określić opis i kategorię.

  6. W obszarze Reguła zasad dodaj następującą definicję zasad do sekcji policyRule .

    {
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.Storage/storageAccounts"
          },
          {
            "not": {
              "field":"Microsoft.Storage/storageAccounts/allowCrossTenantReplication",
              "equals": "false"
            }
          }
        ]
      },
      "then": {
        "effect": "audit"
      }
    }
    
  7. Zapisz zasady.

Przypisywanie zasad

Następnie przypisz zasady do zasobu. Zakres zasad odpowiada zasobowi i wszelkim zasobom poniżej. Aby uzyskać więcej informacji na temat przypisywania zasad, zobacz Azure Policy assignment structure (Struktura przypisywania zasad w usłudze Azure Policy).

Aby przypisać zasady w witrynie Azure Portal, wykonaj następujące kroki:

  1. W portalu Azure przejdź do usługi Azure Policy.
  2. W sekcji Tworzenie wybierz pozycję Przypisania.
  3. Wybierz pozycję Przypisz zasady , aby utworzyć nowe przypisanie zasad.
  4. W polu Zakres wybierz zakres przypisania zasad.
  5. W polu Definicja zasad wybierz przycisk Więcej, a następnie wybierz zasady zdefiniowane w poprzedniej sekcji z listy.
  6. Określ nazwę przypisania zasad. Opcjonalnie możesz wprowadzić opis.
  7. Pozostaw opcję Wymuszanie zasad ustawione na włączone. To ustawienie nie ma wpływu na zasady inspekcji.
  8. Wybierz pozycję Przejrzyj i utwórz , aby utworzyć przypisanie.

Wyświetlanie raportu zgodności

Po przypisaniu zasad możesz wyświetlić raport zgodności. Raport zgodności zasad inspekcji zawiera informacje o tym, które konta magazynu nadal zezwalają na zasady replikacji obiektów między dzierżawami. Aby uzyskać więcej informacji, zobacz Pobieranie danych zgodności zasad.

Udostępnienie raportu zgodności po utworzeniu przypisania zasad może potrwać kilka minut.

Aby wyświetlić raport zgodności w witrynie Azure Portal, wykonaj następujące kroki:

  1. W portalu Azure przejdź do usługi Azure Policy.

  2. Wybierz pozycję Zgodność.

  3. Przefiltruj wyniki pod kątem nazwy przypisania zasad utworzonego w poprzednim kroku. Raport przedstawia zasoby, które nie są zgodne z zasadami.

  4. Możesz przejść do szczegółów raportu, aby uzyskać dodatkowe informacje, w tym listę kont magazynu, które nie są zgodne.

    Screenshot showing compliance report for audit policy for blob cross-tenant object replication

Używanie usługi Azure Policy do wymuszania zasad replikacji tej samej dzierżawy

Usługa Azure Policy obsługuje ład w chmurze, zapewniając, że zasoby platformy Azure są zgodne z wymaganiami i standardami. Aby upewnić się, że konta magazynu w organizacji nie zezwalają na replikację między dzierżawami, można utworzyć zasady uniemożliwiające utworzenie nowego konta magazynu, które zezwala na zasady replikacji obiektów między dzierżawami. Zasady wymuszania używają efektu Odmów, aby zapobiec żądaniu, które utworzy lub zmodyfikuje konto magazynu, aby zezwolić na replikację obiektów między dzierżawami. Zasady Odmowy uniemożliwią również zmianę konfiguracji istniejącego konta, jeśli ustawienie replikacji obiektu między dzierżawami dla tego konta nie jest zgodne z zasadami. Aby uzyskać więcej informacji na temat efektu Odmowy, zobacz Omówienie efektów usługi Azure Policy.

Aby utworzyć zasady z efektem Odmowy dla replikacji obiektów między dzierżawami, wykonaj te same kroki opisane w artykule Używanie usługi Azure Policy do inspekcji pod kątem zgodności, ale podaj następujący kod JSON w sekcji policyRule definicji zasad:

{
  "if": {
    "allOf": [
      {
        "field": "type",
        "equals": "Microsoft.Storage/storageAccounts"
      },
      {
        "not": {
          "field":"Microsoft.Storage/storageAccounts/allowCrossTenantReplication",
          "equals": "false"
        }
      }
    ]
  },
  "then": {
    "effect": "deny"
  }
}

Po utworzeniu zasad z efektem Odmów i przypisaniu ich do zakresu użytkownik nie może utworzyć konta magazynu, które zezwala na replikację obiektów między dzierżawami. Użytkownik nie może również wprowadzić żadnych zmian konfiguracji na istniejącym koncie magazynu, które obecnie zezwala na replikację obiektów między dzierżawami. Próba wykonania tej czynności powoduje wystąpienie błędu. Właściwość AllowCrossTenantReplication dla konta magazynu musi być ustawiona na wartość false , aby kontynuować tworzenie konta lub aktualizacje konfiguracji zgodnie z zasadami.

Na poniższej ilustracji przedstawiono błąd, który występuje, jeśli próbujesz utworzyć konto magazynu, które zezwala na replikację obiektów między dzierżawami (ustawienie domyślne dla nowego konta), gdy zasady z efektem Odmowy wymagają, aby replikacja obiektów między dzierżawami nie została zablokowana.

Screenshot showing the error that occurs when creating a storage account in violation of policy

Zobacz też