İş yükü kimliği federasyonu
Bu makalede, yazılım iş yükleri için iş yükü kimlik federasyonuna genel bir bakış sağlanır. İş yükü kimlik federasyonu kullanmak, gizli dizileri yönetmeye gerek kalmadan (desteklenen senaryolar için) Microsoft Entra korumalı kaynaklara erişmenizi sağlar.
GitHub Actions, Kubernetes üzerinde çalışan iş yükleri veya Azure dışındaki işlem platformlarında çalışan iş yükleri gibi senaryolarda iş yükü kimlik federasyonu kullanabilirsiniz.
İş yükü kimlik federasyonu neden kullanılır?
İş yükü kimlik federasyonlarını neden kullanacağınızı öğrenmek için bu videoyu izleyin.
Genellikle, bir yazılım iş yükünün (uygulama, hizmet, betik veya kapsayıcı tabanlı uygulama gibi) kaynaklarda kimlik doğrulaması yapmak ve kaynaklara erişmek veya diğer hizmetlerle iletişim kurmak için bir kimliğe ihtiyacı vardır. Bu iş yükleri Azure'da çalıştırıldığında yönetilen kimlikleri kullanabilirsiniz ve kimlik bilgilerini Sizin için Azure platformu yönetir. Bununla birlikte, yönetilen kimlikleri yalnızca Azure'da çalışan yazılım iş yükleri için kullanabilirsiniz. Azure dışında çalışan bir yazılım iş yükü için, Microsoft Entra korumalı kaynaklara (Azure, Microsoft Graph, Microsoft 365 veya üçüncü taraf kaynaklar gibi) erişmek için uygulama kimlik bilgilerini (gizli dizi veya sertifika) kullanmanız gerekir. Bu kimlik bilgileri güvenlik riski oluşturur ve güvenli bir şekilde depolanması ve düzenli olarak döndürülmüş olması gerekir. Kimlik bilgilerinin süresi dolarsa hizmet kapalı kalma süresi riskini de çalıştırırsınız.
GitHub veya Google gibi bir dış kimlik sağlayıcısından (IdP) gelen belirteçlere güvenmek üzere Microsoft Entra ID'de kullanıcı tarafından atanan yönetilen kimliği veya uygulama kaydını yapılandırmak için iş yükü kimlik federasyonu kullanırsınız. Microsoft Entra ID'de kullanıcı tarafından atanan yönetilen kimlik veya uygulama kaydı, örneğin şirket içi Kubernetes veya GitHub Actions iş akışlarında çalışan yazılım iş yükleri için bir kimlik haline gelir. Bu güven ilişkisi oluşturulduktan sonra, dış yazılım iş yükünüz Microsoft kimlik platformu erişim belirteçleri için dış IdP'den güvenilen belirteçleri değiştirir. Yazılım iş yükünüz, iş yüküne erişim verilen Microsoft Entra korumalı kaynaklara erişmek için bu erişim belirtecini kullanır. Kimlik bilgilerini el ile yönetmenin bakım yükünü ortadan kaldırırsınız ve gizli dizilerin sızması veya sertifikaların süresinin dolması riskini ortadan kaldırırsınız.
Desteklenen senaryolar
İş yükü kimlik federasyonu kullanarak Microsoft Entra korumalı kaynaklara erişmek için aşağıdaki senaryolar desteklenir:
- Herhangi bir Kubernetes kümesinde (Azure Kubernetes Service (AKS), Amazon Web Services EKS, Google Kubernetes Engine (GKE) veya şirket içinde çalışan iş yükleri. Microsoft Entra ID'de kullanıcı tarafından atanan yönetilen kimliğiniz veya uygulamanız ile kubernetes iş yükü arasında bir güven ilişkisi oluşturun (iş yükü kimliğine genel bakış bölümünde açıklanmıştır).
- GitHub Actions. İlk olarak, Microsoft Entra Id'de kullanıcı tarafından atanan yönetilen kimliğiniz veya uygulamanız ile Microsoft Entra yönetim merkezindeki github deposu arasında veya Microsoft Graph kullanarak bir güven ilişkisi yapılandırın. Ardından , Microsoft kimlik sağlayıcısından erişim belirteci almak ve Azure kaynaklarına erişmek için bir GitHub Actions iş akışı yapılandırın.
- Google Cloud. İlk olarak, Microsoft Entra Id'de kullanıcı tarafından atanan yönetilen kimliğiniz veya uygulamanız ile Google Cloud'daki bir kimlik arasında bir güven ilişkisi yapılandırın. Ardından, Microsoft kimlik sağlayıcısından erişim belirteci almak ve Microsoft Entra korumalı kaynaklara erişmek için Google Cloud'da çalışan yazılım iş yükünüzü yapılandırın. Bkz . Google Cloud'daki bir uygulamadan Microsoft Entra korumalı kaynaklara erişme.
- Amazon Web Services'te (AWS) çalışan iş yükleri. İlk olarak, Microsoft Entra Id'de kullanıcı tarafından atanan yönetilen kimliğiniz veya uygulamanız ile Amazon Cognito'daki bir kimlik arasında bir güven ilişkisi yapılandırın. Ardından, Microsoft kimlik sağlayıcısından erişim belirteci almak ve Microsoft Entra korumalı kaynaklara erişmek için AWS'de çalışan yazılım iş yükünüzü yapılandırın. Bkz. AWS ile iş yükü kimlik federasyonu.
- Azure dışındaki işlem platformlarında çalışan diğer iş yükleri. Microsoft Entra Id'de kullanıcı tarafından atanan yönetilen kimliğiniz veya uygulamanız ile işlem platformunuzun dış IdP'si arasında bir güven ilişkisi yapılandırın. Microsoft kimlik platformu ile kimlik doğrulaması yapmak ve Microsoft ekosistemindeki API'leri çağırmak için bu platform tarafından verilen belirteçleri kullanabilirsiniz. Microsoft kimlik platformu'dan erişim belirteci almak için istemci kimlik bilgileri akışını kullanın ve depolanan sertifikayı kullanarak kendiniz oluşturmak yerine kimlik sağlayıcısının JWT'sini geçirin.
- SPIFFE ve SPIRE, platformlar ve bulut satıcıları arasında dağıtılan yazılım iş yüklerinize kimlik sağlamak için platformdan bağımsız, açık kaynak standartları kümesidir. İlk olarak, Microsoft Entra Id'de kullanıcı tarafından atanan yönetilen kimliğiniz veya uygulamanız ile dış iş yükü için BIR SPIFFE Kimliği arasında bir güven ilişkisi yapılandırın. Ardından dış yazılım iş yükünüzü Microsoft kimlik sağlayıcısından erişim belirteci alacak ve Microsoft Entra korumalı kaynaklara erişecek şekilde yapılandırın. Bkz. SPIFFE ve SPIRE ile iş yükü kimlik federasyonu.
- Azure Pipelines'da yeni bir hizmet bağlantısı oluşturma (önizleme). İş yükü kimlik federasyonu kullanarak bir Azure Resource Manager hizmet bağlantısı oluşturun.
Not
Microsoft Entra Kimliği tarafından verilen belirteçler federasyon kimlik akışları için kullanılamayabilir. Federasyon kimliği kimlik bilgileri akışı, Microsoft Entra Id tarafından verilen belirteçleri desteklemez.
Nasıl çalışır?
Microsoft Entra Id'de dış IdP ile kullanıcı tarafından atanan yönetilen kimlik veya uygulama arasında güven ilişkisi oluşturun. Federasyon kimliği kimlik bilgileri, uygulamanız veya yönetilen kimliğiniz tarafından dış IdP'den hangi belirtecin güvenilir olacağını belirtmek için kullanılır. Bir federasyon kimliği yapılandırabilirsiniz:
- Microsoft Entra yönetim merkezi, Azure CLI, Azure PowerShell, Azure SDK ve Azure Resource Manager (ARM) şablonları aracılığıyla kullanıcı tarafından atanan yönetilen kimlikte. Dış iş yükü, gizli dizileri yönetmeye gerek kalmadan (desteklenen senaryolarda) Microsoft Entra korumalı kaynaklara erişmek için erişim belirtecini kullanır. Güven ilişkisini yapılandırma adımları senaryoya ve dış IdP'ye bağlı olarak farklılık gösterir.
- Microsoft Entra yönetim merkezinde veya Microsoft Graph aracılığıyla bir uygulama kaydında. Bu yapılandırma, Azure dışındaki gizli dizileri yönetmeye gerek kalmadan uygulamanız için erişim belirteci almanıza olanak tanır. Daha fazla bilgi için bir uygulamayı dış kimlik sağlayıcısına güvenecek şekilde yapılandırmayı öğrenin.
Not
Federasyon Kimliği Kimlik Bilgileri issuer
, subject
ve audience
değerleri, senaryonun yetkilendirilebilmesi için dış IdP tarafından Microsoft Entra Id'ye gönderilen belirtecin içerdiği karşılık gelen issuer
ve audience
subject
değerlerle büyük/küçük harfe duyarlı bir şekilde eşleşmelidir. Bu değişiklikle ilgili daha fazla bilgi için lütfen Kimlik Doğrulaması yeniliklerini ziyaret edin.
Ancak, erişim belirteci için dış belirteç alışverişi için iş akışı tüm senaryolar için aynıdır. Aşağıdaki diyagramda, erişim belirteci için dış belirteç alışverişinde bulunan ve ardından Microsoft Entra korumalı kaynaklara erişen bir iş yükünün genel iş akışı gösterilmektedir.
- Dış iş yükü (GitHub Actions iş akışı gibi) dış IdP'den (GitHub gibi) bir belirteç ister.
- Dış IdP, dış iş yüküne bir belirteç verir.
- Dış iş yükü (örneğin GitHub iş akışında oturum açma eylemi), belirteci Microsoft kimlik platformu gönderir ve erişim belirteci ister.
- Microsoft kimlik platformu, kullanıcı tarafından atanan yönetilen kimlik veya uygulama kaydındaki güven ilişkisini denetler ve dış belirteci dış IdP'de OpenID Connect (OIDC) veren URL'sine göre doğrular.
- Denetimler karşılandığında Microsoft kimlik platformu dış iş yüküne bir erişim belirteci oluşturur.
- Dış iş yükü, Microsoft kimlik platformu erişim belirtecini kullanarak Microsoft Entra korumalı kaynaklara erişir. Örneğin GitHub Actions iş akışı, Azure Uygulaması Service'e bir web uygulaması yayımlamak için erişim belirtecini kullanır.
Microsoft kimlik platformu, dış IdP'nin OIDC uç noktasından indirildiğinde yalnızca ilk 100 imzalama anahtarını depolar. Dış IdP 100'den fazla imzalama anahtarını kullanıma sunarsa, iş yükü kimlik federasyonu kullanırken hatalarla karşılaşabilirsiniz.
Sonraki adımlar
İş yükü kimlik federasyonu nasıl çalıştığı hakkında daha fazla bilgi edinin:
- Kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini oluşturma, silme, alma veya güncelleştirme.
- Uygulama kaydında federasyon kimlik bilgilerini oluşturma, silme, alma veya güncelleştirme.
- Microsoft kimlik sağlayıcısından erişim belirteci almak ve Microsoft Entra korumalı kaynaklara erişmek için Kubernetes iş yükünü yapılandırmayı öğrenmek için iş yükü kimliğine genel bakış makalesini okuyun.
- Microsoft kimlik sağlayıcısından erişim belirteci almak ve Microsoft Entra korumalı kaynaklara erişmek için GitHub Actions iş akışınızı yapılandırma hakkında daha fazla bilgi edinmek için GitHub Actions belgelerini okuyun.
- Microsoft Entra Id, belirteç almak için OAuth 2.0 istemci kimlik bilgileri verme ve başka bir IdP tarafından verilen bir istemci onayını nasıl kullanır?
- Dış kimlik sağlayıcıları tarafından oluşturulan gerekli JWT biçimi hakkında bilgi için onay biçimi hakkında bilgi edinin.