Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Container Apps, uygulamanızın hassas yapılandırma değerlerini güvenli bir şekilde depolamasını sağlar. Gizli diziler uygulama düzeyinde tanımlandıktan sonra güvenli değerler kapsayıcı uygulamalarınızdaki düzeltmeler için kullanılabilir. Ayrıca, ölçek kuralları içinde güvenli değerlere başvurabilirsiniz. Dapr ile gizli bilgiler kullanma hakkında bilgi için Dapr tümleştirmesine bakın.
- Uygulama kapsamındaki sırlar, uygulamanın belirli bir revizyonunun dışında yer alır.
- Yeni düzeltmeler gizli dizi ekleme, kaldırma veya değiştirme yoluyla oluşturulmaz.
- Her uygulama düzeltmesi bir veya birden fazla gizli bilgiye başvurabilir.
- Birden çok revizyon aynı sırları referans alabilir.
Güncellenmiş veya silinmiş bir gizli anahtar, uygulamanızdaki mevcut düzeltmeleri otomatik olarak etkilemez. Sır güncellendiğinde veya silindiğinde, değişikliklere iki şekilde karşılık verebilirsiniz:
- Yeni bir revizyon dağıt.
- Mevcut düzeltmeyi yeniden başlatma.
Gizli bir sırrı silmeden önce, artık eski sırrı referans vermeyen yeni bir revizyon dağıtın. Ardından gizli diziye başvuran tüm düzeltmeleri devre dışı bırakın.
Sırları yönetme izinleri
Azure Container Apps, kapsayıcı uygulamaları, işler ve Dapr bileşenleri için ayrı listSecrets işlemleri sunar. Bu işlemler gizli değerleri düz metin olarak döndürür. Bu izinleri yalnızca gizli değerleri okuması gereken kimliklere verin.
Konteyner Uygulamaları için birkaç Azure yerleşik rolü, bir kolaylık için wildcard desenleri kullanarak izinleri tanımlar. Aşağıdaki örnekler, rol adı veya açıklaması daha dar kapsamlı bir erişim düzeyi ima etse bile, joker karakter ya da açıkça belirtilmiş listSecrets izni aracılığıyla gizli değerlerin okunmasına olanak tanır. Bu liste tam kapsamlı değildir; bir rol atamadan önce konteynerler için mevcut Azure yerleşik rollerini inceleyin.
Aşağıdaki roller konteyner uygulaması veya iş gizli değerlerine erişim sağlar:
| Dahili rol | Rol tanımında ilgili izinler | Gizli bilgileri eşleştirme işlemi |
|---|---|---|
| Container Apps Katkıda Bulunanı | Microsoft.App/containerApps/*/action |
Microsoft.App/containerApps/listSecrets/action |
| Container Apps Operatörü | Microsoft.App/containerApps/*/action |
Microsoft.App/containerApps/listSecrets/action |
| Container Apps İşleri Katkıda Bulunanı | Microsoft.App/jobs/*/action |
Microsoft.App/jobs/listSecrets/action |
| Container Apps İşi Operatörü | Microsoft.App/jobs/*/action |
Microsoft.App/jobs/listSecrets/action |
Aşağıdaki roller, Dapr bileşenleri için yapılandırılmış gizli değerlere erişim sağlar:
| Dahili rol | Rol tanımında ilgili izinler | Sırların eşleştirme işlemi |
|---|---|---|
| Container Apps ManagedEnvironments Katkıda Bulunan | Microsoft.App/managedEnvironments/*/action |
Microsoft.App/managedEnvironments/daprComponents/listSecrets/action |
| Container Apps ConnectedEnvironments Katkı Sağlayıcı |
Microsoft.App/connectedEnvironments/*, Microsoft.App/connectedEnvironments/daprComponents/listSecrets/action |
Microsoft.App/connectedEnvironments/daprComponents/listSecrets/action |
Etkili erişim, rol atama kapsamına bağlıdır. Örneğin, kaynak grubu kapsamındaki bir atama, o kaynak grubundaki her geçerli kaynak için eşleşme izni verir.
Important
Container Apps Operatörü ve Container Apps İş Operatörü rollerinin tanımları operasyonel görevleri vurgular. Ancak, onların wildcard eylemleri sırları listeleme izni de verir. Bir rolü atamadan önce onun tam izin listesini gözden geçirin.
Daha dar izinlere sahip özel bir rol oluşturun
Yerleşik roller bir kolaylıktır, bir sınırlama değil. Eğer herhangi bir yerleşik rol vermek istediğiniz erişim seviyesine uymuyorsa, sadece ihtiyacınız olan işlemleri listeleyen ve işlemi listSecrets atlayan bir Azure özel rolü tanımlayın.
Örneğin, aşağıdaki özel rol kullanıcının işleri ve yürütmeleri görmesini ve yürütmeleri durdurmasını sağlar, ancak işlem listSecrets verilmez:
{
"Name": "Container Apps Jobs Execution Stopper",
"IsCustom": true,
"Description": "View Container Apps jobs and stop running executions.",
"Actions": [
"Microsoft.App/jobs/read",
"Microsoft.App/jobs/executions/read",
"Microsoft.App/jobs/execution/read",
"Microsoft.App/jobs/stop/action",
"Microsoft.App/jobs/stop/execution/action",
"Microsoft.App/managedEnvironments/read"
],
"NotActions": [],
"AssignableScopes": [
"/subscriptions/<SUBSCRIPTION_ID>"
]
}
Özel bir rol tanımında Microsoft.App/jobs/*/action gibi joker karakter kalıplarından kaçının. Bu joker karakter, listSecrets dahil olmak üzere, desenle eşleşen tüm mevcut ve gelecekteki işlemler için yetki verir.
Warning
Container Apps işleri için, bir özel rolden listSecrets eylemini çıkarmak, rol aynı zamanda Microsoft.App/jobs/start/action iznini de veriyorsa gizli değerleri korumak için yeterli değildir.
İşler - Start REST API, ana ve başlatıcı konteyner görüntülerini, komutlarını ve ortam değişkenlerini geçersiz kılabilen isteğe bağlı bir yürütme şablonunu kabul eder. Bir işe başlayabilen ve bir sırrın adını bilen bir kullanıcı, seçtiği bir konteynerden o sırra referans verebilir ve konteynerin içindeki değerini okuyabilir. Konteyner ayrıca kendisine sunulacak şekilde yapılandırılmış herhangi bir yönetilen kimliği kullanabilir. Bir işe başlama iznini, işin sırlarını ve mevcut yönetilen kimliklerini kullanma izni olarak kabul edin.
Daha fazla bilgi için Azure özel roller'e bakın.
Sırları tanımlama
Gizli bilgiler bir dizi ad/değer çifti olarak tanımlanır. Her gizli bilginin değeri doğrudan veya Azure Key Vault'ta depolanan bir gizli bilgiye başvuru olarak belirtilir.
Not
Üretim ortamında bir gizlinin değerini doğrudan belirtmekten kaçının. Bunun yerine, Gizli değer depolama başlıklı Container Apps bölümünde açıklandığı gibi, Azure Key Vault'ta depolanan gizli bir diziye referans kullanın.
Container Apps'te gizli değeri depolama
Portal aracılığıyla veya farklı komut satırı seçenekleriyle gizli dizileri tanımlarken aşağıdakiler kullanılır.
Azure portalında kapsayıcı uygulamanıza gidin.
Güvenlik bölümünde Sırlar'ı seçin.
Ekle'yi seçin.
Sır ekle bağlam bölmesine aşağıdaki bilgileri girin:
- Ad: Gizlinin adı.
- Tür: Container Apps Gizli Anahtar'ı seçin.
- Değer: Gizli anahtarın değeri.
Ekle'yi seçin.
Key Vault'tan gizli öğeye referans verin
Bir gizli tanımladığınızda, Azure Key Vault'ta depolanmış bir gizliye referans oluşturursunuz. Container Apps gizli değeri Key Vault'tan otomatik olarak alır ve kapsayıcı uygulamanızda gizli olarak kullanılabilir hale getirir.
Bir Key Vault gizli öğesine başvurmak için, öncelikle kapsayıcı uygulamanızda yönetilen kimlik doğrulamayı etkinleştirmeniz ve kimliğe Key Vault'taki gizli öğelere erişim izni vermeniz gerekir.
Kapsayıcı uygulamanızda yönetilen kimliği etkinleştirmek için bkz . Yönetilen kimlikler.
Key Vault gizli dizilere erişim vermek için yönetilen kimliğe Azure RBAC rolünü Key Vault Gizli Dizi Kullanıcısı verin.
Azure portalında kapsayıcı uygulamanıza gidin.
Güvenlik bölümünde Kimlik'i seçin.
Sistem tarafından atanan sekmesinde DurumuAçık olarak ayarlayın.
Not
Ayrıca, birden çok kaynakta yeniden kullanılabilen ve uygulama yaşam döngüsünden bağımsız olarak kalıcı olan, kullanıcı tarafından atanan yönetilen kimliği de kullanabilirsiniz. Bunu kullanmak için Kullanıcı tarafından atanan sekmesini seçin ve mevcut bir kimliği seçin.
Sistem tarafından atanan yönetilen kimliği etkinleştirmek için Kaydet'i seçin.
Sistem tarafından atanan yönetilen kimliği etkinleştirmek ve kapsayıcı uygulamanızı Microsoft Entra ID'ye kaydetmek istediğinizi onaylayan bir açılır pencere görüntülenir. Evet'i seçin.
Güvenlik bölümünde Sırlar'ı seçin.
Ekle'yi seçin.
Sır ekle bağlam bölmesine aşağıdaki bilgileri girin:
- Ad: Gizlinin adı.
- Type: Key Vault referansı seçin.
-
Key Vault gizli URL: Key Vault'taki gizlinizin URI'si. Bu URI aşağıdaki forma sahiptir:
https://<YOUR_KEY_VAULT_NAME>.vault.azure.net/secrets/<YOUR_SECRET_NAME>/<32_DIGIT_HEX_ID> - Kimlik: Sistem tarafından atanan'ı seçin.
Ekle'yi seçin.
Not
Azure Güvenlik Duvarı ile
Key Vault gizli URI'si ve gizli yenileme
Key Vault gizli dizi URI'sinin aşağıdaki biçimlerden birinde olması gerekir:
-
https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931: Bir sırrın belirli bir sürümüne başvurun. -
https://myvault.vault.azure.net/secrets/mysecret: Gizli dizinin en son sürümüne başvurun.
URI'de bir sürüm belirtilmezse, uygulama anahtar kasasında bulunan en son sürümü kullanır. Daha yeni sürümler kullanıma sunulduğunda, uygulama 30 dakika içinde en son sürümü otomatik olarak alır. Ortam değişkeninde gizli bilgiye atıfta bulunan tüm aktif revizyonlar, yeni değeri alması için otomatik olarak yeniden başlatılır.
Gizli dizinin hangi sürümünün kullanıldığına ilişkin tam denetim için URI'deki sürümü belirtin.
Ortam değişkenlerinde gizli bilgileri kullanma
Gizli dizileri tanımlama bölümünde açıklandığı gibi uygulama düzeyinde gizli dizileri bildirdikten sonra, kapsayıcı uygulamanızda yeni bir düzeltme oluşturduğunuzda bunlara ortam değişkenlerinde başvurabilirsiniz. Ortam değişkeni bir gizli diziye başvurduğunda, değeri gizli dizide tanımlanan değerle doldurulur.
Örnek
Aşağıdaki örnekte, uygulama düzeyinde bir bağlantı dizesi bildiren bir uygulama gösterilmektedir. Bu bağlantıya kapsayıcı ortam değişkeninde ve ölçek kuralında başvurulur.
Kapsayıcı uygulamanızda bir gizli dizi tanımladıktan sonra, yeni bir düzeltme oluşturduğunuzda bir ortam değişkeninde bu gizli diziye başvurabilirsiniz.
Azure portalında kapsayıcı uygulamanıza gidin.
Uygulama bölümünde Düzeltmeler ve çoğaltmalar'ı seçin.
Düzeltmeler ve çoğaltmalar sayfasında Yeni düzeltme oluştur'u seçin.
Yeni düzenleme oluştur ve dağıt sayfasındaki Kapsayıcı sekmesinde, Kapsayıcı görüntüsü bölümünün altında bir kapsayıcı seçin.
Düzenle'yi seçin.
Kapsayıcı bağlamını düzenle bölmesinde Ortam değişkenleri sekmesini seçin.
Ekle'yi seçin.
Aşağıdaki bilgileri girin:
- Ad: Ortam değişkeninin adı.
- Kaynak: Gizli öğeye başvur'u seçin.
- Değer: Daha önce tanımladığınız gizliyi seçin.
Kaydet'i seçin.
Yeni düzeltme oluştur ve dağıt sayfasında Oluştur'u seçerek yeni düzeltmeyi oluşturun.
Birime gizlileri monte etme
Gizli bilgileri tanımlama bölümünde açıklandığı gibi uygulama düzeyinde gizli bilgileri bildirdikten sonra, kapsayıcı uygulamanızda yeni bir revizyon oluşturduğunuzda bunlara birim bağlamaları içinde başvurabilirsiniz. Gizli dizileri bir birime bağladığınızda, her gizli dizi birime bir dosya olarak bağlanır. Dosya adı gizli dizinin adıdır ve dosya içeriği de gizli dizinin değeridir. Birim bağlantısında tüm gizli bilgileri veya belirli gizli bilgileri yükleyebilirsiniz.
Örnek
Kapsayıcı uygulamanızda bir gizli bilgi tanımladıktan sonra, yeni bir yenileme oluşturduğunuzda birim bağlamasında bu gizli bilgiye başvurabilirsiniz.
Azure portalında kapsayıcı uygulamanıza gidin.
Uygulama bölümünde Düzeltmeler ve çoğaltmalar'ı seçin.
Düzeltmeler ve çoğaltmalar sayfasında Yeni düzeltme oluştur'u seçin.
Yeni düzenleme oluştur ve dağıt sayfasındaki Kapsayıcı sekmesinde, Kapsayıcı görüntüsü bölümünün altında bir kapsayıcı seçin.
Düzenle'yi seçin.
Kapsayıcıyı düzenle bağlam bölmesinde, Birim bağlamaları sekmesini seçin.
Yeni birim oluştur'u seçin.
Birim Ekle bölmesinde şu bilgileri girin:
-
Birim türünü seçin
Secret. -
Ad:
mysecrets - Tüm gizli anahtarları bağla: etkin
Not
Belirli gizli verileri yüklemek istiyorsanız, Tüm gizli verileri bağla'yı devre dışı bırakın ve yüklemek istediğiniz gizli verileri seçin.
-
Birim türünü seçin
Ekle'yi seçin.
Bir kapsayıcıyı düzenle bağlam bölmesinde, Birim adı altında, mysecrets öğesini seçin.
"Bağlama Yolu altında,
/mnt/secretsgirin."Kaydet'i seçin.
Yeni düzeltme oluştur ve dağıt sayfasında, Oluştur'u seçerek birim bağlama ile yeni düzeltmeyi oluşturun.
Key Vault referans sorunlarını giderme
Azure Key Vault'tan gizli anahtarlara başvurduğunuzda, gizli anahtarları geri alma veya eşitleme sürecinde sorunlarla karşılaşabilirsiniz. Yaygın hatalar ve çözümler şunlardır:
| Error | Nedeni | Çözünürlük |
|---|---|---|
| Yönetilen kimlik etkinleştirilmedi | Kapsayıcı uygulamasına yönetilen bir kimlik atanmadı. | Kapsayıcı uygulamanızda sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliği etkinleştirin. Yönetilen kimlikler bölümünü inceleyin. |
| Kimlik bulunamadı | Belirtilen yönetilen kimlik mevcut değil veya kapsayıcı uygulamaya atanmadı. | Kimlik bölümünde kimliğin oluşturulduğunu ve kapsayıcı uygulamasına atandığını doğrulayın. |
| Gizli Key Vault'ta devre dışı | Gizli, Key Vault kaynağında devre dışı bırakıldı. | Azure portalında Anahtar Kasası'na gidin ve gizli anahtarı etkinleştirin. |
| Kimlik doğrulaması başarısız oldu | Yönetilen kimlikte gizli bilgiyi okumak için gerekli izinler yok. | Key Vault yönetilen kimliğe Key Vault Gizli Dizi Kullanıcısı rolünü verin. Bkz. Key Vault Gizli Kullanıcısı. |
| RBAC izni reddedildi | Yönetilen kimlik, Key Vault'a erişmek için yeterli izinlere sahip değil. | Key Vault üzerinde RBAC rolü atamasını doğrulayın ve sırlar için okuma yetkilerini içerdiğinden emin olunuz. |