Aracılığıyla paylaş


Azure API Management'ta yönetilen kimlikleri kullanma

UYGULANANLAR: Tüm API Management katmanları

Bu makalede, Azure API Management örneği için yönetilen kimlik oluşturma ve diğer kaynaklara erişmek için bu kimliğin nasıl kullanılacağı gösterilmektedir. Microsoft Entra ID tarafından oluşturulan yönetilen kimlik, API Management'ın Azure Key Vault gibi Microsoft Entra tarafından korunan diğer kaynaklara kolayca ve güvenli bir şekilde erişmesini sağlar. Azure bu kimlikleri yönetir, böylece gizli bilgileri sağlamak veya yenilemek zorunda değilsiniz. Yönetilen kimlikler hakkında daha fazla bilgi için bkz. Azure kaynakları için yönetilen kimlikler nelerdir?.

Bir API Management örneğine iki tür kimlik izni verebilirsiniz:

  • Sistem tarafından atanan bir kimlik, hizmetinize bağlıdır ve hizmet silinirse o da silinir. Hizmet, sistem tarafından atanan yalnızca bir kimliğe sahip olabilir.
  • Kullanıcı tarafından atanan kimlik ise hizmetinize atanabilen, tek başına bir Azure kaynağıdır. Hizmet, kullanıcı tarafından atanan birden çok kimlik içerebilir.

Uyarı

Yönetilen kimlikler, Azure aboneliğinizin barındırıldığı Microsoft Entra kiracısına özgüdür. Abonelik farklı bir dizine taşınırsa bu abonelikler güncelleştirilmez. Abonelik taşınırsa kimlikleri yeniden oluşturmanız ve yeniden yapılandırmanız gerekir.

Uyarı

Şu anda bu özellik çalışma alanlarında kullanılamaz.

Sistem tarafından atanan yönetilen bir kimlik oluşturma

Azure portalı

Azure portalında yönetilen kimlik ayarlamak için bir API Management örneği oluşturup özelliği etkinleştirin.

  1. Normalde yaptığınız gibi portalda bir API Management örneği oluşturun. Portalda buna gidin.

  2. Soldaki menüde, Güvenlik'in altında Yönetilen kimlikler'i seçin.

  3. Sistem tarafından atanan sekmesinde DurumuAçık olarak değiştirin. Kaydetseçeneğini seçin.

    Sistem tarafından atanan yönetilen kimliği etkinleştirmeyi gösteren ekran görüntüsü.

Azure PowerShell

Uyarı

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Aşağıdaki adımlar, API Management örneği oluşturma ve Azure PowerShell kullanarak bir kimlik atama konusunda size yol gösterir.

  1. Gerekirse, Azure PowerShell kılavuzundaki yönergeleri izleyerek Azure PowerShell'i yükleyin. Ardından azure ile bağlantı oluşturmak için komutunu çalıştırın Connect-AzAccount .

  2. Sistem tarafından atanan yönetilen kimliğe sahip bir örnek oluşturmak için aşağıdaki kodu kullanın. Azure PowerShell'i API Management ile kullanma hakkında daha fazla örnek için bkz. API Management PowerShell örnekleri.

    # Create a resource group.
    New-AzResourceGroup -Name $resourceGroupName -Location $location
    
    # Create an API Management Consumption SKU service.
    New-AzApiManagement -ResourceGroupName $resourceGroupName -Name consumptionskuservice -Location $location -Sku Consumption -Organization contoso -AdminEmail contoso@contoso.com -SystemAssignedIdentity
    

Ayrıca, kimliği oluşturmak için var olan bir örneği güncelleştirebilirsiniz:

# Get an API Management instance
$apimService = Get-AzApiManagement -ResourceGroupName $resourceGroupName -Name $apiManagementName

# Update an API Management instance
Set-AzApiManagement -InputObject $apimService -SystemAssignedIdentity

Azure Resource Manager (ARM) şablonu

ARM şablonu kaynak tanımına aşağıdaki özelliği ekleyerek sistem tarafından atanan bir kimliğe sahip bir API Management örneği oluşturabilirsiniz:

"identity" : {
    "type" : "SystemAssigned"
}

Bu özellik, Azure'a API Management örneğiniz için kimlik oluşturmasını ve yönetmesini sağlar.

Örneğin, eksiksiz bir ARM şablonu şuna benzer olabilir:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "0.9.0.0",
    "resources": [{
        "apiVersion": "2021-08-01",
        "name": "contoso",
        "type": "Microsoft.ApiManagement/service",
        "location": "[resourceGroup().location]",
        "tags": {},
        "sku": {
            "name": "Developer",
            "capacity": "1"
        },
        "properties": {
            "publisherEmail": "admin@contoso.com",
            "publisherName": "Contoso"
        },
        "identity": {
            "type": "systemAssigned"
        }
    }]
}

Örnek oluşturulduğunda aşağıdaki ek özelliklere sahiptir:

"identity": {
    "type": "SystemAssigned",
    "tenantId": "<TENANTID>",
    "principalId": "<PRINCIPALID>"
}

özelliği, tenantId kimliğin hangi Microsoft Entra kiracısına ait olduğunu tanımlar. principalId özelliği, örneğin yeni kimliği için benzersiz bir tanımlayıcıdır. Microsoft Entra Id içinde hizmet sorumlusu, API Management örneğiniz için girdiğiniz adla aynı ada sahiptir.

Uyarı

API Management örneği hem sistem tarafından atanan hem de kullanıcı tarafından atanan kimliklere sahip olabilir. Bu senaryoda özelliği type şeklindedir SystemAssigned,UserAssigned.

Yönetilen kimlik kullanarak Key Vault erişimini yapılandırma

Azure anahtar kasasından sertifikalara erişmek için API Management'ı kullanmak istiyorsanız aşağıdaki yapılandırmalar gereklidir.

Anahtar kasasına erişimi yapılandırma

  1. Portaldaki anahtar kasanıza gidin.
  2. Sol menüde Ayarlar>Erişim yapılandırması'nı seçin. Yapılandırılan İzin modeline dikkat edin.
  3. İzin modeline bağlı olarak API Management yönetilen kimliği için ya bir anahtar kasası erişim ilkesini ya da Azure RBAC erişimini yapılandırın.

Anahtar kasası erişim ilkesi eklemek için:

  1. Sol menüde Erişim ilkeleri'ni seçin.
  2. Erişim ilkeleri sayfasında + Oluştur'u seçin.
  3. İzinler sekmesindeki Gizli izinler altında Getir ve Listele'yi ve ardından İleri'yi seçin.
  4. Sorumlu sekmesinde, yönetilen kimliğinizin kaynak adını arayın ve İleri'yi seçin. Sistem tarafından atanan bir kimlik kullanıyorsanız, asıl kimlik API Yönetim örneğinizin adıdır.
  5. İleri'yi yeniden seçin. Gözden Geçir + oluştur sekmesinde Oluştur'u seçin.

Azure RBAC erişimini yapılandırmak için:

  1. Sol menüde Erişim denetimi (IAM) öğesini seçin.
  2. Erişim denetimi (IAM) sayfasında Rol ataması ekle'yi seçin.
  3. Rol sekmesinde Key Vault Sertifika Kullanıcısı'nı seçin.
  4. Üyeler sekmesinde Yönetilen kimlik>+ Üye seç'i seçin.
  5. Yönetilen kimlikleri seçin penceresinde, SISTEM tarafından atanan yönetilen kimliği veya API Management örneğiniz ile ilişkili kullanıcı tarafından atanan yönetilen kimliği seçin ve ardından Seç'e tıklayın.
  6. Gözden geçir + ata'yı seçin.

Key Vault güvenlik duvarı gereksinimleri

Anahtar kasanızda Key Vault firewall etkinleştirildiyse şu gereksinimleri karşılamanız gerekir:

  • Anahtar deposuna erişmek için API Management örneğinin sistem tarafından atanan yönetilen kimliğini kullanmanız gerekir.

  • API Management örneğinizin anahtar kasasına yönelik ağ görüş hattına sahip olduğundan emin olun. Senaryolarınıza bağlı olarak, anahtar kasasında aşağıdaki ağ erişim seçeneklerinden birini yapılandırın:

    • Tüm ağlardan genel erişime izin verin.

    • IP adresine veya sanal ağ bağlantısına göre API Management trafiğine izin vermek için bir ağ güvenlik kuralı ayarlayın.

    • Özel Bağlantı bağlantısı ile API Management'tan gelen trafiğin güvenliğini sağlayın.

    • Anahtar kasanızın güvenliğini sağlamak ve API Management'tan gelen trafiğe izin vermek için bir ağ güvenlik çevresi kullanın.

  • Azure API Management'a eklemek üzere bir sertifika veya gizli anahtar seçerken, yerel istemci IP adresinizin anahtar kasasına geçici olarak erişimine izin verildiğinden emin olun. Daha fazla bilgi için bkz . Azure Key Vault ağ ayarlarını yapılandırma.

    Yapılandırmayı tamamladıktan sonra anahtar kasası güvenlik duvarında istemci adresinizi engelleyebilirsiniz.

Önemli

Mart 2026'dan itibaren, Güvenilen Microsoft hizmetlerinin bu güvenlik duvarını atlamasına izin ver anahtar kasası güvenlik duvarı ayarını etkinleştirerek API Management üzerinden Azure Key Vault'a olan güvenli hizmet bağlantısı artık desteklenmeyecektir. Bu değişiklik sonrasında Key Vault'u API Management ile kullanmaya devam etmek için yukarıda açıklandığı gibi desteklenen bir ağ erişimi seçeneği belirlediğinizden emin olun. Daha fazla bilgi edinin.

Sanal ağ gereksinimleri

API Management örneği bir sanal ağda dağıtıldıysa, aşağıdaki ağ ayarlarını da yapılandırın:

  • API Management alt ağındaki Key Vault'a bir hizmet uç noktasını etkinleştirin.
  • AzureKeyVault ve AzureActiveDirectory hizmet etiketlerine giden trafiğe izin vermek için bir ağ güvenlik grubu (NSG) kuralı yapılandırın.

Ayrıntılar için bkz. Sanal ağda API Management'ı ayarlarken ağ yapılandırması.

Sistem tarafından atanan kimlik kullanan desteklenen senaryolar

Azure API Management'ta sistem tarafından atanan yönetilen kimliği kullanmaya yönelik bazı yaygın senaryolar aşağıda verilmiştir.

Key Vault'tan API Management örneği için özel bir TLS/SSL sertifikası alma

Key Vault'ta depolanan özel TLS/SSL sertifikalarını almak için API Management örneğinin sistem tarafından atanan kimliğini kullanabilirsiniz. Ardından bu sertifikaları API Management örneğindeki özel etki alanlarına atayabilirsiniz. Şu noktaları dikkate alın:

  • Gizli dizinin içerik türü application/x-pkcs12 olmalıdır. Daha fazla bilgi için bkz . Etki alanı sertifika seçenekleri.
  • Key Vault sertifika sırrını içeren uç noktasını kullanmanız gerekir.

Önemli

Sertifikanın nesne sürümünü sağlamazsanız API Management, key vault'ta güncelleştirildikten sonra dört saat içinde sertifikanın daha yeni bir sürümünü otomatik olarak alır.

Aşağıdaki örnekte, Key Vault'tan özel bir etki alanı sertifikası almak için API Management örneğinin sistem tarafından atanan yönetilen kimliğini kullanan bir ARM şablonu gösterilmektedir.

Önkoşullar

  • Sistem tarafından atanan yönetilen kimlikle yapılandırılmış bir API Management örneği. Örneği oluşturmak için bir Azure Hızlı Başlangıç Şablonu kullanabilirsiniz.
  • Aynı kaynak grubundaki bir Key Vault örneği. Örneğin API Management'ta özel etki alanı sertifikası olarak kullanılacak bir sertifika barındırması gerekir.

Şablon aşağıdaki adımları içerir.

  1. Key Vault örneğinin erişim ilkelerini güncelleyin ve API Management örneğinin ondan gizli bilgileri almasına izin verin.
  2. Key Vault örneğindeki sertifika aracılığıyla özel bir etki alanı adı ayarlayarak API Management örneğini güncelleştirin.

Şablonu çalıştırdığınızda ortamınıza uygun parametre değerleri sağlayın.

{
	"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
	"contentVersion": "1.0.0.0",
	"parameters": {
        "apiManagementServiceName": {
            "type": "string",
            "minLength": 8,
            "metadata":{
                "description": "The name of the API Management instance"
            }
        },
		"publisherEmail": {
			"type": "string",
			"minLength": 1,
			"metadata": {
				"description": "The email address of the owner of the instance"
			}
		},
		"publisherName": {
			"type": "string",
			"minLength": 1,
			"metadata": {
				"description": "The name of the owner of the instance"
			}
		},
		"sku": {
			"type": "string",
			"allowedValues": ["Developer",
			"Standard",
			"Premium"],
			"defaultValue": "Developer",
			"metadata": {
				"description": "The pricing tier of the API Management instance"
			}
		},
		"skuCount": {
			"type": "int",
			"defaultValue": 1,
			"metadata": {
				"description": "The instance size of the API Management instance"
			}
		},
        "keyVaultName": {
            "type": "string",
            "metadata": {
                "description": "The name of the key vault"
            }
        },
		"proxyCustomHostname1": {
			"type": "string",
			"metadata": {
				"description": "Gateway custom hostname 1. Example: api.contoso.com"
			}
		},
		"keyVaultIdToCertificate": {
			"type": "string",
			"metadata": {
				"description": "Reference to the key vault certificate. Example: https://contoso.vault.azure.net/secrets/contosogatewaycertificate"
			}
		}
	},
	 "variables": {
        "apimServiceIdentityResourceId": "[concat(resourceId('Microsoft.ApiManagement/service', parameters('apiManagementServiceName')),'/providers/Microsoft.ManagedIdentity/Identities/default')]"
		    },
	"resources": [ 
   {
        "apiVersion": "2021-08-01",
        "name": "[parameters('apiManagementServiceName')]",
        "type": "Microsoft.ApiManagement/service",
        "location": "[resourceGroup().location]",
        "tags": {
        },
        "sku": {
            "name": "[parameters('sku')]",
            "capacity": "[parameters('skuCount')]"
        },
        "properties": {
            "publisherEmail": "[parameters('publisherEmail')]",
            "publisherName": "[parameters('publisherName')]"
        },
        "identity": {
            "type": "systemAssigned"
        }
    },
    {
        "type": "Microsoft.KeyVault/vaults/accessPolicies",
        "name": "[concat(parameters('keyVaultName'), '/add')]",
        "apiVersion": "2018-02-14",
        "properties": {
            "accessPolicies": [{
                "tenantId": "[reference(variables('apimServiceIdentityResourceId'), '2018-11-30').tenantId]",
                "objectId": "[reference(variables('apimServiceIdentityResourceId'), '2018-11-30').principalId]",
                "permissions": {
                     "secrets": ["get", "list"]
                }
            }]
        }
    },
	{
        "apiVersion": "2021-04-01",
		"type": "Microsoft.Resources/deployments",
        "name": "apimWithKeyVault",
		 "dependsOn": [
        "[resourceId('Microsoft.ApiManagement/service', parameters('apiManagementServiceName'))]"
        ],
        "properties": {
            "mode": "incremental",
            "template": {
                "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
				"contentVersion": "1.0.0.0",
				"parameters": {},			
				"resources": [{
					"apiVersion": "2021-08-01",
					"name": "[parameters('apiManagementServiceName')]",
					"type": "Microsoft.ApiManagement/service",
					"location": "[resourceGroup().location]",
					"tags": {
					},
					"sku": {
						"name": "[parameters('sku')]",
						"capacity": "[parameters('skuCount')]"
					},
					"properties": {
						"publisherEmail": "[parameters('publisherEmail')]",
						"publisherName": "[parameters('publisherName')]",
						"hostnameConfigurations": [{
							"type": "Proxy",
							"hostName": "[parameters('proxyCustomHostname1')]",
							"keyVaultId": "[parameters('keyVaultIdToCertificate')]"
						}]
					},
					"identity": {
						"type": "systemAssigned"
					}
				}]
		}
		}
	}
]
}

Key Vault'tan adlandırılmış değerleri depolama ve yönetme

API Management ilkelerinde kullanılmak üzere gizli dizileri depolamak ve yönetmek üzere Key Vault'a erişmek için sistem tarafından atanan yönetilen kimliği kullanabilirsiniz. Daha fazla bilgi için bkz. Azure API Management ilkelerinde adlandırılmış değerleri kullanma.

API Yönetimi kimliğini kullanarak bir arka uca kimlik doğrulaması yapın.

Sistem tarafından atanan kimliği kullanarak kimlik doğrulaması-yönetilen kimlik ilkesi aracılığıyla bir arka uç hizmetine kimlik doğrulayabilirsiniz.

Sistem tarafından atanan yönetilen kimliği kullanarak IP güvenlik duvarının arkasındaki Azure kaynaklarına bağlanma

Belirli senaryolarda API Management, uygun rol atamasıyla yapılandırılmış sistem tarafından atanan yönetilen kimliği kullanarak aşağıdaki hizmetlerdeki kaynaklarla iletişim kurabilir:

  • Azure Key Vault
  • Azure Storage
  • Azure Hizmet Otobüsü
  • Azure Event Hubs
  • Azure Container Registry (Azure Konteyner Kayıt Defteri)
  • Azure Yönetimli HSM

Bu hizmetlerdeki bir IP güvenlik duvarı tarafından korunan kaynaklar için API Management'tan ağ görüş hattına sahip olduğunuzdan emin olun. Kaynakta aşağıdaki ağ erişim seçeneklerinden birini yapılandırın:

  • Tüm ağlardan genel erişime izin verin.

  • IP adresine veya sanal ağ bağlantısına göre API Management trafiğine izin vermek için bir ağ güvenlik kuralı ayarlayın.

  • Özel Bağlantı bağlantısı ile API Management'tan gelen trafiğin güvenliğini sağlayın.

  • Kaynağın güvenliğini sağlamak ve API Management'tan gelen trafiğe izin vermek için bir ağ güvenlik çevresi kullanın.

Önemli

Mart 2026'dan itibaren, Güvenilen Microsoft Hizmetlerinin bu güvenlik duvarını atlamasına izin ver ayarını etkinleştirerek API Management'tan Azure hizmetlerine güvenilen hizmet bağlantısı artık desteklenmeyecektir. Bu değişiklikten sonra API Management'tan bu hizmetlere erişmeye devam etmek için yukarıda açıklandığı gibi desteklenen bir ağ erişimi seçeneği belirlediğinizden emin olun. Daha fazla bilgi edinin

Olayları bir olay hub'ına kaydetme

Bir API Yönetimi örneğinden olayları günlüğe kaydetmek üzere bir olay hub'ına erişmek için sistem tarafından atanan yönetilen kimliği yapılandırabilir ve kullanabilirsiniz. Daha fazla bilgi için bkz. Azure API Management'ta Event Hubs'ta olayları günlüğe kaydetme.

Kullanıcının atadığı yönetilen kimliği oluşturun

Uyarı

Bir API Management örneğini en fazla 10 kullanıcı tarafından atanan yönetilen kimlikle ilişkilendirebilirsiniz.

Azure portalı

Portalda yönetilen kimlik ayarlamak için önce bir API Management örneği oluşturmanız ve kullanıcı tarafından atanan bir kimlik oluşturmanız gerekir. Ardından aşağıdaki adımları tamamlayın.

  1. Portalda API Management örneğine gidin.

  2. Soldaki menüde, Güvenlik'in altında Yönetilen kimlikler'i seçin.

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

  4. Daha önce oluşturduğunuz kimliği arayın ve seçin. Add (Ekle) seçeneğini belirleyin.

    Kullanıcı tarafından atanan yönetilen kimliği etkinleştirmeyi gösteren ekran görüntüsü.

Azure PowerShell

Uyarı

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Aşağıdaki adımlar, API Management örneği oluşturma ve Azure PowerShell kullanarak bir kimlik atama konusunda size yol gösterir.

  1. Gerekirse, Azure PowerShell kılavuzundaki yönergeleri izleyerek Azure PowerShell'i yükleyin. Ardından azure ile bağlantı oluşturmak için komutunu çalıştırın Connect-AzAccount .

  2. Örneği oluşturmak için aşağıdaki kodu kullanın. Azure PowerShell'i API Management ile kullanma hakkında daha fazla örnek için bkz. API Management PowerShell örnekleri.

    # Create a resource group.
    New-AzResourceGroup -Name $resourceGroupName -Location $location
    
    # Create a user-assigned identity. This code requires installation of the Az.ManagedServiceIdentity module.
    $userAssignedIdentity = New-AzUserAssignedIdentity -Name $userAssignedIdentityName -ResourceGroupName $resourceGroupName
    
    # Create an API Management Consumption SKU service.
    $userIdentities = @($userAssignedIdentity.Id)
    
    New-AzApiManagement -ResourceGroupName $resourceGroupName -Location $location -Name $apiManagementName -Organization contoso -AdminEmail admin@contoso.com -Sku Consumption -UserAssignedIdentity $userIdentities
    

Var olan bir hizmeti, hizmete kimlik atamak için de güncelleştirebilirsiniz:

# Get an API Management instance.
$apimService = Get-AzApiManagement -ResourceGroupName $resourceGroupName -Name $apiManagementName

# Create a user-assigned identity. This code requires installation of the Az.ManagedServiceIdentity module.
$userAssignedIdentity = New-AzUserAssignedIdentity -Name $userAssignedIdentityName -ResourceGroupName $resourceGroupName

# Update the API Management instance.
$userIdentities = @($userAssignedIdentity.Id)
Set-AzApiManagement -InputObject $apimService -UserAssignedIdentity $userIdentities

ARM şablonu

Kaynak tanımına aşağıdaki özelliği ekleyerek kimliği olan bir API Management örneği oluşturabilirsiniz:

"identity": {
    "type": "UserAssigned",
    "userAssignedIdentities": {
        "<RESOURCEID>": {}
    }
}

Kullanıcı tarafından atanan türün eklenmesi Azure'a örneğiniz için belirtilen kullanıcı tarafından atanan kimliği kullanmasını bildirir.

Örneğin, eksiksiz bir ARM şablonu şuna benzer olabilir:

{
    "$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
    "contentVersion": "0.9.0.0",
    "resources": [{
        "apiVersion": "2021-08-01",
        "name": "contoso",
        "type": "Microsoft.ApiManagement/service",
        "location": "[resourceGroup().location]",
        "tags": {},
        "sku": {
            "name": "Developer",
            "capacity": "1"
        },
        "properties": {
            "publisherEmail": "admin@contoso.com",
            "publisherName": "Contoso"
        },
        "identity": {
            "type": "UserAssigned",
             "userAssignedIdentities": {
                "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('identityName'))]": {}
             }
        },
         "dependsOn": [
          "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('identityName'))]"
        ]
    }]
}

Hizmet oluşturulduğunda aşağıdaki ek özelliklere sahiptir:

"identity": {
    "type": "UserAssigned",
    "userAssignedIdentities": {
        "<RESOURCEID>": {
            "principalId": "<PRINCIPALID>",
            "clientId": "<CLIENTID>"
        }
    }
}

principalId özelliği, Microsoft Entra yönetimi için kullanılan kimliğin benzersiz tanımlayıcısıdır. clientId özelliği, uygulamanın çalışma zamanı çağrıları sırasında hangi kimliğin kullanılacağını belirtmek için kullanılan yeni kimliği için benzersiz bir tanımlayıcıdır.

Uyarı

API Management örneği hem sistem tarafından atanan hem de kullanıcı tarafından atanan kimliklere sahip olabilir. Bu senaryoda özelliği type olacaktır SystemAssigned,UserAssigned.

Kullanıcı tarafından atanan yönetilen kimlikleri kullanan desteklenen senaryolar

Azure API Management'ta kullanıcı tarafından atanan yönetilen kimliği kullanmaya yönelik bazı yaygın senaryolar aşağıda verilmiştir.

Key Vault'tan API Management örneği için özel bir TLS/SSL sertifikası alma

Api Management örneği ile Key Vault arasında güven oluşturmak için kullanıcı tarafından atanan bir kimlik kullanabilirsiniz. Bu güven daha sonra Key Vault'ta depolanan özel TLS/SSL sertifikalarını almak için kullanılabilir. Ardından bu sertifikaları API Management örneğindeki özel etki alanlarına atayabilirsiniz.

Önemli

Anahtar kasanızda Key Vault güvenlik duvarı etkinleştirildiyse, API Management'tan erişim için kullanıcı tarafından atanan bir kimlik kullanamazsınız. Bunun yerine sistem tarafından atanan kimliği kullanabilirsiniz. Daha fazla bilgi için Anahtar Kasası Güvenlik Duvarı Gereksinimleri bölümüne bakın.

Şu noktaları dikkate alın:

  • Gizli dizinin içerik türü application/x-pkcs12 olmalıdır.
  • Key Vault sertifika sırrını içeren uç noktasını kullanmanız gerekir.

Önemli

Sertifikanın nesne sürümünü sağlamazsanız API Management, key vault'ta güncelleştirildikten sonra dört saat içinde sertifikanın daha yeni bir sürümünü otomatik olarak alır.

Key Vault'tan adlandırılmış değerleri depolama ve yönetme

API Management ilkelerinde kullanılmak üzere gizli dizileri depolamak ve yönetmek üzere Key Vault'a erişmek için kullanıcı tarafından atanan yönetilen kimliği kullanabilirsiniz. Daha fazla bilgi için bkz. Azure API Management ilkelerinde adlandırılmış değerleri kullanma.

Uyarı

Anahtar kasanızda Key Vault güvenlik duvarı etkinleştirildiyse, API Management'tan erişim için kullanıcı tarafından atanan bir kimlik kullanamazsınız. Bunun yerine sistem tarafından atanan kimliği kullanabilirsiniz. Daha fazla bilgi için Anahtar kasası güvenlik duvarı gereksinimleri bölümüne bakın.

Kullanıcı tarafından atanan bir kimlik kullanarak arka uç sunucusuna bağlanarak kimlik doğrulaması yapın

Kullanıcı tarafından atanan kimliği, kimlik doğrulamayı-yönetilen-kimlik ilkesi aracılığıyla bir arka uç hizmetine kimlik doğrulaması yapmak için kullanabilirsiniz.

Olayları bir olay hub'ına kaydetme

Api Management örneğinden olayları günlüğe kaydetmek üzere bir olay hub'ına erişmek için kullanıcı tarafından atanan yönetilen kimliği yapılandırabilir ve kullanabilirsiniz. Daha fazla bilgi için bkz. Azure API Management'ta Olayları Azure Event Hubs'a kaydetme.

Kimliği kaldır

Portal veya ARM şablonu aracılığıyla özelliğin oluşturulduğu şekilde devre dışı bırakarak sistem tarafından atanan bir kimliği kaldırabilirsiniz. Kullanıcı tarafından atanan kimlikler tek tek kaldırılabilir. Tüm kimlikleri kaldırmak için kimlik türünü olarak "None"ayarlayın.

Sistem tarafından atanan bir kimlik bu şekilde kaldırılarak Microsoft Entra Kimliği'nden de silinir. API Management örneği silindiğinde sistem tarafından atanan kimlikler de Microsoft Entra Id'den otomatik olarak kaldırılır.

ARM şablonu kullanarak tüm kimlikleri kaldırmak için şu bölümü güncelleştirin:

"identity": {
    "type": "None"
}

Önemli

Bir API Management örneği Key Vault'tan özel bir SSL sertifikasıyla yapılandırılırsa ve yönetilen kimliği devre dışı bırakmaya çalışırsanız istek başarısız olur.

Key Vault sertifikasından satır içi kodlanmış bir sertifikaya geçip yönetilen kimliği devre dışı bırakarak bu sorunu çözebilirsiniz. Daha fazla bilgi için, bkz. Özel etki alanı adı yapılandırma.