Azure Digital Twins'in güvenliğini sağlama
Bu makalede Azure Digital Twins güvenlikle ilgili en iyi yöntemler açıklanmaktadır. Roller ve izinleri, yönetilen kimliği, Azure Özel Bağlantı ile özel ağ erişimini, hizmet etiketlerini, bekleyen verilerin şifrelenmesini ve Çıkış Noktaları Arası Kaynak Paylaşımı'nı (CORS) kapsar.
Azure Digital Twins, güvenlik için dağıtımınızdaki belirli veriler, kaynaklar ve eylemler üzerinde hassas erişim denetimi sağlar. Bunu Azure rol tabanlı erişim denetimi (Azure RBAC) adlı ayrıntılı bir rol ve izin yönetimi stratejisi aracılığıyla yapar.
Azure Digital Twins bekleyen verilerin şifrelenmesini de destekler.
Azure RBAC ile roller ve izinler
Azure RBAC, Microsoft Entra Id ile tümleştirme yoluyla Azure Digital Twins'e sağlanır.
Kullanıcı, grup veya uygulama hizmet sorumlusu olabilecek bir güvenlik sorumlusuna izin vermek için Azure RBAC'yi kullanabilirsiniz. Güvenlik sorumlusunun kimliği Microsoft Entra Id ile doğrulanır ve karşılığında bir OAuth 2.0 belirteci alır. Bu belirteç, Bir Azure Digital Twins örneğine erişim isteği yetkilendirmek için kullanılabilir.
Kimlik doğrulaması ve yetkilendirme
Microsoft Entra Id ile erişim iki adımlı bir işlemdir. Bir güvenlik sorumlusu (kullanıcı, grup veya uygulama) Azure Digital Twins'e erişmeye çalıştığında isteğin kimliği doğrulanmış ve yetkilendirilmiş olmalıdır.
- İlk olarak, güvenlik sorumlusunun kimliği doğrulanır ve bir OAuth 2.0 belirteci döndürülür.
- Ardından belirteç, belirtilen kaynağa erişim yetkisi vermek için Azure Digital Twins hizmetine yapılan bir isteğin parçası olarak geçirilir.
Kimlik doğrulama adımı, tüm uygulama isteklerinin çalışma zamanında OAuth 2.0 erişim belirteci içermesini gerektirir. Bir uygulama Azure İşlevleri uygulaması gibi bir Azure varlığı içinde çalışıyorsa, kaynaklara erişmek için yönetilen kimlik kullanabilir. Sonraki bölümde yönetilen kimlikler hakkında daha fazla bilgi edinin.
Yetkilendirme adımı için güvenlik sorumlusuna bir Azure rolü atanmalıdır. Güvenlik sorumlusuna atanan roller, sorumlunun sahip olacağı izinleri belirler. Azure Digital Twins, Azure Digital Twins kaynakları için izin kümelerini kapsayan Azure rolleri sağlar. Bu roller bu makalenin devamında açıklanmıştır.
Azure'da desteklenen roller ve rol atamaları hakkında daha fazla bilgi edinmek için Azure RBAC belgelerindeki farklı rolleri anlama bölümüne bakın.
Yönetilen kimliklerle kimlik doğrulaması
Azure kaynakları için yönetilen kimlikler, uygulama kodunuzun çalıştığı dağıtımla ilişkili güvenli bir kimlik oluşturmanıza olanak tanıyan bir Azure arası özelliktir. Ardından, uygulamanızın ihtiyaç duyduğu belirli Azure kaynaklarına erişmeye yönelik özel izinler vermek için bu kimliği erişim denetimi rolleriyle ilişkilendirebilirsiniz.
Yönetilen kimliklerle Azure platformu bu çalışma zamanı kimliğini yönetir. Uygulama kodunuzda veya yapılandırmanızda, kimliğin kendisi veya erişmeniz gereken kaynaklar için erişim anahtarlarını depolamanız ve korumanız gerekmez. Azure Uygulaması Hizmeti uygulaması içinde çalışan bir Azure Digital Twins istemci uygulamasının SAS kurallarını ve anahtarlarını veya diğer erişim belirteçlerini işlemesi gerekmez. İstemci uygulaması yalnızca Azure Digital Twins ad alanının uç nokta adresine ihtiyaç duyar. Uygulama bağlandığında Azure Digital Twins yönetilen varlığın bağlamını istemciye bağlar. Yönetilen kimlikle ilişkilendirildikten sonra Azure Digital Twins istemciniz tüm yetkili işlemleri gerçekleştirebilir. Daha sonra yönetilen bir varlık Azure Digital Twins Azure rolüyle ilişkilendirilerek yetkilendirme verilir (aşağıda açıklanmıştır).
Yetkilendirme: Azure Digital Twins için Azure rolleri
Azure, Azure Digital Twins veri düzlemi API'lerine erişim yetkisi vermek için iki Azure yerleşik rolü sağlar. Rollere ada veya kimlikle başvurabilirsiniz:
Yerleşik rol | Açıklama | Kimlik |
---|---|---|
Azure Digital Twins Veri Sahibi | Azure Digital Twins kaynaklarına tam erişim sağlar | bcd981a7-7f74-457b-83e1-cceb9e632ffe |
Azure Digital Twins Veri Okuyucusu | Azure Digital Twins kaynaklarına salt okunur erişim sağlar | d57506d4-4c8d-48b1-8587-93c323f6a5a3 |
Rolleri iki yolla atayabilirsiniz:
- Azure portalında Azure Digital Twins için erişim denetimi (IAM) bölmesi aracılığıyla (bkz . Azure portalını kullanarak Azure rolleri atama)
- Rol eklemek veya kaldırmak için CLI komutları aracılığıyla
Azure Digital Twins örneğine rol atamayla ilgili ayrıntılı adımlar için bkz . Örnek ve kimlik doğrulaması ayarlama. Yerleşik rollerin nasıl tanımlandığı hakkında daha fazla bilgi için Azure RBAC belgelerindeki rol tanımlarını anlama bölümüne bakın.
Örneğiniz için özel Azure rolleri de oluşturabilirsiniz. Bu, ikizler, komutlar, ilişkiler, olay yolları, işler, modeller ve sorgular dahil olmak üzere tek tek veri alanlarında belirli eylemler için izin vermenizi sağlar. Azure'daki özel roller hakkında daha fazla bilgi için bkz . Azure özel rolleri.
Rolleri otomatikleştirme
Otomatik senaryolardaki rollere başvururken, bunlara adları yerine kimlikleriyle başvurmaları önerilir. Adlar yayınlar arasında değişebilir, ancak kimlikler değişmez ve bu da bunları otomasyonda daha kararlı bir başvuru haline getirir.
İpucu
Rolleri (başvuru) gibi New-AzRoleAssignment
bir cmdlet ile atıyorsanız, rol için ad yerine kimlik geçirmek yerine -RoleDefinitionName
parametresini kullanabilirsiniz-RoleDefinitionId
.
İzin kapsamları
Güvenlik sorumlusuna Azure rolü atamadan önce, güvenlik sorumlusunun sahip olması gereken erişim kapsamını belirleyin. En iyi yöntemler, yalnızca mümkün olan en dar kapsamı vermenin en iyi yöntem olduğunu belirler.
Aşağıdaki listede Azure Digital Twins kaynaklarına erişimi kapsam olarak kullanabileceğiniz düzeyler açıklanmaktadır.
- Modeller: Bu kaynağın eylemleri, Azure Digital Twins'e yüklenen modeller üzerinde denetimi belirler.
- Digital Twins Graph'ı Sorgulama: Bu kaynağın eylemleri, Azure Digital Twins grafı içindeki dijital ikizlerde sorgu işlemlerini çalıştırma becerisini belirler.
- Dijital İkiz: Bu kaynağın eylemleri, ikiz grafiğindeki dijital ikizler üzerindeki CRUD işlemleri üzerinde denetim sağlar.
- Dijital İkiz ilişkisi: Bu kaynağın eylemleri, ikiz grafiğindeki dijital ikizler arasındaki ilişkilerde CRUD işlemleri üzerinde denetimi tanımlar.
- Olay yolu: Bu kaynağın eylemleri Olayları Azure Digital Twins'den Event Hubs, Event Grid veya Service Bus gibi bir uç nokta hizmetine yönlendirme izinlerini belirler.
İzin sorunlarını giderme
Bir kullanıcı rolü tarafından izin verilmeyen bir eylem gerçekleştirmeye çalışırsa, hizmet isteği okumasından 403 (Forbidden)
bir hata alabilir. Daha fazla bilgi ve sorun giderme adımları için bkz . Azure Digital Twins başarısız hizmet isteği sorunlarını giderme: Hata 403 (Yasak).
Diğer kaynaklara erişmek için yönetilen kimlik
Azure Digital Twins örneği için Microsoft Entra Id yönetilen kimliği ayarlamak, örneğin Azure Key Vault gibi diğer Microsoft Entra korumalı kaynaklara kolayca erişmesine olanak sağlayabilir. Kimlik Azure platformu tarafından yönetilir ve gizli dizileri sağlamanızı veya döndürmenizi gerektirmez. Microsoft Entra Id'deki yönetilen kimlikler hakkında daha fazla bilgi için bkz . Azure kaynakları için yönetilen kimlikler.
Azure Digital Twins, sistem tarafından atanan ve kullanıcı tarafından atanan yönetilen kimlik türlerini destekler.
Özel tanımlı bir uç noktada kimlik doğrulaması yapmak için bu yönetilen kimlik türlerinden birini kullanabilirsiniz. Azure Digital Twins, Event Hubs ve Service Bus hedefleri için uç noktalara ve teslim edilemeyen olaylar için Azure Depolama Kapsayıcısı uç noktasına kimlik tabanlı kimlik doğrulamasını destekler. Event Grid uç noktaları şu anda yönetilen kimlikler için desteklenmemektedir.
Olayları yönlendirmek için kullanılabilecek bir Azure Digital Twins uç noktası için yönetilen kimliği etkinleştirme yönergeleri için bkz . Uç nokta seçenekleri: Kimlik tabanlı kimlik doğrulaması.
Olayları Event Hubs ve Service Bus uç noktalarına yönlendirmek için güvenilen Microsoft hizmetini kullanma
Azure Digital Twins, bu kaynakların genel uç noktalarını kullanarak olay verilerini göndermek için Event Hubs ve Service Bus uç noktalarına bağlanabilir. Ancak, bu kaynaklar bir sanal ağa bağlıysa, kaynaklara bağlantı varsayılan olarak engellenir. Sonuç olarak, bu yapılandırma Azure Digital Twins'in kaynaklarınıza olay verileri göndermesini engeller.
Bu sorunu çözmek için Azure Digital Twins örneğinizden Event Hubs veya Service Bus kaynaklarınıza güvenilir Microsoft hizmeti seçeneği aracılığıyla bağlantıyı etkinleştirin (bkz. Event Hubs için Güvenilen Microsoft hizmetleri ve Service Bus için Güvenilen Microsoft hizmetleri).
Güvenilen Microsoft hizmet bağlantısını etkinleştirmek için aşağıdaki adımları tamamlamanız gerekir.
- Azure Digital Twins örneğinizin sistem tarafından atanan yönetilen bir kimlik kullanması gerekir. Bu, diğer hizmetlerin örneğinizi güvenilir bir Microsoft hizmeti olarak bulmasına olanak tanır. Örnekte sistem tarafından yönetilen kimlik ayarlama yönergeleri için bkz . Örnek için yönetilen kimliği etkinleştirme.
- Sistem tarafından atanan yönetilen kimlik sağlandıktan sonra örneğinizin yönetilen kimliğine Event Hubs veya Service Bus uç noktanıza erişme izni verin (bu özellik Event Grid'de desteklenmez). Uygun rolleri atama yönergeleri için bkz . Kimliğe Azure rolleri atama.
- Güvenlik duvarı yapılandırmaları olan Event Hubs ve Service Bus uç noktaları için Güvenilen Microsoft hizmetleri bu güvenlik duvarını atlamasına izin ver ayarını etkinleştirdiğinizden emin olun.
Azure Özel Bağlantı ile özel ağ erişimi
Azure Özel Bağlantı, Azure kaynaklarına (Azure Event Hubs, Azure Depolama ve Azure Cosmos DB gibi) ve Azure tarafından barındırılan müşteri ve iş ortağı hizmetlerine Azure Sanal Ağ (VNet) içindeki özel bir uç nokta üzerinden erişmenizi sağlayan bir hizmettir.
Benzer şekilde, sanal ağınızda bulunan istemcilerin Özel Bağlantı üzerinden örneğe güvenli REST API erişimine sahip olmasını sağlamak için Azure Digital Twins örneğiniz için özel erişim uç noktalarını kullanabilirsiniz. Azure Digital Twins örneğiniz için özel erişim uç noktası yapılandırmak, Azure Digital Twins örneğinizin güvenliğini sağlamanızı ve genel kullanıma açık kalma durumunu ortadan kaldırmanızı sağlar. Ayrıca, Azure Sanal Ağ (VNet) cihazınızdan veri sızdırmayı önlemeye yardımcı olur.
Özel erişim uç noktası, Azure sanal ağ adres alanınızdan bir IP adresi kullanır. Özel ağınızdaki bir istemci ile Azure Digital Twins örneği arasındaki ağ trafiği, sanal ağ üzerinden ve Microsoft omurga ağındaki bir Özel Bağlantı arasında geçiş yaparak genel İnternet'e maruz kalma durumunu ortadan kaldırır.
Azure Digital Twins örneğiniz için özel erişim uç noktası yapılandırmak, Azure Digital Twins örneğinizin güvenliğini sağlamanızı ve genel kullanıma açık kalma durumunu ortadan kaldırmanın yanı sıra sanal ağınızdan veri sızdırmayı önlemenizi sağlar.
Azure Digital Twins için Özel Bağlantı ayarlama yönergeleri için bkz. Özel Bağlantı ile özel erişimi etkinleştirme.
Not
Azure Özel Bağlantı ile özel ağ erişimi, Azure Digital Twins'e rest API'leri aracılığıyla erişmek için geçerlidir. Bu özellik, Azure Digital Twins'in olay yönlendirme özelliğini kullanan çıkış senaryoları için geçerli değildir.
Tasarımla ilgili dikkat edilecek noktalar
Azure Digital Twins için Özel Bağlantı çalışırken dikkate almak isteyebileceğiniz bazı faktörler şunlardır:
- Fiyatlandırma: Fiyatlandırma ayrıntıları için bkz. fiyatlandırma Azure Özel Bağlantı.
- Bölgesel kullanılabilirlik: Azure Digital Twins için Özel Bağlantı, Azure Digital Twins'in kullanılabildiği tüm Azure bölgelerinde kullanılabilir.
- Azure Digital Twins Gezgini: Azure Digital Twins Gezgini , genel erişimi devre dışı bırakılmış Azure Digital Twins örneklerine erişemez. Ancak Azure digital twins gezgini kod tabanını bulutta özel olarak dağıtmak için Azure işlevlerini kullanabilirsiniz. Bunun nasıl yapılacağını açıklayan yönergeler için bkz . Azure Digital Twins Gezgini: Bulutta çalıştırma.
- Azure Digital Twins örneği başına en fazla özel uç nokta sayısı: 10
- Diğer sınırlar: Özel Bağlantı sınırları hakkında daha fazla bilgi için Azure Özel Bağlantı belgelerine bakın: Sınırlamalar.
Hizmet etiketleri
Hizmet etiketi, belirli bir Azure hizmetinden ip adresi ön ekleri grubunu temsil eder. Microsoft, hizmet etiketiyle kapsadığı adres ön eklerini yönetir ve adresler değiştikçe hizmet etiketini otomatik olarak güncelleştirir ve ağ güvenlik kurallarında sık sık yapılan güncelleştirmelerin karmaşıklığını en aza indirir. Hizmet etiketleri hakkında daha fazla bilgi için bkz . Sanal ağ etiketleri.
Güvenlik kuralları oluştururken belirli IP adresleri yerine hizmet etiketlerini kullanarak, ağ güvenlik gruplarında veya Azure Güvenlik Duvarı ağ erişim denetimlerini tanımlamak için hizmet etiketlerini kullanabilirsiniz. Bir kuralın uygun kaynak veya hedef alanında hizmet etiketi adını (bu örnekte AzureDigitalTwins) belirterek ilgili hizmet için trafiğe izin verebilir veya trafiği reddedebilirsiniz.
Aşağıda AzureDigitalTwins hizmet etiketinin ayrıntıları yer almaktadır.
Etiket | Purpose | Gelen veya giden kullanılabilir mi? | Bölgesel olabilir mi? | Azure Güvenlik Duvarı ile kullanabilir misiniz? |
---|---|---|---|---|
AzureDigitalTwins | Azure Digital Twins Not: Bu etiket veya bu etiketin kapsadığı IP adresleri, olay yolları için yapılandırılmış uç noktalara erişimi kısıtlamak için kullanılabilir. |
Gelen | Hayır | Evet |
Olay yolu uç noktalarına erişmek için hizmet etiketlerini kullanma
Azure Digital Twins ile hizmet etiketlerini kullanarak olay yolu uç noktalarına erişme adımları aşağıdadır.
İlk olarak, Azure IP aralıklarını ve hizmet etiketlerini gösteren şu JSON dosya başvurusunu indirin: Azure IP Aralıkları ve Hizmet Etiketleri.
JSON dosyasında "AzureDigitalTwins" IP aralıklarını arayın.
Bu kaynak için IP filtrelerinin nasıl ayarlandığını görmek için uç noktaya bağlı dış kaynağın belgelerine (örneğin, ölü harf olayları için Event Grid, Event Hubs, Service Bus veya Azure Depolama) bakın.
2. Adımdaki IP aralıklarını kullanarak dış kaynaklarda IP filtrelerini ayarlayın.
IP aralıklarını gerektiği gibi düzenli aralıklarla güncelleştirin. Aralıklar zaman içinde değişebilir, bu nedenle bunları düzenli olarak denetlemek ve gerektiğinde yenilemek iyi bir fikirdir. Bu güncelleştirmelerin sıklığı farklılık gösterebilir, ancak bunları haftada bir kontrol etmek iyi bir fikirdir.
Bekleyen verilerin şifrelenmesi
Azure Digital Twins, veri merkezlerimizde yazıldıkçe bekleyen ve aktarımdaki verilerin şifrelenmesini sağlar ve siz erişirken şifrelerini çözer. Bu şifreleme, Microsoft tarafından yönetilen bir şifreleme anahtarı kullanılarak gerçekleşir.
Çıkış Noktaları Arası Kaynak Paylaşma (CORS)
Azure Digital Twins şu anda Çıkış Noktaları Arası Kaynak Paylaşımı'nı (CORS) desteklememektedir. Sonuç olarak, tarayıcı uygulamasından, API Management (APIM) arabiriminden veya Power Apps bağlayıcısından REST API'yi çağırıyorsanız, bir ilke hatası görebilirsiniz.
Bu hatayı çözmek için aşağıdaki eylemlerden birini yapabilirsiniz:
- CORS üst bilgisini
Access-Control-Allow-Origin
iletiden çıkarın. Bu üst bilgi, yanıtın paylaşılıp paylaşılamayacağını gösterir. - Alternatif olarak bir CORS proxy'si oluşturun ve azure digital twins REST API'si isteğinde bulunabilirsiniz.
Sonraki adımlar
Örnek ve kimlik doğrulaması ayarlama başlığında bu kavramların nasıl çalıştığını görün.
Uygulama kimlik doğrulama kodu yazma bölümünde istemci uygulama kodundan bu kavramlarla nasıl etkileşim kuracaklarına bakın.
Azure RBAC hakkında daha fazla bilgi edinin.