إدارة دور HSM المُدار

إشعار

يدعم Key Vault نوعين من الموارد : خزائن HSMs وHSMs المُدارة. تتناول هذه المقالة موضوع Managed HSM. إذا كنت تريد معرفة كيفية إدارة مخزن، فالرجاء الاطلاع على Manage Key Vault using the Azure CLI.

للحصول على نظرة عامة حول HSM المُدار، راجع What is Managed HSM؟ في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.

توضح لك هذه المقالة كيفية إدارة الأدوار لمستوى بيانات HSM مُدار. للتعرف على نموذج التحكم في الوصول المُدار لـ HSM، راجع Managed HSM access control.

للسماح لأساس أمان (مثل المستخدم أو أساس خدمة أو مجموعة أو هوية مُدارة) بتنفيذ عمليات مستوى بيانات HSM المُدارة، يجب أن يتم تعيين دور يتيح إمكانية تنفيذ تلك العمليات. على سبيل المثال، إذا كنت تريد السماح لتطبيق بتنفيذ عملية توقيع باستخدام مفتاح، فلا بد من تعيين دور يحتوي على "Microsoft.KeyVault/managedHSM/keys/sign/action" كأحد إجراءات البيانات. يمكن تعيين دور في نطاق معين. يدعم HSM المُدار RBAC المحلي نطاقين، HSM-wide ( / أو /keys) ولكل مفتاح (/keys/<keyname>).

للحصول على قائمة بجميع الأدوار المضمنة في HSM المُدار والعمليات المسموح بها، راجع Managed HSM built-in roles.

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

لاستخدام أوامر Azure CLI في هذه المقالة، يجب أن يتوفر لديك العناصر التالية:

Azure Cloud Shell

Azure يستضيف Azure Cloud Shell، بيئة تفاعلية يمكن استخدامها من خلال المستعرض. يمكنك استخدام Bash أو PowerShell مع Cloud Shell للعمل مع خدمات Azure. يمكنك استخدام أوامر Cloud Shell المثبتة مسبقًا لتشغيل التعليمات البرمجية في هذه المقالة دون الحاجة إلى تثبيت أي شيء على البيئة المحلية.

لبدء Azure Cloud Shell:

خيار مثال/ رابط
انقر فوق ⁧⁩جربه⁧⁩ في الزاوية العلوية اليسرى من التعليمة البرمجية أو كتلة الأمر. تحديد ⁧⁩جربه⁧⁩ لا يقوم بنسخ التعليمة البرمجية أو الأمر تلقائيًا إلى Cloud Shell. لقطة شاشة تعرض مثالاً على Try It for Azure Cloud Shell.
انتقل إلى ⁧⁩⁧ https://shell.azure.com⁩⁧⁩، أو حدد زر ⁩تشغيل Cloud Shell لفتح Cloud Shell في المتصفح لديك. زر لتشغيل Azure Cloud Shell.
حدد زر Cloud Shell على شريط القوائم في أعلى اليمين في مدخل Microsoft Azure. لقطة شاشة تعرض زر Cloud Shell في مدخل Microsoft Azure

لاستخدام Azure Cloud Shell:

  1. ابدأ تشغيل Cloud Shell.

  2. حدد الزر نسخ على كتلة التعليمات البرمجية (أو كتلة الأوامر) لنسخ التعليمات البرمجية أو الأمر.

  3. ألصق التعليمة البرمجية أو الأمر في جلسة Cloud Shell بتحديد Ctrl+Shift+Vعلى Windows وLunix، أو بتحديد Cmd+Shift+Vعلى macOS.

  4. حدد Enter لتشغيل التعليمات البرمجية أو الأمر.

تسجيل الدخول إلى Azure

لتسجيل الدخول إلى Azure باستخدام CLI يمكنك كتابة ما يلي:

az login

لمزيد من المعلومات حول خيارات تسجيل الدخول عبر واجهة سي إل آي، راجع تسجيل الدخول باستخدام "Azure CLI"

إنشاء تعيين دور جديد

تعيين أدوار للمفاتيح كافة

استخدم الأمر az keyvault role assignment create لتعيين دور مسؤول تشفير HSM المُدار للمستخدم المحدد بواسطة اسم الأساسي للمستخدم user2@contoso.com لجميع المفاتيح (النطاق /keys) في ContosoHSM.

az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto User" --assignee user2@contoso.com  --scope /keys

تعيين دور لمفتاح معين

استخدم الأمر az keyvault role assignment create لتعيين دور مستخدم تشفير HSM المُدار للمستخدم المحدد من خلال الاسم الأساسي للمستخدم user2@contoso.com لمفتاح معين يُسمى myrsakey.

az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto User" --assignee user2@contoso.com  --scope /keys/myrsakey

سرد تعيينات الأدوار الموجودة

استخدم az keyvault role assignment listلسرد تعيينات الأدوار.

كافة تعيينات الأدوار ضمن النطاق / (افتراضي عند عدم تحديد --النطاق) لكافة المستخدمين (افتراضي عند عدم تحديد --المحال إليه)

az keyvault role assignment list --hsm-name ContosoMHSM

تكون كافة تعيينات الأدوار على مستوى HSM لمستخدم معين user1@contoso.com .

az keyvault role assignment list --hsm-name ContosoMHSM --assignee user@contoso.com

إشعار

عندما يكون النطاق / (أو /مفاتيح) يسرد أمر القائمة كافة تعيينات الأدوار في المستوى الأعلى فقط، ولا يظهر تعيينات الأدوار على مستوى المفتاح الفردي.

كافة تعيينات الأدوار لمستخدم معين user2@contoso.comلمفتاح محددmyrsakey.

az keyvault role assignment list --hsm-name ContosoMHSM --assignee user2@contoso.com --scope /keys/myrsakey

تعيين دور محدد لدور Managed HSM Crypto Officer لمستخدم معين user2@contoso.comلمفتاح محدد myrsakey

az keyvault role assignment list --hsm-name ContosoMHSM --assignee user2@contoso.com --scope /keys/myrsakey --role "Managed HSM Crypto Officer"

حذف دور جديد

استخدم الأمر az keyvault role assignment delete لحذف دور مسؤول تشفير HSM المُدار المعين للمستخدم user2@contoso.com للمفتاح myrsakey2.

az keyvault role assignment delete --hsm-name ContosoMHSM --role "Managed HSM Crypto Officer" --assignee user2@contoso.com  --scope /keys/myrsakey2

سرد تعريفات الأدوار المتوفرة كافة

استخدم الأمر az keyvault role definition list لسرد تعريفات الأدوار كافة.

az keyvault role definition list --hsm-name ContosoMHSM

إنشاء تعريف دور جديد

يحتوي HSM المُدار على عدة أدوار مضمنة (محددة مسبقًا) والتي يمكن الاستفادة منها لسيناريوهات الاستخدام الأكثر شيوعًا. يمكنك تعريف دورك الخاص بقائمة من الإجراءات المحددة المسموح للدور بتنفيذها. ثم يمكنك تعيين هذا الدور إلى الأساسيات لمنحها الإذن للإجراءات المحددة.

استخدم الأمر az keyvault role definition create لدور يُسمى My Custom Role باستخدام سلسلة JSON.

az keyvault role definition create --hsm-name ContosoMHSM --role-definition '{
    "roleName": "My Custom Role",
    "description": "The description of the custom rule.",
    "actions": [],
    "notActions": [],
    "dataActions": [
        "Microsoft.KeyVault/managedHsm/keys/read/action"
    ],
    "notDataActions": []
}'

استخدم الأمر az keyvault role definition create لدور من ملف يُسمى my-custom-role-definition.jsonيحتوي على سلسلة JSON لتعريف الدور. انظر المثال أعلاه.

az keyvault role definition create --hsm-name ContosoMHSM --role-definition @my-custom-role-definition.json

إظهار تفاصيل تعريف الدور

استخدم الأمر az keyvault role definition show للاطّلاع على تفاصيل تعريف دور معين باستخدام الاسم (a GUID).

az keyvault role definition show --hsm-name ContosoMHSM --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

تحديث تعريف دور مخصص

استخدم الأمر az keyvault role definition update لتحديث دور يُسمى My Custom Role باستخدام سلسلة JSON.

az keyvault role definition create --hsm-name ContosoMHSM --role-definition '{
            "roleName": "My Custom Role",
            "name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "id": "Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/xxxxxxxx-
        xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "description": "The description of the custom rule.",
            "actions": [],
            "notActions": [],
            "dataActions": [
                "Microsoft.KeyVault/managedHsm/keys/read/action",
                "Microsoft.KeyVault/managedHsm/keys/write/action",
                "Microsoft.KeyVault/managedHsm/keys/backup/action",
                "Microsoft.KeyVault/managedHsm/keys/create"
            ],
            "notDataActions": []
        }'

حذف تعريف دور مخصص

استخدم الأمر az keyvault role definition delete للاطّلاع على تفاصيل تعريف دور معين باستخدام الاسم (a GUID).

az keyvault role definition delete --hsm-name ContosoMHSM --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

إشعار

لا يمكن حذف الأدوار المضمنة. عند حذف الأدوار المخصصة، تصبح تعيينات الأدوار كافة التي تستخدم هذا الدور المخصص غير موجودة.

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