Azure Cosmos DB hesabınız için Microsoft Entra ID ile yönetilen kimlikleri yapılandırma

ŞUNLAR IÇIN GEÇERLIDIR: Nosql MongoDB Cassandra Gremlin Tablo

Azure kaynakları için yönetilen kimlikler, Azure hizmetlerine Microsoft Entra ID üzerinde otomatik olarak yönetilen bir kimlik sağlar. Bu makalede, Azure Cosmos DB hesapları için yönetilen kimliğin nasıl oluşturulacağı gösterilmektedir.

Ön koşullar

Sistem tarafından atanan kimlik ekleme

Azure portalını kullanma

Mevcut bir Azure Cosmos DB hesabında sistem tarafından atanan yönetilen kimliği etkinleştirmek için Azure portalında hesabınıza gidin ve sol menüden Kimlik'i seçin.

The Identity menu entry

Sistem tarafından atanan bölümünün altında, Durum'ı Açık olarak çevirin ve Kaydet'i seçin. Sistem tarafından atanan yönetilen kimliğin oluşturulmasını onaylamanız istenir.

Enabling a system-assigned identity

Kimlik oluşturulduktan ve atandıktan sonra Nesne (sorumlu) kimliğini alabilirsiniz.

Retrieving the object ID of a system-assigned identity

Azure Resource Manager (ARM) şablonu kullanma

Önemli

Yönetilen kimliklerle çalışırken bir veya daha yüksek bir apiVersion değer kullandığınızdan 2021-03-15 emin olun.

Yeni veya mevcut bir Azure Cosmos DB hesabında sistem tarafından atanan bir kimliği etkinleştirmek için kaynak tanımına aşağıdaki özelliği ekleyin:

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

resources ARM şablonunuzun bölümü aşağıdaki gibi görünmelidir:

"resources": [
    {
        "type": " Microsoft.DocumentDB/databaseAccounts",
        "identity": {
            "type": "SystemAssigned"
        },
        // ...
    },
    // ...
]

Azure Cosmos DB hesabınız oluşturulduktan veya güncelleştirildikten sonra aşağıdaki özelliği gösterir:

"identity": {
    "type": "SystemAssigned",
    "tenantId": "<azure-ad-tenant-id>",
    "principalId": "<azure-ad-principal-id>"
}

Azure CLI'yı kullanma

Yeni bir Azure Cosmos DB hesabı oluştururken sistem tarafından atanan bir kimliği etkinleştirmek için şu --assign-identity seçeneği ekleyin:

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

az cosmosdb create \
    -n $accountName \
    -g $resourceGroupName \
    --locations regionName='West US 2' failoverPriority=0 isZoneRedundant=False \
    --assign-identity

Ayrıca komutunu kullanarak az cosmosdb identity assign mevcut bir hesaba sistem tarafından atanan bir kimlik de ekleyebilirsiniz:

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

az cosmosdb identity assign \
    -n $accountName \
    -g $resourceGroupName

Azure Cosmos DB hesabınız oluşturulduktan veya güncelleştirildikten sonra, komutuyla az cosmosdb identity show atanan kimliği getirebilirsiniz:

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

az cosmosdb identity show \
    -n $accountName \
    -g $resourceGroupName
{
    "type": "SystemAssigned",
    "tenantId": "<azure-ad-tenant-id>",
    "principalId": "<azure-ad-principal-id>"
}

Kullanıcı tarafından atanan kimlik ekleme

Azure portalını kullanma

Mevcut bir Azure Cosmos DB hesabında kullanıcı tarafından atanan yönetilen kimliği etkinleştirmek için Azure portalında hesabınıza gidin ve sol menüden Kimlik'i seçin.

The Identity menu entry

Kullanıcı tarafından atanan bölümünün altında + Ekle'yi seçin.

Enabling a user-assigned identity

Azure Cosmos DB hesabınıza atamak istediğiniz tüm kimlikleri bulup seçin, ardından Ekle'yi seçin.

Selecting all the identities to assign

Azure Resource Manager (ARM) şablonu kullanma

Önemli

Yönetilen kimliklerle çalışırken bir veya daha yüksek bir apiVersion değer kullandığınızdan 2021-03-15 emin olun.

Kullanıcı tarafından atanan kimliği yeni veya mevcut bir Azure Cosmos DB hesabında etkinleştirmek için kaynak tanımına aşağıdaki özelliği ekleyin:

"identity": {
    "type": "UserAssigned",
    "userAssignedIdentities": {
        "<identity-resource-id>": {}
    }
}

resources ARM şablonunuzun bölümü aşağıdaki gibi görünmelidir:

"resources": [
    {
        "type": " Microsoft.DocumentDB/databaseAccounts",
        "identity": {
            "type": "UserAssigned",
            "userAssignedIdentities": {
                "<identity-resource-id>": {}
            }
        },
        // ...
    },
    // ...
]

Azure Cosmos DB hesabınız oluşturulduktan veya güncelleştirildikten sonra aşağıdaki özelliği gösterir:

"identity": {
    "type": "UserAssigned",
    "tenantId": "<azure-ad-tenant-id>",
    "principalId": "<azure-ad-principal-id>"
}

Azure CLI'yı kullanma

Yeni bir Azure Cosmos DB hesabı oluştururken kullanıcı tarafından atanan bir kimliği etkinleştirmek için seçeneğini ekleyin --assign-identity ve atamak istediğiniz kimliğin kaynak kimliğini geçirin:

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

az cosmosdb create \
    -n $accountName \
    -g $resourceGroupName \
    --locations regionName='West US 2' failoverPriority=0 isZoneRedundant=False \
    --assign-identity <identity-resource-id>

Şu komutu kullanarak az cosmosdb identity assign mevcut bir hesaba kullanıcı tarafından atanan bir kimlik de ekleyebilirsiniz:

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

az cosmosdb identity assign \
    -n $accountName \
    -g $resourceGroupName
    --identities <identity-resource-id>

Azure Cosmos DB hesabınız oluşturulduktan veya güncelleştirildikten sonra, komutuyla az cosmosdb identity show atanan kimliği getirebilirsiniz:

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

az cosmosdb identity show \
    -n $accountName \
    -g $resourceGroupName
{
    "type": "UserAssigned",
    "tenantId": "<azure-ad-tenant-id>",
    "principalId": "<azure-ad-principal-id>"
}

Sistem tarafından atanan veya kullanıcı tarafından atanan kimliği kaldırma

Azure Resource Manager (ARM) şablonu kullanma

Önemli

Yönetilen kimliklerle çalışırken bir veya daha yüksek bir apiVersion değer kullandığınızdan 2021-03-15 emin olun.

Azure Cosmos DB hesabınızdan sistem tarafından atanan bir kimliği kaldırmak için özelliğini Noneolarak ayarlayın:typeidentity

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

Azure CLI'yı kullanma

Azure Cosmos DB hesabınızdan tüm yönetilen kimlikleri kaldırmak için komutunu az cosmosdb identity remove kullanın:

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

az cosmosdb identity remove \
    -n $accountName \
    -g $resourceGroupName

Sonraki adımlar