إدارة دور 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 في هذه المقالة، يجب أن يتوفر لديك العناصر التالية:
- اشتراك في منصة Microsoft Azure. إذا لم يكن لديك واحداً، يُمكنك الاشتراك في الإصدار التجريبي المجاني.
- الإصدار 2.25.0 من Azure CLI أو أحدث. قم بتشغيل
az --version
للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI. - إدارة HSM في اشتراكك. راجع Quickstart: Provision and activate a managed HSM using Azure CLI لتوفير HSM المُدار وتنشيطه.
Azure Cloud Shell
Azure يستضيف Azure Cloud Shell، بيئة تفاعلية يمكن استخدامها من خلال المستعرض. يمكنك استخدام Bash أو PowerShell مع Cloud Shell للعمل مع خدمات Azure. يمكنك استخدام أوامر Cloud Shell المثبتة مسبقًا لتشغيل التعليمات البرمجية في هذه المقالة دون الحاجة إلى تثبيت أي شيء على البيئة المحلية.
لبدء Azure Cloud Shell:
خيار | مثال/ رابط |
---|---|
انقر فوق جربه في الزاوية العلوية اليسرى من التعليمة البرمجية أو كتلة الأمر. تحديد جربه لا يقوم بنسخ التعليمة البرمجية أو الأمر تلقائيًا إلى Cloud Shell. | ![]() |
انتقل إلى https://shell.azure.com، أو حدد زر تشغيل Cloud Shell لفتح Cloud Shell في المتصفح لديك. | ![]() |
حدد زر Cloud Shell على شريط القوائم في أعلى اليمين في مدخل Microsoft Azure. | ![]() |
لاستخدام Azure Cloud Shell:
ابدأ تشغيل Cloud Shell.
حدد الزر نسخ على كتلة التعليمات البرمجية (أو كتلة الأوامر) لنسخ التعليمات البرمجية أو الأمر.
ألصق التعليمة البرمجية أو الأمر في جلسة Cloud Shell بتحديد Ctrl+Shift+Vعلى Windows وLunix، أو بتحديد Cmd+Shift+Vعلى macOS.
حدد 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
إشعار
لا يمكن حذف الأدوار المضمنة. عند حذف الأدوار المخصصة، تصبح تعيينات الأدوار كافة التي تستخدم هذا الدور المخصص غير موجودة.
الخطوات التالية
- راجع نظرة عامة على Azure role-based access control (Azure RBAC).
- راجع البرنامج التعليمي حول Managed HSM role management
- تعرّف على المزيد حول Managed HSM access control model
- شاهد جميع built-in roles for Managed HSM local RBAC