Настройка управляемых удостоверений в Microsoft Entra ID для учетной записи Azure Cosmos DB

Область применения: Nosql Mongodb Кассандра Гремлин Таблица

Управляемые удостоверения для ресурсов Azure предоставляют службам Azure автоматически управляемое удостоверение, которое хранится в Microsoft Entra ID. В этой статье показано, как создать управляемое удостоверение для учетных записей Azure Cosmos DB.

Необходимые компоненты

Добавление назначаемого системой удостоверения

Использование портала Azure

Чтобы включить управляемое удостоверение, назначаемое системой, в имеющейся учетной записи Azure Cosmos DB, перейдите к своей учетной записи на портале Azure и в меню слева выберите Удостоверение.

The Identity menu entry

В разделе Назначено системой для параметра Состояние установите значение "Вкл." и выберите Сохранить. Вам будет предложено подтвердить создание управляемого удостоверения, назначаемого системой.

Enabling a system-assigned identity

После создания и назначения удостоверения вы можете извлечь его идентификатор объекта (субъекта).

Retrieving the object ID of a system-assigned identity

С помощью шаблона Azure Resource Manager (ARM)

Важно!

При работе с управляемыми удостоверениями обязательно используйте apiVersion версии 2021-03-15 или более поздней.

Чтобы включить удостоверение, назначаемое системой, для новой или существующей учетной записи Azure Cosmos DB, включите следующее свойство в определение ресурса:

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

Раздел resources шаблона ARM должен выглядеть следующим образом:

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

После создания или обновления учетной записи Azure Cosmos DB появится следующее свойство:

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

Использование Azure CLI

Чтобы включить удостоверение, назначаемое системой, при создании новой учетной записи Azure Cosmos DB, добавьте параметр --assign-identity:

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

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

Вы также можете добавить удостоверение, назначаемое системой, для существующей учетной записи с помощью команды az cosmosdb identity assign:

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

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

После создания или обновления учетной записи Azure Cosmos DB можно получить назначаемое удостоверение с помощью команды az cosmosdb identity show:

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

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

Добавление назначаемого пользователем удостоверения

Использование портала Azure

Чтобы включить управляемое удостоверение, назначаемое пользователем, в имеющейся учетной записи Azure Cosmos DB, перейдите к своей учетной записи на портале Azure и в меню слева выберите Удостоверение.

The Identity menu entry

В разделе Назначено пользователем выберите + Добавить.

Enabling a user-assigned identity

Найдите и выберите все удостоверения, которые вы хотите назначить учетной записи Azure Cosmos DB, а затем щелкните Добавить.

Selecting all the identities to assign

С помощью шаблона Azure Resource Manager (ARM)

Важно!

При работе с управляемыми удостоверениями обязательно используйте apiVersion версии 2021-03-15 или более поздней.

Чтобы включить удостоверение, назначаемое пользователем, для новой или имеющейся учетной записи Azure Cosmos DB, включите следующее свойство в определение ресурса:

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

Раздел resources шаблона ARM должен выглядеть следующим образом:

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

После создания или обновления учетной записи Azure Cosmos DB отобразится следующее свойство:

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

Использование Azure CLI

Чтобы включить удостоверение, назначаемое пользователем, при создании учетной записи Azure Cosmos DB, добавьте параметр --assign-identity и передайте идентификатор ресурса удостоверения, которое вы хотите назначить:

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>

Вы также можете добавить удостоверение, назначаемое пользователем, для имеющейся учетной записи с помощью команды az cosmosdb identity assign:

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

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

После создания или обновления учетной записи Azure Cosmos DB можно получить назначаемое удостоверение с помощью команды az cosmosdb identity show:

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

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

Удалите назначаемое системой удостоверение или удостоверение, назначаемое пользователем

С помощью шаблона Azure Resource Manager (ARM)

Важно!

При работе с управляемыми удостоверениями обязательно используйте apiVersion версии 2021-03-15 или более поздней.

Чтобы удалить удостоверение, назначаемое системой, из учетной записи Azure Cosmos DB, задайте для type свойства identity значение None:

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

Использование Azure CLI

Чтобы удалить все управляемые удостоверения из учетной записи Azure Cosmos DB, используйте команду az cosmosdb identity remove:

resourceGroupName='myResourceGroup'
accountName='mycosmosaccount'

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

Следующие шаги