Share via


Azure Cosmos DB yasak özel durumlarını tanılama ve sorunlarını giderme

UYGULANANLAR: NoSQL

403 HTTP durum kodu, isteğin tamamlanmasının yasak olduğunu temsil eder.

Güvenlik duvarı engelleme istekleri

Veri düzlemi istekleri Azure Cosmos DB'ye aşağıdaki üç yol üzerinden gelebilir.

  • Genel İnternet (IPv4)
  • Hizmet uç noktası
  • Özel uç nokta

Bir veri düzlemi isteği 403 Yasak ile engellendiğinde, hata iletisi isteğin Azure Cosmos DB'ye gelen üç yoldan hangisi aracılığıyla geldiğini belirtir.

  • Request originated from client IP {...} through public internet.
  • Request originated from client VNET through service endpoint.
  • Request originated from client VNET through private endpoint.

Çözüm

İsteğin Azure Cosmos DB'ye gelmesinin beklendiği yolu anlayın.

  • Hata iletisinde isteğin Azure Cosmos DB'ye beklenen yol üzerinden gelmediği gösteriliyorsa, sorun istemci tarafı kurulumuyla ilgili olabilir. Lütfen aşağıdaki belgeleri izleyerek istemci tarafı kurulumunuzu bir kez daha denetleyin.
    • Genel İnternet: Azure Cosmos DB'de IP güvenlik duvarını yapılandırın.
    • Hizmet uç noktası: Sanal ağlardan (VNet) Azure Cosmos DB'ye erişimi yapılandırın. Örneğin, hizmet uç noktasını kullanmayı bekliyorsanız ancak istek Genel İnternet üzerinden Azure Cosmos DB'ye geldiyse, istemcinin çalıştırdığı alt ağ Azure Cosmos DB'de hizmet uç noktasını etkinleştirmemiş olabilir.
    • Özel uç nokta: Azure Cosmos DB hesabı için Azure Özel Bağlantı yapılandırın. Örneğin, özel uç nokta kullanmayı bekliyorsanız ancak istek Genel İnternet üzerinden Azure Cosmos DB'ye geldiyse, VM'de DNS, hesap uç noktasını özel IP'ye çözümlemek için yapılandırılmamış olabilir, bu nedenle hesabın genel IP'sini geçmiş olabilir.
  • İstek Azure Cosmos DB'ye beklenen yol üzerinden geldiyse, kaynak ağ kimliği hesap için izin verilmek üzere yapılandırılmadığından istek engellendi. İsteğin Azure Cosmos DB'ye geldiği yola bağlı olarak hesabın ayarlarını denetleyin.
    • Genel İnternet: Hesabın genel ağ erişimini ve IP aralığı filtre yapılandırmalarını denetleyin.
    • Hizmet uç noktası: Hesabın genel ağ erişimini ve sanal ağ filtresi yapılandırmalarını denetleyin.
    • Özel uç nokta: Hesabın özel uç nokta yapılandırmasını ve istemcinin özel DNS yapılandırmasını denetleyin. Bunun nedeni, farklı bir hesap için ayarlanmış özel bir uç noktadan hesaba erişme olabilir.

Hesabın güvenlik duvarı yapılandırmalarını yakın zamanda güncelleştirdiyseniz değişikliklerin uygulanması 15 dakika kadar sürebilir.

Depolama alanını aşan bölüm anahtarı

Bu senaryoda, aşağıdakiler gibi hataları görmek yaygın bir durumdur:

Response status code does not indicate success: Forbidden (403); Substatus: 1014
Partition key reached maximum size of {...} GB

Çözüm

Bu hata, geçerli bölümleme tasarımınızın ve iş yükünüzün belirli bir bölüm anahtarı değeri için izin verilen miktardan daha fazla veri depolamaya çalıştığı anlamına gelir. Kapsayıcınızdaki mantıksal bölüm sayısıyla ilgili bir sınır yoktur, ancak her mantıksal bölümün depolayabileceğiniz verilerin boyutu sınırlıdır. Açıklama için desteğe ulaşabilirsiniz.

Veri dışı işlemlere izin verilmiyor

Bu senaryo, Microsoft Entra kimliklerini kullanarak veri dışı işlemler gerçekleştirmeye çalışırken oluşur. Bu senaryoda, aşağıdakiler gibi hataları görmek yaygın bir durumdur:

Operation 'POST' on resource 'calls' is not allowed through Azure Cosmos DB endpoint
Forbidden (403); Substatus: 5300; The given request [PUT ...] cannot be authorized by AAD token in data plane.

Çözüm

İşlemi Azure Resource Manager, Azure portalı, Azure CLI veya Azure PowerShell aracılığıyla gerçekleştirin. Azure Cosmos DB Tetikleyicisi Azure İşlevleri kullanıyorsanız tetikleyicinin CreateLeaseContainerIfNotExists özelliğinin olarak trueayarlı olmadığından emin olun. Microsoft Entra kimliklerini kullanmak, kira kapsayıcısı oluşturma gibi veri dışı işlemleri engeller.

Sonraki adımlar

  • IP Güvenlik Duvarı'nı yapılandırın.
  • Sanal ağlardan erişimi yapılandırın.
  • Özel uç noktalardan erişimi yapılandırın.