Azure OpenAI tarafından desteklenen kimlik doğrulama yöntemleri
Azure OpenAI, kaynaklarına güvenli ve denetimli erişim sağlamak için çeşitli kimlik doğrulama yöntemlerini destekler. Birincil yöntemler şunlardır:
- API Anahtarları: Azure OpenAI, API anahtar tabanlı kimlik doğrulamayı da destekler. API anahtarları Azure portalında oluşturulur ve Azure OpenAI hizmetine yönelik isteklerin kimliğini doğrulamak için kullanılabilir. Bu kimlik doğrulama yöntemi güvenlik açısından önerilmez ve yalnızca son çare olarak kullanılmalıdır. Bu kimlik doğrulama yöntemini kullanmanız gerekiyorsa, yetkisiz erişim riskini azaltmak için API anahtarlarını güvenli bir şekilde işlemeniz ve düzenli aralıklarla döndürmeniz önemlidir.
- Microsoft Entra Id: Bu yöntem, Microsoft Entra'nın güçlü kimlik ve erişim yönetimi özelliklerinden yararlanıyor. Kullanıcılar ve uygulamalar, geleneksel kullanıcı hesapları veya yönetilen kimlikler olabilecek Microsoft Entra kimliklerini kullanarak kimlik doğrulaması yapar. Bu yöntem, Azure OpenAI kaynaklarına yalnızca kimliği doğrulanmış ve yetkili kullanıcıların erişebilmesini sağlar.
- EntraYönetilen Kimlikleri: Azure kaynakları için yönetilen kimlikler, Microsoft Entra kimlik doğrulamasını destekleyen kaynaklara bağlanırken kullanılacak uygulamalar için Microsoft Entra'da otomatik olarak yönetilen bir kimlik sağlar. Bu kimlikler sistem tarafından atanabilir; başka bir deyişle belirli bir Azure kaynağına bağlı veya kullanıcı tarafından atanan kimlikler, tek bir kimliğin birden çok kaynak arasında paylaşılmasına olanak tanır. Yönetilen kimlikler, uygulama kodunda sabit kodlanmış kimlik bilgileri gereksinimini ortadan kaldırarak kimlik bilgilerinin yönetimini basitleştirir ve güvenliği artırır.
Yönetilen kimlikler neden API anahtarlarından daha güvenlidir?
Microsoft Azure'da yönetilen kimlikler, API anahtarları için çeşitli nedenlerle daha güvenli bir alternatif sunar:
- Yönetilen kimlikler, geliştiricilerin kimlik bilgilerini doğrudan işleme gereksinimini ortadan kaldırarak yanlışlıkla maruz kalma veya kötüye kullanım riskini azaltır.
- API anahtarlarını kullanırken geliştiricilerin bu anahtarları uygulama koduna veya yapılandırma dosyalarına eklemesi gerekir.
API anahtarları istemeden kaynak kod depoları, günlükler veya başka yollarla kullanıma sunulur. Bu durum yetkisiz erişime ve olası güvenlik ihlallerine yol açabilir. Buna karşılık, yönetilen kimlikler Microsoft Entra (daha önce Azure AD) kimlik doğrulamasını destekleyen kaynaklara bağlanırken uygulamaların kullanması için otomatik olarak yönetilen bir kimlik sağlar. Bu, kimlik bilgilerinin uygulama kodunda depolanmadığı ve bu sayede sızıntı ve yetkisiz erişim riskini azaltıldığı anlamına gelir.
Ayrıca, yönetilen kimlikler, Azure hizmetlerinin açık kimlik bilgilerine gerek kalmadan diğer Azure hizmetlerinde güvenli bir şekilde kimlik doğrulaması gerçekleştirmesine izin vererek kimlik doğrulama işlemini kolaylaştırır. Bu, Microsoft Entra tarafından verilen ve otomatik olarak yönetilen ve döndürülen belirteçler kullanılarak, kimlik bilgilerinin her zaman güncel olmasını sağlayarak ve kimlik bilgisi hırsızlığı riskini azaltarak elde edilir. Öte yandan API anahtarları statiktir ve hataya açık ve genellikle ihmal edilebilir ve olası güvenlik açıklarına yol açan el ile döndürme gerektirir. Geliştiriciler yönetilen kimlikleri kullanarak Azure'ın rol tabanlı erişim denetimi (RBAC) gibi yerleşik güvenlik özelliklerinden yararlanarak kaynaklara hassas izinler verebilir ve güvenliği daha da geliştirebilir.
Microsoft, Azure OpenAI'de veya Yönetilen Kimliği destekleyen başka bir Azure hizmetinde kimlik doğrulaması yaparken API anahtarları üzerinden Yönetilen Kimlik kullanmanızı önerir.
Azure OpenAI içinde API anahtarlarını ve yönetilen kimlikleri kullanma arasındaki farklar
Şimdi sızdırılan bir istemci kimliğinin ve sızdırılan API anahtarının etkisini değerlendirelim.
API anahtarı normal parolaya benzer şekilde çalışır. Gizliliği tehlikeye girerse anahtara sahip olan herkes kaynağa erişebilir. Azure OpenAI için bu, GPT-4 gibi yapay zeka modellerinin sınırsız kullanımı anlamına gelir. Ağ genel olarak erişilebilir durumdaysa, güvenlik etkisi daha da fazla olabilir.
Buna karşılık, istemci kimliği sızdırılırsa riskler en düşük düzeyde olur. Bunun nedeni yalnızca istemci kimliğinin Azure OpenAI ile bağlantı kuramamadır. Yönetilen Kimlik kullanmak için hizmetin Azure'da çalışıyor olması gerekir ve Azure OpenAI genel olsa bile yerel bir ortamdan veya uygulama kullanarak bir ağ üzerinden bağlanamazsınız.
Özetle, sızdırılan BIR API anahtarının sonuçlarıyla karşılaştırıldığında, sızdırılan bir istemci kimliğinin kötüye kullanılmasının çeşitli adımları vardır ve bu da kötü amaçlı aktörlerin yararlanmasını zorlaştırır.
Bu nedenlerden dolayı Yönetilen Kimlikler, API anahtarlarına kıyasla işlemleri yönetmek için daha güvenli bir yöntem sunar. Azure OpenAI'de veya Yönetilen Kimliği destekleyen başka bir Azure hizmetinde kimlik doğrulaması yaparken API anahtarları üzerinden Yönetilen Kimlik kullanmanız mümkün olan en güçlü koşullarda önerilir.
Sistem ve kullanıcı tarafından atanan kimlikler karşılaştırması
Azure OpenAI uygulaması oluştururken, sistem tarafından atanan ve kullanıcı tarafından atanan kimlikler arasındaki ayrımı anlamak, en iyi güvenlik ve kaynak yönetimi için çok önemlidir.
- Sistem tarafından atanan kimlikler azure tarafından belirli bir kaynak için oluşturulur ve yönetilir. Bir kaynak silindiğinde, ilişkili sistem tarafından atanan kimliği de silinir ve kimlik yaşam döngüsünün ait olduğu kaynakla sıkı bir şekilde eşleştiğinden emin olur. Bu kimlik türü, kimliğin yalnızca tek bir kaynak tarafından kullanılması gerektiği senaryolar için idealdir. Bu, basitlik sağlar ve Kimliğin kimlik bilgilerini Azure yönettiğinden yönetim yükünü azaltır.
- Kullanıcı tarafından atanan kimlikler belirli kaynaklardan bağımsız olarak oluşturulur ve birden çok kaynak arasında paylaşılabilir. Bu, farklı kaynaklar arasında tutarlı bir kimlik gerektiren uygulamalar için son derece çok yönlü olmalarını sağlayarak izinlerin ve erişim denetimlerinin daha kolay yönetilmesini sağlar. Kullanıcı tarafından atanan kimlikler, kullanan kaynaklar silindikten sonra bile kalıcı olur ve kimlikleri yeniden dağıtma ve yeniden kullanma konusunda daha fazla esneklik sağlar.
Sistem tarafından atanan ve kullanıcı tarafından atanan kimlikler arasında seçim, uygulamanızın belirli gereksinimlerine bağlıdır. Basitlik ve minimum yönetimin öncelik olduğu tek kaynaklı uygulamalar için sistem tarafından atanan kimlikler genellikle en iyi seçenektir. Buna karşılık, birden çok kaynakta paylaşılan kimlik gerektiren uygulamalar için kullanıcı tarafından atanan kimlikler daha fazla esneklik ve yeniden kullanılabilirlik sunar.