کتاب Policy as Code: Improving Cloud Native Security (خط مشی به عنوان کد: بهبود امنیت بومی ابر) نوشته جیمی ری، مدافع توسعهدهنده در تیم خدمات وب آمازون Kubernetes، یک رویکرد عملی برای ادغام راهحلهای PaC در سیستمهای شما، با نمونههای دنیای واقعی فراوان و راهنماییهای عملی مهم ارائه میدهد.
در ادامه مقدمهای از کتاب Policy as Code را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Policy as Code:
در سال ۲۰۱۶، بهعنوان بخشی از یک تلاش بزرگ برای مهاجرت به ابر، وظیفه نوشتن کنترلهای محاسبات ابری به من محول شد. این کنترلها بر اساس استانداردهایی که توسط سازمان ما پذیرفته و ایجاد شده بود، بنا شده بودند و از تغییرات ناخواسته و بالقوه خطرناک در محیطهای ابری ما جلوگیری میکردند.
نوشتن کنترلها را با آنچه فکر میکردم بهترین ابزار در جعبه ابزارم است، یعنی جاوا، شروع کردم. من یک متخصص موضوعی جاوا (اسامای) بودم و ارائهدهنده خدمات ابری (CSP) یک کیت توسعه نرمافزار جاوا (SDK) بالغ ارائه میداد.
اولین و به قوتي آخرين کنترلی که با جاوا نوشتم، رمزگذاری دادههای ساکن روی فضای ذخیرهسازی اشیاء را الزامآور میکرد. من انواع خاصی از کنترلها را در محاسبات ابری در نظر میگیرم که برای محاسبات ایمن اساسی هستند و رمزگذاری دادههای ساکن و دادههای در حال انتقال در راس فهرست من قرار دارند.
به سرعت متوجه شدم که ساخت و اجرای برنامهها یا ماژولهای جداگانه برای پیادهسازی کنترلها برای مجموعه عظیمی از خدمات محاسبات ابری و ویژگیهای مربوطه آنها، قابلمقیاس یا به راحتی قابل پشتیبانی نیست.
نوشتن کد برای استفاده از SDK سطح بسیار پایینی داشت. خیلی کند پیش میرفتم و به اشتراک گذاشتن رویکردم به روشی که پذیرش گسترده را تسهیل کند، برایم چالشبرانگیز بود.
متخصصین موضوعی استانداردها و کنترلها، برنامهنویس جاوا نبودند و نمیتوانستم انتظار داشته باشم که آنها فقط برای ساخت کنترلهای جدید یا حتی پشتیبانی از کنترلهای ساختهشده قبلی، جاوا را یاد بگیرند.
به “خطمشی به عنوان کد” نیاز داشتم
به راهحلی انتزاعیتر نیاز داشتم – شاید مبتنی بر یک زبان خاص حوزه (DSL) – که واژگان مشترکی را ارائه میداد که برای افرادی که کنترلهای محاسبات ابری را مشخص میکنند، آشناتر بود.
بدون در نظر گرفتن پیادهسازی زمینهای، کاربران تعریفکننده کنترلها باید متخصص کنترلهای محاسبات ابری باشند، نه فناوری مورد استفاده برای پیادهسازی کنترلها. راهحلی که انتخاب کردم Cloud Custodian (c7n) بود.
C7n توسط یکی از همکاران من توسعه یافته است و با گذشت زمان، توسط کاربران و ارائهدهندگان محاسبات ابری بهطور گسترده پذیرفته شده است. با c7n موتورهای قوانین را در محیطهای ابری خود مستقر کردیم و خطمشیها را با استفاده از یک DSL کنترلپسند YAML نوشتیم. علاوه بر این، DSL به هیچ دانش خاصی از کد پایتون زمینهای که برای ساخت c7n استفاده میشد، نیاز نداشت. C7n اولین ابزاری بود که از «خطمشی به عنوان کد» (PaC) استفاده کردم.
توجه:
به عنوان یک نقطه مرجع، خطمشی به عنوان کد (PaC) که محوریت کتاب Policy as Code است، به استفاده از ابزارهای کد برای مدیریت و اعمال قوانین و شرایط اشاره دارد. موتورهای خطمشی برنامههایی هستند که ابزارهای خطمشی را برای اعمال تصمیمات خطمشی تفسیر میکنند.
قوانین و شرایط تعریف شده در ابزارهای خطمشی به ما کمک میکنند استانداردها و خطمشیهایی را که ایجاد یا اتخاذ کردهایم، اجرا کنیم. این پیادهسازیها که به عنوان کنترل شناخته میشوند، تصمیمات امنیتی، انطباقپذیری، حاکمیت و بهترین شیوهها را اعمال میکنند که برای جلوگیری و واکنش به تغییرات ناخواسته در سیستمهایی که پشتیبانی و استفاده میکنیم، طراحی شدهاند.
بر اساس آن تجربه آموختم که امنیت، انطباقپذیری و حاکمیت نیازی به کند کردن پیشرفت ندارند. ما خطمشیهایی نوشتیم که به عنوان مرزهایی عمل میکردند که مهندسان ابری ما در آن چارچوب کار میکردند.
این مرزها آنها را متوقف نمیکرد؛ علاوه بر این، مهندسان ما کنترلهایی را که باید رعایت میکردند، یاد گرفتند و ما تغییرات ناخواسته در محیطهای ابری خود را کاهش دادیم. ما خطمشیهای c7n را مانند سایر ابزارهای کد، با استفاده از ابزارهای ادغام مداوم (CI) و تحویل مداوم (CD) برای بهروز نگه داشتن خطمشیها و محیطهای ابری خود مدیریت کردیم.
راهحلهای PaC به کاربران اجازه میدهند تا خطمشیهایی برای اعمال رفتارها بنویسند. این رفتارها در کنترلهای امنیتی، انطباقپذیری و حاکمیت و همچنین بهترین شیوهها محدود میشوند. PaC با خطمشیهای مناسب میتواند رفتارهای غیرقابل تعیین در ابزارها و سیستمهای شما را کاهش دهد یا حتی از بین ببرد. و وقتی صحبت از ایمنسازی سیستمها میشود، عموماً تعداد کمتر غافلگیریها به عنوان یک مزیت در نظر گرفته میشود.
چه کسانی باید کتاب Policy as Code را بخوانند؟
کتاب Policy as Code برای متخصصان DevOps، اپراتورهای خوشه Kubernetes، مهندسان امنیت و هر کسی که مسئولیت اطمینان از عملیات امن در محیطهای ابری و همه چیز به عنوان کد را بر عهده دارد، مناسب است.
در کتاب Policy as Code، مفاهیم و موارد استفاده PaC را معرفی میکنم و الگوها و راهحلهایی را برای کمک به شما در استفاده موفق از PaC برای نیازهای امنیتی، انطباقپذیری و حاکمیت به شما نشان میدهم.
فکر میکنم این کتاب میتواند به عنوان مرجعی برای کسانی که نیاز به درک PaC و انتخاب راهحل مناسب برای موارد استفاده خود دارند، عمل کند. همچنین میتوانید از این کتاب برای کشف تکنیکها و الگوهایی که میتوانید بلافاصله اعمال کنید، استفاده نمایید. فکر میکنم برخی از شما این کتاب را دوباره میخوانید تا درک عمیقتری از جنبههای مختلف PaC به دست آورید.
در کتاب Policy as Code، مفهوم PaC و راهحلهای PaC را پوشش میدهم که عمدتاً مستقل از فروشنده و بدون وابستگی به ارائهدهنده خدمات ابری (CSP) هستند. در پایان این کتاب، شما باید تئوری و قابلیتهای PaC و همچنین موارد استفاده، الگوها و بهترین شیوهها برای کنترلهای امنیتی، انطباقپذیری و حاکمیت را بهتر درک کنید.
در فصل ۱ کتاب Policy as Code، فرآیندی را معرفی میکنم که میتوانید برای انتخاب راهحل PaC مناسب برای نیازها و قابلیتهای خود استفاده کنید. همانطور که این کتاب را میخوانید، برای درک بهتر هر راهحل و تناسب بالقوه آن با نیازهای خود، به این فرآیند رجوع کنید.
سرفصلهای کتاب Policy as Code:
- Preface
- 1. Policy as Code: A Gentle Introduction
- 2. Open Policy Agent
- 3. Policy as Code and Access Control
- 4. Policy as Code and Kubernetes
- 5. Open Policy Agent and Kubernetes
- 6. Mag Tape and Kubernetes
- 7. OPA/Gatekeeper and Kubernetes
- 8. Kyverno and Kubernetes
- 9. jsPolicy and Kubernetes
- 10. Cloud Custodian and Kubernetes
- 11. PaC and Infrastructure as Code
- 12. PaC and Terraform IaC
- 13. PaC and Infrastructure as a Service
- 14. PaC and the Software Supply Chain
- 15. Retrospectives and Futures
- Index
- About the Author
جهت دانلود کتاب Policy as Code میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.