Förhindra objektreplikering mellan Microsoft Entra-klienter

Objektreplikering kopierar asynkront blockblobbar från en container i ett lagringskonto till en container i ett annat lagringskonto. När du konfigurerar en princip för objektreplikering anger du källkontot och containern samt målkontot och containern. När principen har konfigurerats kopierar Azure Storage automatiskt resultatet av åtgärderna skapa, uppdatera och ta bort på ett källobjekt till målobjektet. Mer information om objektreplikering i Azure Storage finns i Objektreplikering för blockblobar.

En behörig användare kan konfigurera en princip för objektreplikering där källkontot finns i en Microsoft Entra-klientorganisation och målkontot finns i en annan klientorganisation om replikering mellan klientorganisationer tillåts mellan Microsoft Entra-klienter. Om dina säkerhetsprinciper kräver att du begränsar objektreplikering till lagringskonton som endast finns i samma klientorganisation kan du inte tillåta att principer skapas där käll- och målkontona finns i olika klientorganisationer. Som standard inaktiveras objektreplikering mellan klientorganisationer för alla nya lagringskonton som skapats efter den 15 december 2023, såvida du inte uttryckligen tillåter det.

I den här artikeln beskrivs hur du åtgärdar replikering av objekt mellan klientorganisationer för dina lagringskonton. Den beskriver också hur du skapar principer för att framtvinga ett förbud mot replikering av objekt mellan klientorganisationer för nya och befintliga lagringskonton.

Mer information om hur du konfigurerar principer för objektreplikering, inklusive principer för flera klientorganisationer, finns i Konfigurera objektreplikering för blockblobar.

Åtgärda replikering av objekt mellan klientorganisationer

Om du vill förhindra objektreplikering mellan Microsoft Entra-klienter anger du egenskapen AllowCrossTenantReplication för lagringskontot till false. Om ett lagringskonto för närvarande inte deltar i några replikeringsprinciper för objekt mellan klientorganisationer förhindrar inställningen av egenskapen AllowCrossTenantReplication falskt framtida konfiguration av replikeringsprinciper för objekt mellan klientorganisationer med det här lagringskontot som källa eller mål. Men om ett lagringskonto för närvarande deltar i en eller flera principer för replikering av objekt mellan klientorganisationer tillåts inte inställningen av egenskapen AllowCrossTenantReplication till false förrän du tar bort befintliga principer för flera klientorganisationer.

Principer för flera klientorganisationer tillåts inte som standard för ett lagringskonto som skapats efter den 15 december 2023. Egenskapen AllowCrossTenantReplication angavs dock inte som standard för ett befintligt lagringskonto som skapades före den 15 december 2023 och returnerar inte ett värde förrän du uttryckligen har angett det. Lagringskontot kan delta i principer för objektreplikering mellan klienter när egenskapsvärdet antingen är null eller sant för konton som skapats före Dev 15, 2023. För konton som skapats efter den tiden måste egenskapen anges till true. Om du anger egenskapen AllowCrossTenantReplication uppstår ingen stilleståndstid för lagringskontot.

Åtgärda replikering mellan klientorganisationer för ett nytt konto

Om du inte vill tillåta replikering mellan klientorganisationer för ett nytt lagringskonto använder du Azure-portalen, PowerShell eller Azure CLI. Egenskapen är som standard false för nya konton som skapats efter den 15 december 2023, även om den inte anges uttryckligen.

Följ dessa steg om du inte vill tillåta replikering mellan klientorganisationer för ett lagringskonto:

  1. I Azure-portalen går du till sidan Lagringskonton och väljer Skapa.

  2. Fyll i fliken Grundläggande för det nya lagringskontot .

  3. På fliken Avancerat går du till avsnittet Blob Storage och letar upp inställningen Tillåt replikering mellan klientorganisationer och avmarkerar kryssrutan.

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

  4. Slutför processen med att skapa kontot.

Åtgärda replikering mellan klientorganisationer för ett befintligt konto

Om du inte vill tillåta replikering mellan klientorganisationer för ett befintligt lagringskonto använder du Azure-portalen, PowerShell eller Azure CLI.

Följ dessa steg för att inte tillåta replikering mellan klientorganisationer för ett befintligt lagringskonto som för närvarande inte deltar i några principer för flera klientorganisationer:

  1. Navigera till ditt lagringskonto i Azure-portalen.

  2. Under Datahantering väljer du Objektreplikering.

  3. Välj Avancerade inställningar.

  4. Avmarkera Tillåt replikering mellan klientorganisationer. Som standard är den här rutan markerad eftersom replikering av objekt mellan klientorganisationer tillåts för ett lagringskonto om du inte uttryckligen tillåter det.

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

  5. Spara ändringarna genom att välja OK.

Om lagringskontot för närvarande deltar i en eller flera replikeringsprinciper mellan klientorganisationer kan du inte tillåta replikering av objekt mellan klientorganisationer förrän du har tagit bort dessa principer. I det här scenariot är inställningen inte tillgänglig i Azure-portalen, som du ser i följande bild.

Screenshot

När du inte tillåter replikering mellan klientorganisationer kan du försöka konfigurera en princip för flera klientorganisationer med lagringskontot eftersom källan eller målet misslyckas. Azure Storage returnerar ett fel som anger att replikering av objekt mellan klientorganisationer inte är tillåten för lagringskontot.

När replikering av objekt mellan klientorganisationer inte tillåts för ett lagringskonto, måste alla nya principer för objektreplikering som du skapar med det kontot innehålla de fullständiga Azure Resource Manager-ID:n för käll- och målkontot. Azure Storage kräver det fullständiga resurs-ID:t för att verifiera om käll- och målkontona finns i samma klientorganisation. Mer information finns i Ange fullständiga resurs-ID:t för käll- och målkontona.

Egenskapen AllowCrossTenantReplication stöds för lagringskonton som endast använder Azure Resource Manager-distributionsmodellen. Information om vilka lagringskonton som använder Azure Resource Manager-distributionsmodellen finns i Typer av lagringskonton.

Behörigheter för att tillåta eller neka replikering mellan klientorganisationer

Om du vill ange egenskapen AllowCrossTenantReplication för ett lagringskonto måste en användare ha behörighet att skapa och hantera lagringskonton. Rollbaserade Azure-åtkomstkontrollroller (Azure RBAC) som ger dessa behörigheter omfattar åtgärden Microsoft.Storage/storageAccounts/write eller Microsoft.Storage/storageAccounts/* . Inbyggda roller med den här åtgärden är:

Dessa roller ger inte åtkomst till data i ett lagringskonto via Microsoft Entra-ID. De innehåller dock åtgärden Microsoft.Storage/storageAccounts/listkeys/action, som ger åtkomst till kontoåtkomstnycklarna. Med den här behörigheten kan en användare använda kontoåtkomstnycklarna för att komma åt alla data i ett lagringskonto.

Rolltilldelningar måste begränsas till lagringskontots nivå eller högre för att tillåta att en användare tillåter eller inte tillåter replikering av objekt mellan klientorganisationer för lagringskontot. Mer information om rollomfång finns i Förstå omfånget för Azure RBAC.

Var noga med att begränsa tilldelningen av dessa roller endast till dem som behöver möjligheten att skapa ett lagringskonto eller uppdatera dess egenskaper. Använd principen om minsta behörighet för att se till att användarna har minst behörighet att utföra sina uppgifter. Mer information om hur du hanterar åtkomst med Azure RBAC finns i Metodtips för Azure RBAC.

Kommentar

De klassiska prenumerationsadministratörsrollerna Tjänstadministratör och medadministratör innehåller motsvarigheten till rollen Azure Resource Manager-ägare. Rollen Ägare innehåller alla åtgärder, så att en användare med någon av dessa administrativa roller också kan skapa och hantera lagringskonton. Mer information finns i Azure-roller , Microsoft Entra-roller och klassiska prenumerationsadministratörsroller.

Använda Azure Policy för att granska efterlevnad

Om du har ett stort antal lagringskonton kanske du vill utföra en granskning för att se till att dessa konton har konfigurerats för att förhindra replikering av objekt mellan klientorganisationer. Om du vill granska en uppsättning lagringskonton för deras efterlevnad använder du Azure Policy. Azure Policy är en tjänst som du kan använda för att skapa, tilldela och hantera principer som tillämpar regler för Azure-resurser. Azure Policy hjälper dig att hålla resurserna kompatibla med företagets standarder och serviceavtal. Mer information finns i Översikt över Azure Policy.

Skapa en princip med en granskningseffekt

Azure Policy stöder effekter som avgör vad som händer när en principregel utvärderas mot en resurs. Granskningseffekten skapar en varning när en resurs inte är i kompatibilitet, men inte stoppar begäran. Mer information om effekter finns i Förstå Azure Policy-effekter.

Följ dessa steg om du vill skapa en princip med en granskningseffekt för replikeringsinställningen för objektreplikering mellan klientorganisationer för ett lagringskonto med Azure-portalen:

  1. I Azure-portalen, gå till tjänsten Azure Policy.

  2. Under avsnittet Redigering väljer du Definitioner.

  3. Välj Lägg till principdefinition för att skapa en ny principdefinition.

  4. I fältet Definitionsplats väljer du knappen Mer för att ange var resursen för granskningsprinciper finns.

  5. Ange ett namn för principen. Du kan även ange en beskrivning och kategori.

  6. Under Principregel lägger du till följande principdefinition i avsnittet policyRule .

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

Tilldela principen

Tilldela sedan principen till en resurs. Omfånget för principen motsvarar den resursen och eventuella resurser under den. Mer information om principtilldelning finns i Azure Policy-tilldelningsstruktur.

Följ dessa steg för att tilldela principen till Azure-portalen:

  1. I Azure-portalen, gå till tjänsten Azure Policy.
  2. Under avsnittet Redigering väljer du Tilldelningar.
  3. Välj Tilldela princip för att skapa en ny principtilldelning.
  4. I fältet Omfång väljer du omfånget för principtilldelningen.
  5. I fältet Principdefinition väljer du knappen Mer och väljer sedan den princip som du definierade i föregående avsnitt i listan.
  6. Ange ett namn för principtilldelningen. Beskrivningen är valfri.
  7. Lämna Principtillämpning inställd på Aktiverad. Den här inställningen påverkar inte granskningsprincipen.
  8. Välj Granska + skapa för att skapa tilldelningen.

Visa efterlevnadsrapport

När du har tilldelat principen kan du visa efterlevnadsrapporten. Efterlevnadsrapporten för en granskningsprincip innehåller information om vilka lagringskonton som fortfarande tillåter replikeringsprinciper för objekt mellan klientorganisationer. Mer information finns i Hämta principefterlevnadsdata.

Det kan ta flera minuter innan efterlevnadsrapporten blir tillgänglig när principtilldelningen har skapats.

Följ dessa steg för att visa efterlevnadsrapporten i Azure-portalen:

  1. I Azure-portalen, gå till tjänsten Azure Policy.

  2. Välj Efterlevnad.

  3. Filtrera resultatet efter namnet på den principtilldelning som du skapade i föregående steg. Rapporten visar resurser som inte följer principen.

  4. Du kan öka detaljnivån i rapporten för ytterligare information, inklusive en lista över lagringskonton som inte är kompatibla.

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

Använda Azure Policy för att tillämpa replikeringsprinciper för samma klientorganisation

Azure Policy stöder molnstyrning genom att se till att Azure-resurser följer krav och standarder. För att säkerställa att lagringskonton i din organisation inte tillåter replikering mellan klientorganisationer kan du skapa en princip som förhindrar skapandet av ett nytt lagringskonto som tillåter replikeringsprinciper för objekt mellan klientorganisationer. Tvingande principen använder neka-effekten för att förhindra en begäran som skulle skapa eller ändra ett lagringskonto för att tillåta replikering av objekt mellan klientorganisationer. Principen Neka förhindrar också alla konfigurationsändringar i ett befintligt konto om replikeringsinställningen för objektreplikering mellan klientorganisationer för det kontot inte är kompatibel med principen. Mer information om neka-effekten finns i Förstå Azure Policy-effekter.

Om du vill skapa en princip med en neka-effekt för replikering av objekt mellan klientorganisationer följer du samma steg som beskrivs i Använda Azure Policy för att granska efterlevnad, men ange följande JSON i avsnittet policyRule i principdefinitionen:

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

När du har skapat principen med neka-effekten och tilldelat den till ett omfång kan en användare inte skapa ett lagringskonto som tillåter replikering av objekt mellan klientorganisationer. En användare kan inte heller göra några konfigurationsändringar i ett befintligt lagringskonto som för närvarande tillåter replikering av objekt mellan klientorganisationer. Om du försöker göra det resulterar det i ett fel. Egenskapen AllowCrossTenantReplication för lagringskontot måste vara inställd på false för att kunna fortsätta med kontoskapande eller konfigurationsuppdateringar i enlighet med principen.

Följande bild visar det fel som uppstår om du försöker skapa ett lagringskonto som tillåter replikering av objekt mellan klientorganisationer (standardvärdet för ett nytt konto) när en princip med en neka-effekt kräver att replikering mellan klientorganisationer tillåts.

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

Se även