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

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

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

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

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

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

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

إدخال قائمة الهوية

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

تمكين الهوية التي تم تحديدها من قبل النظام

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

استرداد معرف الكائن للهوية المُعينة من قبل النظام

استخدام قالب 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 من القائمة اليمنى.

إدخال قائمة الهوية

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

تمكين الهوية المُعينة من قبل المستخدم

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

تحديد جميع الهويات لتعيينها

استخدام قالب 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

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