تكوين الهويات المدارة باستخدام معرف Microsoft Entra لحساب Azure Cosmos DB الخاص بك

ينطبق على: NoSQL MongoDB كاساندرا العفريت الجدول

توفر الهويات المدارة لموارد Azure خدمات Azure بهوية مدارة تلقائيا في Microsoft Entra ID. توضح هذه المقالة كيفية إنشاء هوية مُدارة لحسابات Azure Cosmos DB.

المتطلبات الأساسية

إضافة يعيِّنها النظام

استخدام مدخل Microsoft Azure

لتمكين الهوية المُدارة المعينة من قبل النظام على حساب Azure Cosmos DB موجود، انتقل إلى حسابك في مدخل Azure وحدد Identity من القائمة اليمنى.

The Identity menu entry

ضمن القسم System assigned، اعكس Status إلى تشغيل وحدد Save. سيطلب منك تأكيد إنشاء الهوية المُدارة المُعينة من قبل النظام.

Enabling a system-assigned identity

بمجرد إنشاء الهوية وتعيينها، يمكنك استرداد معرف الكائن (الأساسي).

Retrieving the object ID of a system-assigned identity

استخدام قالب Azure Resource Manager

هام

تأكد من استخدام apiVersion أو 2021-03-15 أعلى عند العمل باستخدام الهويات المُدارة.

لتمكين الهوية المعينة من قبل النظام على حساب Azure Cosmos DB الجديد أو الحالي، قم بتضمين الخاصية التالية في تعريف المورد:

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

يجب أن يبدو قسم resources في نموذج Azure Resource Manager كما يلي:

"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>"
}

إضافة هوية يُعينها المستخدم

استخدام مدخل Microsoft Azure

لتمكين الهوية المُدارة المعينة من قبل النظام على حساب Azure Cosmos DB موجود، انتقل إلى حسابك في مدخل Azure وحدد Identity من القائمة اليمنى.

The Identity menu entry

ضمن القسم user assigned، حدد + Add.

Enabling a user-assigned identity

ابحث عن جميع الهويات التي ترغب في تعيينها لحساب Azure Cosmos DB وحددها، ثم حدد Add.

Selecting all the identities to assign

استخدام قالب Azure Resource Manager

هام

تأكد من استخدام apiVersion أو 2021-03-15 أعلى عند العمل باستخدام الهويات المُدارة.

لتمكين الهوية المُعينة من قبل النظام على حساب Azure Cosmos DB الجديد أو الحالي، قم بتضمين الخاصية التالية في تعريف المورد:

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

يجب أن يبدو قسم resources في نموذج Azure Resource Manager كما يلي:

"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

هام

تأكد من استخدام 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

الخطوات التالية