Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
policy_sentry — يُولّد سياسات IAM في AWS بأقل صلاحية بناءً على أسماء موارد ARN ومستويات الوصول، مما يُؤتمت إنشاء السياسات الآمنة للبنية التحتية السحابية. | Kitploit
أدوات/GitHubGitHub/salesforce/policy_sentry
أمن البنية التحتية السحابيةتدقيق التكوينأمن السحابةDevSecOpsإدارة الهوية والوصول (IAM)
GitHubsalesforce/policy_sentry

policy_sentry

يُولّد سياسات IAM في AWS بأقل صلاحية بناءً على أسماء موارد ARN ومستويات الوصول، مما يُؤتمت إنشاء السياسات الآمنة للبنية التحتية السحابية.

عرض المستودع
2.2k15712منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
الموقع الإلكتروني
مشاركة

Policy Sentry

مولّد سياسات IAM بأقل صلاحية ممكنة.

continuous-integration Documentation Status Join the chat at https://gitter.im/salesforce/policy_sentry Twitter PyPI Python Version Downloads

  • البرنامج التعليمي
    • التثبيت
      • مديرو الحزم
      • إكمال الصدفة
    • الخطوة 1: إنشاء القالب
    • الخطوة 2: نسخ/لصق ARNs
    • الخطوة 3: أمر كتابة السياسة
  • أوراق الغش
    • ورقة غش كتابة السياسة
    • ورقة غش استعلام قاعدة بيانات IAM
    • التهيئة المحلية (اختياري)
  • استخدامات أخرى
    • الأوامر
    • استخدام مكتبة بايثون
    • Docker
    • Terraform
  • المراجع

التوثيق

للحصول على الشروحات والوثائق الكاملة، يرجى زيارة المشروع على ReadTheDocs.

اطّلع على منشور مدونة Salesforce Engineering حول Policy Sentry.

نظرة عامة

إن كتابة سياسات IAM مع مراعاة الأمان يدويًا قد تكون مملة للغاية وغير فعّالة. لقد عانى العديد من مطوري البنية التحتية كرمز (Infrastructure as Code) من شيء كهذا:

  • أنت مصمم على بذل قصارى جهدك لمنح المستخدمين والأدوار أقل قدر من الصلاحيات اللازمة لأداء مهامك، لكنك تقضي وقتًا طويلاً في التنقيب في وثائق AWS IAM حول [الإجراءات والموارد ومفاتيح الشروط لخدمات AWS][1].
  • يشجعك قائد فريقك على بناء الأمان في سياسات IAM من أجل جودة المنتج، ولكن في النهاية تُصاب بالإحباط بسبب المواعيد النهائية للمشروع.
  • ليس لديك شخص أمني مدمج في فريقك يمكنه كتابة سياسات IAM لك، ولا توجد أداة آلية تستطيع أن تشعر تلقائيًا باستدعاءات واجهة برمجة تطبيقات AWS التي تؤديها ثم تكتبها لك مع قيود ARN للموارد.
  • بعد أن تحلم بهذا المستوى من الأتمتة، تدرك أن كتابة سياسات IAM بأقل صلاحية، وكأنها عمل خيري، ستعرض قدرتك على إنهاء الكود في الوقت المحدد للخطر.
  • تستخدم السياسات المدارة (Managed Policies) (لأنه لماذا لا؟) أو تتخمّن أسماء استدعاءات واجهة برمجة التطبيقات وتستخدم أحرف البدل بدلاً من ذلك لتتمكن من المضي قدمًا في حياتك.

مثل هذه العملية ليست مثالية للأمان ولا لمطوري البنية التحتية كرمز. نحن بحاجة إلى تسهيل كتابة سياسات IAM بشكل آمن وتجريد تعقيد كتابة سياسات IAM بأقل صلاحية. لهذا السبب صنعت هذه الأداة.

يسمح Policy Sentry للمستخدمين بإنشاء سياسات IAM بأقل صلاحية في ثوانٍ، بدلاً من كتابتها يدويًا بشكل ممل. هذه السياسات محدودة النطاق وفقًا لمستويات الوصول والموارد. في حالة حدوث خرق أمني، يساعد ذلك في الحد من نصف قطر الانفجار للبيانات المخترقة من خلال منح مبادئ IAM فقط الوصول إلى ما يحتاجون إليه.

قبل هذه الأداة، قد يستغرق إعداد سياسة IAM مع قيود ARN للموارد ساعات — ولكن الآن يمكن أن يستغرق ثوانٍ. بهذه الطريقة، على المطورين فقط تحديد الموارد التي يحتاجون إلى الوصول إليها، وPolicy Sentry يجرد تعقيد سياسات IAM بعيدًا عن عمليات التطوير الخاصة بهم.

كتابة سياسات آمنة بناءً على قيود الموارد ومستويات الوصول

الميزة الرئيسية لـ Policy Sentry هي أنه يمكنه إنشاء سياسات IAM بناءً على ARNs للموارد ومستويات الوصول. وظيفة CRUD الخاصة بنا تأخذ النهج القائل بأن مطوري IAC لا ينبغي أن يضطروا لفهم تعقيدات AWS IAM - يجب علينا تجريد التعقيد لهم. في الواقع، يجب أن يكون المطورون قادرين على قول...

  • "أحتاج إلى وصول Read/Write/List إلى arn:aws:s3:::example-org-sbx-vmimport"
  • "أحتاج إلى وصول Permissions Management إلى arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret"
  • "أحتاج إلى وصول Tagging إلى arn:aws:ssm:us-east-1:123456789012:parameter/test"

...ويجب أن تقوم أتمتتنا بإنشاء سياسات تتوافق مع مستويات الوصول هذه.

كيف نحقق ذلك؟ حسنًا، يستفيد Policy Sentry من وثائق AWS حول [الإجراءات والموارد ومفاتيح الشروط][1] للبحث عن الإجراءات ومستويات الوصول وأنواع الموارد، ويولّد السياسات وفقًا لـ ARNs ومستويات الوصول. تأمل مقتطف الجدول أدناه:

الإجراءات مستوى الوصول أنواع الموارد
ssm:GetParameter قراءة (Read) parameter
ssm:DescribeParameters قائمة (List) parameter
ssm:PutParameter كتابة (Write) parameter
secretsmanager:PutResourcePolicy إدارة الصلاحيات (Permissions management) secret
secretsmanager:TagResource وسم (Tagging) secret

يجمع Policy Sentry كل هذه الوثائق في قاعدة بيانات واحدة ويستخدم تلك القاعدة لإنشاء سياسات وفقًا للإجراءات والموارد ومستويات الوصول.

البرنامج التعليمي

التثبيت

مديرو الحزم

  • Homebrew
brew tap salesforce/policy_sentry https://github.com/salesforce/policy_sentry
brew install policy_sentry
  • Pip
pip3 install --user policy_sentry

إكمال الصدفة

لتمكين إكمال Bash، ضع هذا في ملف .bashrc الخاص بك:

eval "$(_POLICY_SENTRY_COMPLETE=bash_source policy_sentry)"

لتمكين إكمال ZSH، ضع هذا في ملف .zshrc الخاص بك:

eval "$(_POLICY_SENTRY_COMPLETE=zsh_source policy_sentry)"

الخطوة 1: إنشاء القالب

  • لإنشاء سياسة وفقًا للموارد ومستويات الوصول، ابدأ بـ إنشاء قالب بهذا الأمر حتى تتمكن فقط من ملء الـ ARNs:
policy_sentry create-template --output-file crud.yml --template-type crud
  • سيُنشئ ملفًا مثل هذا:
mode: crud
name: ''
# Specify resource ARNs
read:
- ''
write:
- ''
list:
- ''
tagging:
- ''
permissions-management:
- ''
# Actions that do not support resource constraints
wildcard-only:
  single-actions: # standalone actions
  - ''
  # Service-wide - like 's3' or 'ec2'
  service-read:
  - ''
  service-write:
  - ''
  service-list:
  - ''
  service-tagging:
  - ''
  service-permissions-management:
  - ''
# Skip resource constraint requirements by listing actions here.
skip-resource-constraints:
- ''
# Exclude actions from the output by specifying them here. Accepts wildcards, like kms:Delete*
exclude-actions:
- ''
# If this policy needs to include an AssumeRole action
sts:
  assume-role:
    - ''
  assume-role-with-saml:
    - ''
  assume-role-with-web-identity:
    - ''

الخطوة 2: نسخ/لصق ARNs

  • انسخ/الصق ARNs التي تريد تضمينها في سياستك. يمكنك حذف الأسطر التي لا تستخدمها، أو تركها كما هي.
تنزيل الأداة