Aracılığıyla paylaş


İş Yükü Kimlik Federasyonu Kavramları

İş yükü kimlik federasyonlarının gizli dizileri yönetmeden Microsoft Entra korumalı kaynaklara güvenli erişime nasıl olanak sağladığını öğrenin. Bu makalede avantajlarına ve desteklenen senaryolarına genel bir bakış sağlanmaktadır.

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. Azure dışında çalışan veya Azure'da çalışan ancak kimlikleri için uygulama kayıtlarını kullanan 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 İşlemleri İ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 .
  • Uygulama kimliklerini kullanarak Azure işlem platformlarında çalışan iş yükleri. İlk olarak Azure VM'nize veya App Service'inize kullanıcı tarafından atanan bir yönetilen kimlik atayın. Ardından uygulamanızla kullanıcı tarafından atanan kimlik arasında bir güven ilişkisi 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ü kimliği 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 platformundan bir 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 bir hizmet bağlantısı oluşturun. İş 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 bir yönetilen kimlik üzerinde. 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ı sırası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ı güvenecek şekilde yapılandırmayı ve bir uygulama ile kullanıcı tarafından atanan yönetilen kimlikarasında güven yapılandırmayı öğrenin.

Not

Federasyon Kimliği Kimlik Bilgileri issuer, subjectve 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 issuerve subjectaudience 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.

Harici bir belirtecinin erişim belirteci için değiştirildiğini ve Azure'a erişildiğini gösteren diyagram

  1. Dış iş yükü (GitHub Actions iş akışı gibi) dış IdP'den (GitHub gibi) bir belirteç ister.
  2. Dış IdP, dış iş yüküne bir belirteç verir.
  3. Dış iş yükü (örneğin GitHub iş akışında oturum açma eylemi), belirteci Microsoft kimlik platformuna gönderir ve erişim belirteci ister.
  4. Microsoft kimlik platformu, kullanıcı tarafından atanan yönetilen kimlik veya uygulama kaydı üzerindeki güven ilişkisini denetler ve dış belirteci dış IdP'de OpenID Connect (OIDC) veren URL'sine karşı doğrular.
  5. Denetimler karşılandığında Microsoft kimlik platformu dış iş yüküne bir erişim belirteci oluşturur.
  6. 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.

Ayrıca bkz.

  • Kullanıcı tarafından atanan yönetilen kimlik veya bir uygulama kayıtfederasyon kimliği kimlik bilgilerini federasyon kimliği kimlik bilgilerini oluşturma, silme, alma veya güncelleştirme.
  • Kullanıcı tarafından atanan yönetilen kimliği bir uygulama kaydında federasyon kimlik bilgisi olarak ayarlayın.
  • 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, başka bir IdP tarafından verilen bir istemci onayını ve OAuth 2.0 istemci kimlik bilgileri izni kullanarak bir belirteç elde eder.
  • 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.