Aracılığıyla paylaş


Microsoft Entra kiracıları arasında nesne çoğaltmasını engelleme

Nesne çoğaltma, blok bloblarını bir depolama hesabındaki bir kapsayıcıdan başka bir depolama hesabındaki kapsayıcıya zaman uyumsuz olarak kopyalar. Bir nesne çoğaltma ilkesi yapılandırdığınızda, kaynak hesabı ve kapsayıcıyı, hedef hesabı ve kapsayıcıyı belirtirsiniz. İlke yapılandırıldıktan sonra Azure Depolama bir kaynak nesnedeki oluşturma, güncelleştirme ve silme işlemlerinin sonuçlarını otomatik olarak hedef nesneye kopyalar. Azure Depolama nesne çoğaltması hakkında daha fazla bilgi için bkz. Blok blobları için nesne çoğaltma.

Yetkili bir kullanıcı, Microsoft Entra kiracılarında kiracılar arası çoğaltmaya izin veriliyorsa kaynak hesabın bir Microsoft Entra kiracısında olduğu ve hedef hesabın farklı bir kiracıda olduğu bir nesne çoğaltma ilkesi yapılandırabilir. Güvenlik ilkeleriniz nesne çoğaltmasını yalnızca aynı kiracıda bulunan depolama hesaplarıyla kısıtlamanızı gerektiriyorsa, kaynak ve hedef hesapların farklı kiracılarda bulunduğu ilkeler oluşturulmasına izin veremezseniz. Varsayılan olarak, kiracılar arası nesne çoğaltma, açıkça izin vermediğiniz sürece 15 Aralık 2023'e kadar oluşturulan tüm yeni depolama hesapları için devre dışı bırakılır.

Bu makalede, depolama hesaplarınız için kiracılar arası nesne çoğaltmanın nasıl düzeltildiği açıklanır. Ayrıca, yeni ve mevcut depolama hesapları için kiracılar arası nesne çoğaltması üzerinde bir yasak uygulamaya yönelik ilkelerin nasıl oluşturulacağı açıklanır.

Kiracılar arası ilkeler de dahil olmak üzere nesne çoğaltma ilkelerini yapılandırma hakkında daha fazla bilgi için bkz . Blok blobları için nesne çoğaltmasını yapılandırma.

Kiracılar arası nesne çoğaltmayı düzeltme

Microsoft Entra kiracılarında nesne çoğaltmasını önlemek için depolama hesabının AllowCrossTenantReplication özelliğini false olarak ayarlayın. Bir depolama hesabı şu anda herhangi bir kiracılar arası nesne çoğaltma ilkesine katılmıyorsa AllowCrossTenantReplication özelliğini false olarak ayarlamak, bu depolama hesabıyla kiracılar arası nesne çoğaltma ilkelerinin kaynak veya hedef olarak gelecekte yapılandırılmasını önler. Ancak, bir depolama hesabı şu anda bir veya daha fazla kiracılar arası nesne çoğaltma ilkesine katılıyorsa, mevcut kiracılar arası ilkeleri silene kadar AllowCrossTenantReplication özelliğini false olarak ayarlamaya izin verilmez.

15 Aralık 2023'e kadar oluşturulan bir depolama hesabı için kiracılar arası ilkelere varsayılan olarak izin verilmez. Ancak AllowCrossTenantReplication özelliği, 15 Aralık 2023'e kadar oluşturulan mevcut bir depolama hesabı için varsayılan olarak ayarlanmadı ve siz açıkça ayarlayana kadar bir değer döndürmez. Özellik değeri Dev 15, 2023'te oluşturulan hesaplar için null veya true olduğunda depolama hesabı kiracılar arasında nesne çoğaltma ilkelerine katılabilir. Bu süreden sonra oluşturulan hesaplar için özelliğin true olarak ayarlanması gerekir. AllowCrossTenantReplication özelliğinin ayarlanması, depolama hesabında kapalı kalma süresine neden olmaz.

Yeni bir hesap için kiracılar arası çoğaltmayı düzeltme

Yeni bir depolama hesabı için kiracılar arası çoğaltmayı reddetmek için Azure portalını, PowerShell'i veya Azure CLI'yı kullanın. Özellik, açıkça ayarlanmasa bile 15 Aralık 2023'e kadar oluşturulan yeni hesaplar için varsayılan olarak false olarak ayarlanır.

Bir depolama hesabı için kiracılar arası nesne çoğaltmasına izin vermek için şu adımları izleyin:

  1. Azure portalında Depolama hesapları sayfasına gidin ve Oluştur'u seçin.

  2. Yeni depolama hesabı için Temel Bilgiler sekmesini doldurun.

  3. Gelişmiş sekmesindeki Blob depolama bölümünde Kiracılar arası çoğaltmaya izin ver ayarını bulun ve kutunun işaretini kaldırın.

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

  4. Hesabı oluşturma işlemini tamamlayın.

Mevcut bir hesap için kiracılar arası çoğaltmayı düzeltme

Mevcut bir depolama hesabı için kiracılar arası çoğaltmayı reddetmek için Azure portalını, PowerShell'i veya Azure CLI'yı kullanın.

Şu anda herhangi bir kiracılar arası ilkeye katılmayan mevcut bir depolama hesabı için kiracılar arası nesne çoğaltmasına izin vermek için şu adımları izleyin:

  1. Azure portalda depolama hesabınıza gidin.

  2. Veri yönetimi'nin altında Nesne çoğaltma'yı seçin.

  3. Gelişmiş ayarlar’ı seçin.

  4. Kiracılar arası çoğaltmaya izin ver seçeneğinin işaretini kaldırın. Varsayılan olarak, siz açıkça izin vermediğiniz sürece depolama hesabı için kiracılar arası nesne çoğaltmaya izin verilmediğinden bu kutu işaretlenir.

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

  5. Değişikliklerinizi kaydetmek için Tamam'ı seçin.

Depolama hesabı şu anda bir veya daha fazla kiracılar arası çoğaltma ilkesine katılıyorsa, bu ilkeleri silene kadar kiracılar arası nesne çoğaltmasına izin vermezsiniz. Bu senaryoda, ayar aşağıdaki görüntüde gösterildiği gibi Azure portalında kullanılamaz.

Screenshot

Kiracılar arası çoğaltmaya izin vermedikten sonra, kaynak veya hedef başarısız olduğundan depolama hesabıyla kiracılar arası bir ilke yapılandırma girişimi başarısız olur. Azure Depolama, depolama hesabı için kiracılar arası nesne çoğaltmaya izin verilmediğini belirten bir hata döndürür.

Bir depolama hesabı için kiracılar arası nesne çoğaltmaya izin verilmediğinde, bu hesapla oluşturduğunuz tüm yeni nesne çoğaltma ilkeleri kaynak ve hedef hesabın tam Azure Resource Manager kimliklerini içermelidir. Azure Depolama, kaynak ve hedef hesapların aynı kiracıda bulunup bulunmadığının doğrulanması için tam kaynak kimliğini gerektirir. Daha fazla bilgi için bkz . Kaynak ve hedef hesaplar için tam kaynak kimliklerini belirtme.

AllowCrossTenantReplication özelliği yalnızca Azure Resource Manager dağıtım modelini kullanan depolama hesapları için desteklenir. Hangi depolama hesaplarının Azure Resource Manager dağıtım modelini kullandığı hakkında bilgi için bkz . Depolama hesabı türleri.

Kiracılar arası çoğaltmaya izin verme veya izin verme izinleri

Bir depolama hesabının AllowCrossTenantReplication özelliğini ayarlamak için, kullanıcının depolama hesapları oluşturma ve yönetme izinlerine sahip olması gerekir. Bu izinleri sağlayan Azure rol tabanlı erişim denetimi (Azure RBAC) rolleri Microsoft.Depolama/storageAccounts/write veya Microsoft.Depolama/storageAccounts/* eylemi. Bu eyleme sahip yerleşik roller şunlardır:

Bu roller, Microsoft Entra Id aracılığıyla bir depolama hesabındaki verilere erişim sağlamaz. Ancak Microsoft.Depolama Hesap erişim anahtarlarına erişim veren /storageAccounts/listkeys/action. Bu izinle, kullanıcı bir depolama hesabındaki tüm verilere erişmek için hesap erişim anahtarlarını kullanabilir.

Bir kullanıcının depolama hesabı için kiracılar arası nesne çoğaltmasına izin vermesine veya bu çoğaltmaya izin vermesine izin vermek için rol atamalarının kapsamı depolama hesabı düzeyine veya daha yüksek bir düzeye çıkarılmalıdır. Rol kapsamı hakkında daha fazla bilgi için bkz . Azure RBAC kapsamını anlama.

Bu rollerin atamasını yalnızca depolama hesabı oluşturma veya özelliklerini güncelleştirme yeteneğine ihtiyaç duyanlarla kısıtlamaya dikkat edin. Kullanıcıların görevlerini gerçekleştirmek için ihtiyaç duydukları en az izinlere sahip olduğundan emin olmak için en az ayrıcalık ilkesini kullanın. Azure RBAC ile erişimi yönetme hakkında daha fazla bilgi için bkz . Azure RBAC için en iyi yöntemler.

Dekont

Klasik abonelik yöneticisi rolleri Service Yönetici istrator ve Co-Yönetici istrator, Azure Resource Manager Sahip rolünün eşdeğerini içerir. Sahip rolü tüm eylemleri içerdiğinden, bu yönetim rollerinden birine sahip bir kullanıcı da depolama hesapları oluşturabilir ve yönetebilir. Daha fazla bilgi için bkz . Azure rolleri, Microsoft Entra rolleri ve klasik abonelik yöneticisi rolleri.

Uyumluluk denetimi için Azure İlkesi kullanma

Çok sayıda depolama hesabınız varsa, bu hesapların kiracılar arası nesne çoğaltmasını engelleyecek şekilde yapılandırıldığından emin olmak için bir denetim gerçekleştirmek isteyebilirsiniz. Bir depolama hesabı kümesini uyumluluk açısından denetlemek için Azure İlkesi kullanın. Azure İlkesi, Azure kaynaklarına kural uygulayan ilkeler oluşturmak, atamak ve yönetmek için kullanabileceğiniz bir hizmettir. Azure İlkesi bu kaynakları kurumsal standartlarınız ve hizmet düzeyi sözleşmelerinizle uyumlu tutmanıza yardımcı olur. Daha fazla bilgi için bkz. Azure İlkesi genel bakış.

Denetim efektiyle ilke oluşturma

Azure İlkesi, bir ilke kuralı bir kaynağa göre değerlendirildiğinde ne olacağını belirleyen etkileri destekler. Denetim etkisi, bir kaynak uyumlu olmadığında ancak isteği durdurmadığında bir uyarı oluşturur. Efektler hakkında daha fazla bilgi için bkz. Azure İlkesi efektleri anlama.

Azure portalıyla bir depolama hesabının kiracılar arası nesne çoğaltma ayarında Denetim etkisi olan bir ilke oluşturmak için şu adımları izleyin:

  1. Azure portalda Azure İlkesi hizmetine gidin.

  2. Yazma bölümünde Tanımlar'ı seçin.

  3. Yeni bir ilke tanımı oluşturmak için İlke tanımı ekle'yi seçin.

  4. Tanım konumu alanında Diğer düğmesini seçerek denetim ilkesi kaynağının nerede bulunduğunu belirtin.

  5. İlke için bir ad belirtin. İsteğe bağlı olarak bir açıklama ve kategori belirtebilirsiniz.

  6. İlke kuralı'nın altında policyRule bölümüne aşağıdaki ilke tanımını ekleyin.

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

İlkeyi atama

Ardından ilkeyi bir kaynağa atayın. İlkenin kapsamı bu kaynağa ve altındaki kaynaklara karşılık gelir. İlke ataması hakkında daha fazla bilgi için bkz. atama yapısı Azure İlkesi.

İlkeyi Azure portal ile atamak için şu adımları izleyin:

  1. Azure portalda Azure İlkesi hizmetine gidin.
  2. Yazma bölümünde Atamalar'ı seçin.
  3. Yeni bir ilke ataması oluşturmak için İlke ata'yı seçin.
  4. Kapsam alanı için ilke atamasının kapsamını seçin.
  5. İlke tanımı alanı için Diğer düğmesini ve ardından listeden önceki bölümde tanımladığınız ilkeyi seçin.
  6. İlke ataması için bir ad belirtin. Açıklama isteğe bağlıdır.
  7. İlke zorlamasınıEtkin olarak bırakın. Bu ayarın denetim ilkesi üzerinde hiçbir etkisi yoktur.
  8. Ödevi oluşturmak için Gözden geçir + oluştur'u seçin.

Uyumluluk raporunu görüntüleme

İlkeyi atadıktan sonra uyumluluk raporunu görüntüleyebilirsiniz. Denetim ilkesinin uyumluluk raporu, hangi depolama hesaplarının hala kiracılar arası nesne çoğaltma ilkelerine izin verdiği hakkında bilgi sağlar. Daha fazla bilgi için bkz . İlke uyumluluk verilerini alma.

İlke ataması oluşturulduktan sonra uyumluluk raporunun kullanılabilir duruma gelmesi birkaç dakika sürebilir.

Azure portalında uyumluluk raporunu görüntülemek için şu adımları izleyin:

  1. Azure portalda Azure İlkesi hizmetine gidin.

  2. Uyumluluk'a tıklayın.

  3. Önceki adımda oluşturduğunuz ilke atamasının adı için sonuçları filtreleyin. Raporda ilkeyle uyumlu olmayan kaynaklar gösterilir.

  4. Uyumlu olmayan depolama hesaplarının listesi de dahil olmak üzere ek ayrıntılar için raporda detaya gidebilirsiniz.

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

Aynı kiracı çoğaltma ilkelerini zorunlu kılmak için Azure İlkesi kullanma

Azure İlkesi, Azure kaynaklarının gereksinimlere ve standartlara uygun olmasını sağlayarak bulut idaresini destekler. Kuruluşunuzdaki depolama hesaplarının kiracılar arası çoğaltmaya izin vermediğinden emin olmak için, kiracılar arası nesne çoğaltma ilkelerine izin veren yeni bir depolama hesabı oluşturulmasını engelleyen bir ilke oluşturabilirsiniz. Zorlama ilkesi, kiracılar arası nesne çoğaltmasına izin verecek şekilde depolama hesabı oluşturacak veya değiştirebilecek bir isteği önlemek için Reddet efektini kullanır. Reddetme ilkesi, söz konusu hesabın kiracılar arası nesne çoğaltma ayarı ilkeyle uyumlu değilse mevcut bir hesapta yapılan tüm yapılandırma değişikliklerini de engeller. Reddetme etkisi hakkında daha fazla bilgi için bkz. Azure İlkesi etkilerini anlama.

Kiracılar arası nesne çoğaltması için Reddetme etkisi olan bir ilke oluşturmak için Uyumluluk denetimi için Azure İlkesi kullanma bölümünde açıklanan adımları izleyin, ancak ilke tanımının policyRule bölümünde aşağıdaki JSON'u sağlayın:

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

İlkeyi Reddet efektiyle oluşturduktan ve bir kapsama atadıktan sonra, kullanıcı kiracılar arası nesne çoğaltmasına izin veren bir depolama hesabı oluşturamaz. Bir kullanıcı, şu anda kiracılar arası nesne çoğaltmasına izin veren mevcut bir depolama hesabında yapılandırma değişiklikleri yapamaz. Bunu yapmaya çalışmak bir hatayla sonuçlanır. depolama hesabının AllowCrossTenantReplication özelliği, ilkeye uygun olarak hesap oluşturma veya yapılandırma güncelleştirmelerine devam etmek için false olarak ayarlanmalıdır.

Aşağıdaki görüntüde, Reddetme efektine sahip bir ilke, kiracılar arası nesne çoğaltmasına izin verilmemesini gerektirdiğinde kiracılar arası nesne çoğaltmasına izin veren bir depolama hesabı (yeni hesap için varsayılan) oluşturmaya çalıştığınızda oluşan hata gösterilmektedir.

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

Ayrıca bkz.