Azure Container Apps'te yönetilen kimlikler

Microsoft Entra Id'den yönetilen kimlik, kapsayıcı uygulamanızın diğer Microsoft Entra korumalı kaynaklara erişmesini sağlar. Microsoft Entra Id'deki yönetilen kimlikler hakkında daha fazla bilgi için bkz . Azure kaynakları için yönetilen kimlikler.

Kapsayıcı uygulamanıza iki tür kimlik verilebilir:

  • Sistem tarafından atanan bir kimlik kapsayıcı uygulamanıza bağlıdır ve kapsayıcı uygulamanız silindiğinde silinir. Bir uygulama sistem tarafından atanan yalnızca bir kimliğe sahip olabilir.
  • Kullanıcı tarafından atanan kimlik, kapsayıcı uygulamanıza ve diğer kaynaklara atanabilen tek başına bir Azure kaynağıdır. Kapsayıcı uygulamasının kullanıcı tarafından atanan birden çok kimliği olabilir. Kimlik, siz silene kadar var olur.

Yönetilen kimlik neden kullanılır?

Microsoft Entra kimlik doğrulamasını destekleyen herhangi bir hizmette kimlik doğrulaması yapmak için çalışan bir kapsayıcı uygulamasında yönetilen kimlik kullanabilirsiniz.

Yönetilen kimliklerle:

  • Uygulamanız yönetilen kimlikle kaynaklara bağlanır. Kapsayıcı uygulamanızda kimlik bilgilerini yönetmeniz gerekmez.
  • Yönetilen kimliğe belirli izinler vermek için rol tabanlı erişim denetimini kullanabilirsiniz.
  • Sistem tarafından atanan kimlikler otomatik olarak oluşturulur ve yönetilir. Kapsayıcı uygulamanız silindiğinde silinirler.
  • Kullanıcı tarafından atanan kimlikleri ekleyip silebilir ve bunları birden çok kaynağa atayabilirsiniz. Bunlar kapsayıcı uygulamanızın yaşam döngüsünden bağımsızdır.
  • Kapsayıcı Uygulamanızın kapsayıcılarını çekmek için kullanıcı adı ve parola olmadan özel bir Azure Container Registry ile kimlik doğrulaması yapmak için yönetilen kimliği kullanabilirsiniz.
  • Dapr bileşenleri aracılığıyla Dapr özellikli uygulamalar için bağlantılar oluşturmak için yönetilen kimliği kullanabilirsiniz

Yaygın kullanım örnekleri

Sistem tarafından atanan kimlikler aşağıdaki iş yükleri için en iyisidir:

  • tek bir kaynak içinde yer alan
  • bağımsız kimliklere ihtiyaç duyar

Kullanıcı tarafından atanan kimlikler aşağıdaki iş yükleri için idealdir:

  • birden çok kaynakta çalıştırabilir ve tek bir kimliği paylaşabilir
  • güvenli bir kaynak için ön yetkilendirme gerekiyor

Sınırlamalar

Ölçek kurallarında yönetilen kimliklerin kullanılması desteklenmez. Ölçeklendirme kuralına bağlantı dizesi veya anahtarı secretRef eklemeniz gerekir.

Init kapsayıcıları yönetilen kimliklere erişemez.

Yönetilen kimlikleri yapılandırma

Yönetilen kimliklerinizi şu şekilde yapılandırabilirsiniz:

  • Azure portal
  • Azure CLI
  • Azure Resource Manager (ARM) şablonunuz

Çalışan bir kapsayıcı uygulamasına yönetilen kimlik eklendiğinde, silindiğinde veya değiştirildiğinde uygulama otomatik olarak yeniden başlatılmaz ve yeni bir düzeltme oluşturulmaz.

Dekont

11 Nisan 2022'ye kadar dağıtılan bir kapsayıcı uygulamasına yönetilen kimlik eklerken yeni bir düzeltme oluşturmanız gerekir.

Sistem tarafından atanan kimlik ekleme

  1. Kapsayıcı uygulamanızın sayfasının sol gezinti bölmesinde aşağı kaydırarak Ayarlar grubuna gelin.

  2. Kimlik'i seçin.

  3. Sistem tarafından atanan sekmesinde Durum'aAçık olarak geçin. Kaydet'i seçin.

Screenshot of system-assigned identities.

Kullanıcı tarafından atanan kimlik ekleme

Bir kapsayıcı uygulamasını kullanıcı tarafından atanan bir kimlikle yapılandırmak için önce kimliği oluşturmanız ve ardından kapsayıcı uygulamanızın yapılandırmasına kaynak tanımlayıcısını eklemeniz gerekir. Azure portalı veya Azure CLI aracılığıyla kullanıcı tarafından atanan kimlikler oluşturabilirsiniz. Kullanıcı tarafından atanan kimlikleri oluşturma ve yönetme hakkında bilgi için bkz . Kullanıcı tarafından atanan yönetilen kimlikleri yönetme.

İlk olarak, kullanıcı tarafından atanan bir kimlik kaynağı oluşturmanız gerekir.

  1. Kullanıcı tarafından atanan yönetilen kimlikleri yönetme bölümünde bulunan adımlara göre kullanıcı tarafından atanan bir yönetilen kimlik kaynağı oluşturun.

  2. Kapsayıcı uygulamanızın sayfasının sol gezinti bölmesinde aşağı kaydırarak Ayarlar grubuna gelin.

  3. Kimlik'i seçin.

  4. Kullanıcı tarafından atanan sekmesinde Ekle'yi seçin.

  5. Daha önce oluşturduğunuz kimliği arayın ve seçin. Ekle'yi seçin.

Screenshot of user-assigned identities.

Hedef kaynağı yapılandırma

Bazı kaynaklar için, erişim vermek için uygulamanızın yönetilen kimliği için rol atamalarını yapılandırmanız gerekir. Aksi takdirde, uygulamanızdan Azure Key Vault ve Azure SQL Veritabanı gibi hizmetlere yapılan çağrılar, bu kimlik için geçerli bir belirteç kullansanız bile reddedilir. Azure rol tabanlı erişim denetimi (Azure RBAC) hakkında daha fazla bilgi edinmek için bkz . RBAC nedir?. Microsoft Entra belirteçlerini destekleyen kaynaklar hakkında daha fazla bilgi edinmek için bkz . Microsoft Entra kimlik doğrulamasını destekleyen Azure hizmetleri.

Önemli

Yönetilen kimlikler için arka uç hizmetleri, yaklaşık 24 saat boyunca kaynak URI'sine göre bir önbellek tutar. Belirli bir hedef kaynağın erişim ilkesini güncelleştirir ve bu kaynak için hemen bir belirteç alırsanız, belirtecin süresi dolana kadar eski izinlere sahip önbelleğe alınmış bir belirteç almaya devam edebilirsiniz. Şu anda belirteç yenilemeyi zorlamanın bir yolu yoktur.

Uygulama kodunda Azure hizmetlerine Bağlan

Yönetilen kimliklerle uygulama Azure SQL Veritabanı, Azure Key Vault ve Azure Depolama gibi Microsoft Entra Id kullanan Azure kaynaklarına erişmek için belirteçler alabilir. Bu belirteçler kaynağa erişen uygulamayı temsil eder ve uygulamanın belirli bir kullanıcısını temsil eder.

Container Apps, belirteçleri almak için dahili olarak erişilebilir bir REST uç noktası sağlar. REST uç noktasına, her dilde genel bir HTTP istemcisiyle uygulanabilen standart bir HTTP GET ile uygulamanın içinden erişilebilir. .NET, JavaScript, Java ve Python için Azure Identity istemci kitaplığı bu REST uç noktası üzerinde bir soyutlama sağlar. Diğer Azure hizmetlerine Bağlan, hizmete özgü istemciye kimlik bilgisi nesnesi eklemek kadar kolaydır.

Dekont

Azure Identity istemci kitaplığı kullanılırken, kullanıcı tarafından atanan yönetilen kimlik istemci kimliği belirtilmelidir.

.NET uygulamaları için, yönetilen kimlikle çalışmanın en basit yolu .NET için Azure Identity istemci kitaplığını kullanmaktır. Bilgi için istemci kitaplığının ilgili belge başlıklarına bakın:

Bağlantılı örneklerde kullanılır DefaultAzureCredential. Aynı desen Azure'da (yönetilen kimliklerle) ve yerel makinenizde (yönetilen kimlikler olmadan) çalıştığından çoğu senaryo için kullanışlıdır.

Yönetilen kimlikleri görüntüleme

Aşağıdaki Azure CLI komutunu kullanarak sistem tarafından atanan ve kullanıcı tarafından atanan yönetilen kimlikleri gösterebilirsiniz. Çıktı, kapsayıcı uygulamanıza atanan tüm yönetilen kimliklerin yönetilen kimlik türünü, kiracı kimliklerini ve asıl kimliklerini gösterir.

az containerapp identity show --name <APP_NAME> --resource-group <GROUP_NAME>

Yönetilen kimliği kaldırma

Sistem tarafından atanan bir kimliği kaldırdığınızda, bu kimlik Microsoft Entra Id'den silinir. Kapsayıcı uygulama kaynağını sildiğinizde sistem tarafından atanan kimlikler de Microsoft Entra Id'den otomatik olarak kaldırılır. Kapsayıcı uygulamanızdan kullanıcı tarafından atanan yönetilen kimliklerin kaldırılması, bunları Microsoft Entra Id'den kaldırmaz.

  1. Uygulamanızın sayfasının sol gezinti bölmesinde aşağı kaydırarak Ayarlar grubuna gelin.

  2. Kimlik'i seçin. Ardından kimlik türüne göre adımları izleyin:

    • Sistem tarafından atanan kimlik: Sistem tarafından atanan sekmesinde Durum seçeneğini Kapalı olarak değiştirin. Kaydet'i seçin.
    • Kullanıcı tarafından atanan kimlik: Kullanıcı tarafından atanan sekmesini seçin, kimliğin onay kutusunu seçin ve Kaldır'ı seçin. Onaylamak için Evet'i seçin.

Sonraki adımlar