☸️ نحوه کنترل کاربران Kubernetes – تیم امنیت اطلاعات

مدیریت یک خوشه Kubernetes با یک کاربر ساده بسیار ساده است.

وقتی فراتر از یک کاربر تنها می روید ، باید شروع به استفاده از کنترل دسترسی مبتنی بر نقش (RBAC) کنید.

در گذشته ، من چندین بار به این موضوع پرداختم. چگونگی ایجاد یک جعبه ماسه ای Kubernetes سفارشی در Docker Enterprise

اما هنگامی که بیش از یک زن و شوهر از کاربران و / یا تیم ها و چندین نام نام برای آنها فراتر بروید ، ردیابی سریع چه کسی می تواند انجام دهد و کجاست دشوار خواهد شد.

و با گذشت زمان ، و بیشتر و بیشتر l dei در تنظیم RBAC خود شرکت کنید ، می تواند حتی گیج کننده تر شود.

شما باید تعریف منبع RBAC خود را در کنترل منبع داشته باشید ، اما خواندن آنها آسان نیست و تجسم آنها دشوار است.

افزونه منبع باز را که می تواند داشته باشد سعی کنید. kubectl از Aqua Security.

این امکان را به شما می دهد که نشان دهید چه کسی (افراد) می توانند چه کاری (اقدامات) ، چه (منابع) و چه مکانی (نام های مکان) را انجام دهند.

مدیر افزونه Krew

را برای این افزونه نصب کنید. چه کسی می تواند برای kubectl به مدیر افزونه krew نیاز داشته باشد.

اگر شما Krew را نصب نکرده اید ، دستورالعمل ها و نصب آن در مخزن GitHub آن یافت می شود ، https://github.com/kubernetes-sigs/krew/.ociation19659012-03 برای اطمینان از نصب صحیح آن ، می توانید لیستی از افزونه های موجود را از kubectl دریافت کنید.

 $ لیست افزونه kubectl
افزونه های سازگار با کوبکتل در دسترس هستند:

/home/ken.rider/.krew/bin/kubectl-krewociation1965901449 افزونه Who-Can را نصب کنید 

اگر یک مدیر افزونه krew برای kubectl دارید ، نصب افزونه Who-Can بسیار آسان است.

 $ kubectl krew install who-can 

پیکربندی RBAC برای خوشه ما

من یک خوشه Kubernetes دارم که با استفاده از Docker Enterprise در آزور ساختم.

3 مکان نام (برای پیش فرض) برای توسعه ، آزمایش و تولید وجود ندارد.

من همچنین تیم های توسعه ، آزمایش ، بهره برداری و امنیتی دارم که من به عنوان سرپرست خوشه ایجاد کردم.

من مجموعه ای از RoleBindings را برای هر یک تعریف کردم. از آنها.

 $ kubectl اعمال -f توسعه namespace.yaml
فضای نام / توسعه ایجاد شده است
rolebinding.rbac.authorization.k8s.io/dev-team:development-edit ایجاد شد
rolebinding.rbac.authorization.k8s.io/test-team:development-view ایجاد شد
rolebinding.rbac.authorization.k8s.io/ops-team:development-admin ایجاد شد
rolebinding.rbac.authorization.k8s.io/sec-team:development-view ایجاد شد
$ kubectl اعمال شود -f test-namespace.yaml
فضای نام / آزمون ایجاد شده است
rolebinding.rbac.authorization.k8s.io/dev-team:test-view ایجاد شد
rolebinding.rbac.authorization.k8s.io/test-team:test-edit ایجاد شد
rolebinding.rbac.authorization.k8s.io/ops-team:test-admin ایجاد شد
rolebinding.rbac.authorization.k8s.io/sec-team:test-view ایجاد شد
$ kubectl اعمال -f تولید-namespace.yaml
فضای نام / تولید ایجاد شده است
rolebinding.rbac.authorization.k8s.io/dev-team:production-view ایجاد شد
rolebinding.rbac.authorization.k8s.io/test-team:production-view ایجاد شد
rolebinding.rbac.authorization.k8s.io/ops-team:production-admin ایجاد شد
rolebinding.rbac.authorization.k8s.io/sec-team:production-view ایجاد شده 

با استفاده از who-can

پس از نصب كس-كات ، می بینید كه كاربرد آن بسیار ساده خواهد بود. [19659013] $ kubectl kubectl که-می توانید فعل (نوع | نوع / نام | NONRESOURCEURL) [flags]

دسته ای از اقداماتی که ممکن است مورد علاقه شما، این مطلع لیست ساعت مچی ایجاد بروزرسانی وصله حذف .