
يتيح Boundary إدارة الوصول المستندة إلى الهوية للبنية التحتية الديناميكية.
Boundary هو بروكسي مدرك للهوية يوفر طريقة بسيطة وآمنة للوصول إلى المضيفات والأنظمة الحرجة على شبكتك.
مع Boundary يمكنك:
صُمم Boundary ليكون سهل الفهم، وقابلًا للتوسع بدرجة كبيرة، ومرنًا. يمكنه العمل في السحابات، والبيئات المحلية، والمناطق الآمنة المعزولة، وغير ذلك، ولا يتطلب تثبيت وكيل على كل مضيف طرفي، مما يجعله مناسبًا للوصول إلى الخدمات المُدارة/السحابية وسير العمل القائم على الحاويات بالإضافة إلى أنظمة وخدمات المضيف التقليدية.
لمزيد من المعلومات، راجع "ما هو Boundary؟" على موقع Boundary الإلكتروني.
يتكون Boundary من مكوني خادم:
من المرجح أن يتكون تثبيت Boundary في العالم الحقيقي من وحدة تحكم واحدة أو أكثر مقترنة بعامل واحد أو أكثر. يمكن لملف Boundary الثنائي الواحد أن يعمل في أي من هذين الوضعين أو كليهما.
بالإضافة إلى ذلك، يوفر Boundary عميل سطح مكتب وCLI للمستخدمين النهائيين لطلب وإنشاء جلسات مصرح بها إلى الموارد عبر الشبكة.
Boundary لا يتطلب تثبيت برامج على مضيفاتك وخدماتك.
لدى Boundary تبعيتان خارجيتان:
تحتوي قاعدة البيانات على معلومات إعدادات Boundary والجلسات. يجب أن تتمكن عقد وحدة التحكم من الوصول إلى قاعدة البيانات.
القيم السرية (مثل بيانات الاعتماد) مشفرة في قاعدة البيانات. حاليًا، تُدعم PostgreSQL كقاعدة بيانات وقد تم اختبارها مع Postgres 12 وما فوق.
يستخدم Boundary الامتدادات الشائعة فقط، وكل من النسخ المستضافة والنسخ المُدارة ذاتيًا مدعومة. في معظم الحالات، كل ما تحتاجه هو نقطة نهاية قاعدة البيانات وبيانات الاعتماد المناسبة.
يستخدم Boundary مفاتيح KMS لأغراض مختلفة، مثل حماية الأسرار، ومصادقة العمال، واستعادة البيانات، وتشفير القيم في إعدادات Boundary، والمزيد. يستخدم Boundary اشتقاق المفاتيح على نطاق واسع لتجنب انتشار هذه المفاتيح عالية القيمة.
يمكنك استخدام أي KMS سحابي أو محرك أسرار النقل (Transit Secrets Engine) من Vault لتلبية متطلب KMS.
يتطلب تشغيل Boundary في سياق أكثر ديمومة بضع خطوات إضافية، مثل كتابة بعض ملفات الإعدادات البسيطة لإخبار العقد بكيفية الوصول إلى قاعدة البيانات وKMS الخاصة بها. الخطوات أدناه، بالإضافة إلى المعلومات الإضافية اللازمة للتثبيتات الدائمة، موضحة بالتفصيل في دليل التثبيت.
⚠️ لا تستخدم فرع
mainإلا في حالات التطوير أو الاختبار. قدّم Boundary 0.10 فروع إصدارات، والتي ينبغي أن يكون تتبعها آمنًا، ومع ذلك، قد يُعاد ترقيم الترحيلات فيmainإذا لزم الأمر. لن يتمكن فريق Boundary من تقديم المساعدة إذا أدى تشغيلmainعلى المدى الطويل إلى كسر في الترحيلات أو أخطاء أخرى.
نزّل أحدث إصدار من ملف الخادم الثنائي وعميل سطح المكتب المناسب (أو العملاء المناسبين) من صفحة التنزيلات
يحتوي Boundary على وضع dev يمكنك استخدامه للاختبار. في وضع dev، يمكنك بدء تشغيل وحدة تحكم وعامل معًا بأمر واحد، وتتمتع بالخصائص التالية:
إذا استوفيت المتطلبات المحلية التالية، يمكنك البدء مع Boundary بسرعة:
ما عليك سوى تشغيل:
make install
سيقوم هذا ببناء Boundary. (في المرة الأولى التي يُشغَّل فيها، سيتم جلب أصول الواجهة وتجميعها؛ الأمر الذي سيستغرق بضع دقائق إضافية.) بمجرد اكتمال ذلك، شغّل Boundary في وضع dev:
$GOPATH/bin/boundary dev
يرجى ملاحظة أن التطوير قد يتطلب أدوات أخرى؛ لتثبيت مجموعة الأدوات بالإصدارات التي يستخدمها فريق Boundary، شغّل:
make tools
بدون القيام بذلك، قد تواجه أخطاء أثناء تشغيل make install. من المهم أيضًا ملاحظة أن استخدام make tools سيُثبّت أدوات متنوعة مستخدمة في تطوير Boundary إلى دليل Go الثنائي العادي؛ وقد يؤدي هذا إلى استبدال الأدوات المثبتة بالفعل على النظام أو التفوق عليها.
شغّل ملف الخادم الثنائي باستخدام:
boundary dev
سيبدأ هذا خدمة وحدة التحكم التي تستمع على http://127.0.0.1:9200 لطلبات API الواردة، وخدمة Worker التي تستمع على http://127.0.0.1:9202 لطلبات الجلسات الواردة. سيقوم أيضًا بإنشاء موارد افتراضية متنوعة وعرض معلومات مفيدة مختلفة، مثل اسم تسجيل الدخول وكلمة المرور التي يمكن استخدامها للمصادقة.
لإجراء اختبار بسيط لـ Boundary في وضع dev، لا تحتاج عمومًا إلى إعداد أي موارد على الإطلاق! ولكن من المفيد أن تفهم ما فعله وضع dev لك حتى تتمكن بعد ذلك من اتخاذ خطوات إضافية. افتراضيًا، سينشئ وضع dev ما يلي:
global للمصادقة الأولية، ويحتوي على أسلوب مصادقة من نوع كلمة المرور، إلى جانب حساب لتسجيل الدخول.global، ونطاق مشروع داخل المؤسسة.127.0.0.1)22 (مثل SSH)يمكنك الدخول إلى واجهة ويب Boundary أو استخدام API الخاصة به لتغيير هذه القيم الافتراضية، على سبيل المثال إذا كنت تريد الاتصال بمضيف مختلف أو تحتاج إلى تعديل المنفذ الذي تتصل عليه.
بعد ذلك، لنقم فعليًا بإجراء اتصال بخدمة SSH المحلية لديك عبر Boundary:
dev الافتراضية، سيكون ذلك عبر boundary authenticate password -auth-method-id ampw_1234567890 -login-name admin -password password. (لاحظ أنه إذا لم تضمّن علامة password، فسيُطلب منك إدخالها.)boundary connect ssh -target-id ttcp_1234567890. إذا أردت ضبط اسم المستخدم، مرر -username <name> إلى الأمر.استكشف إمكانيات إعداد الهدف لتجربة تقييد (أو زيادة) عدد الاتصالات لكل جلسة أو تعيين حد أقصى للوقت؛ جرّب إلغاء جلسة نشطة من صفحة الجلسات أو عبر boundary sessions، وأنشئ أوامرك الخاصة باستخدام boundary connect -exec، وهكذا.
هذا المثال طريقة بسيطة للبدء ولكنه يتجاهل عدة خطوات أساسية يمكن اتخاذها في سياق الإنتاج:
يرجى الملاحظة: نأخذ أمان Boundary وثقة مستخدمينا على محمل الجد. إذا كنت تعتقد أنك وجدت مشكلة أمنية في Boundary، يرجى الإفصاح عنها بمسؤولية عن طريق التواصل معنا على [email protected].
شكرًا لاهتمامك بالمساهمة! يرجى الرجوع إلى CONTRIBUTING.md للحصول على الإرشادات.