مرحله 1 – شروع به کار
پیکربندی خرک
اسکریپت اول ظروف کنسول و Vault را راه اندازی می کند ./ start-vault.sh
خرک بسته بندی شده در یک ظرف است ، این بدان معنی است که شما نمی توانید بخوانید / داده ها را بنویسید.
از اسکریپت یاور برای استقرار خرک استفاده کنید ./ unseal-vault.sh.
خطا: چنین ظرفی وجود ندارد: vault-dev
اگر این خطا را دیدید ، فقط به این دلیل که که Vault هنوز در مرحله اولیه است.
مرحله نهایی دریافت یک نشانه دسترسی است؛
صادرات VAULT_TOKEN = $ (grep 'Root Token Token:' keys.txt | awk '{چاپ بستر (NF ، 1 ، طول (NF) -1)) ')
پس از ورود به سیستم ، می توانیم ذخیره و ذخیره اطلاعات را شروع کنید.
vault auth -address = $ {VAULT_ADDR} $ {VAULT_TOKEN}
مرحله 2 – ایجاد داده
پس از راه اندازی Vault ، از رابط خط فرمان برای ذخیره اسرار استفاده کنید
Vault می تواند هر گونه اطلاعات حساس مانند گذرواژها ، گواهی ها یا کلیدها را ذخیره کند.
ذخیره داده ها
دستور زیر را برای نوشتن داده به خرک اجرا کنید.
Vault پیش از ذخیره کردن ، رمزگذاری داده ها را انجام می دهد.
نام اصلی کلمه db است ، که ما آن را در مجموعه برنامه 1 ذخیره می کنیم.
اسرار گروه بندی توسط
همچنین به شما امکان می دهد محدودیت هایی را اضافه کنید تا فقط برخی از کاربران به گروه های خاصی دسترسی داشته باشند.
vault write -address = $ VAULT_ADDR}
secret / app-1 / db-password = mysecretpassword
توجه: اگر از CLI برای جمع آوری Vault استفاده می کنید ، اطمینان حاصل کنید که دستورات را در پرونده تاریخ Bash خود ذخیره نمی کنید.
می توانید داده ها را به روش های مختلفی در Vault بنویسید.
به عنوان مثال ، از طریق طاق پرونده مخفی / رمزعبور را بنویسید = @ data.tx
مرحله 3 – پیکربندی درایور حجم Docker
اکنون که داده ها ذخیره شده اند ، ما به ظرف Docker خود نیاز داریم تا بتواند به اسرار را بخواند و به آن دسترسی پیدا کند.
ما این کار را با استفاده از درایور حجم شخص ثالث Docker به نام LibSecret انجام می دهیم.
درایورهای جلد افزونه هایی هستند که طراحی شده اند در حال گسترش Docker.
Docker هنگام دسترسی به سیستم پرونده با این افزونه تماس خواهد گرفت.
راه اندازی افزونه
افزونه باید به عنوان کار پس زمینه در میزبان Docker شما کار کند.
Nohup – این یک برنامه Ubuntu است که به شما امکان می دهد تا کارها را در پس زمینه انجام دهید و پس از راه اندازی مجدد سیستم به پایان می رسد.
برای ذخیره سازی فرآیندها ، شما باید از SystemD استفاده کنید.
هنگام راه اندازی LibSecret ، آدرس Vault و دسترسی به نشانه ها را تعیین می کنیم.
در حال حاضر همه ظروف خواهند بود. از همان نشانه دسترسی استفاده کنید.
nohup docker-volume-libsecret
- addr $ VAULT_ADDR
- طاق باطن
- فروشگاه-opt token = $ VAULT_TOKEN libsecretlogs &
پرتاب ظروف
برای استفاده از ظروف درایور حجم ، لازم است وقتی ظرف با استفاده از گزینه –volume-driver شروع می شود.
با استفاده از پارامتر Volume ، ما مجموعه Vault را در پوشه سیستم فایل نقشه می کنیم.
در این حالت ، ما راز / برنامه-1 را در Vault به پوشه ای به نام / اسرار نقشه می کنیم.
docker run -ti --rm [
- libsecret-driver-driver
-v secret / app-1 /: / secrets
alpine ash
ظرف ما هرگز دسترسی ندارد
همه چیز از طریق درایور حجم مدیریت می شود. [19659043] در مرحله بعد این اسرار را خواهیم خواند.
مرحله 4 – اسرار را مشاهده کنید
اکنون کانتینر دسترسی به همه کلیدهای موجود در مجموعه برنامه 1 را مطالعه کرده است.
این امکان دسترسی به کلیدها در مجموعه های دیگر نخواهد داشت.
هر کلید در مجموعه ما به عنوان پرونده موجود است.
برای مثال ، برای خواندن مقدار رمزگذاری شده رمز عبور db ، فقط پرونده را می خوانیم.
اسرار گربه / db-password
درایور حجم صدا فقط دسترسی به خواندن را فراهم می کند.
اگر می خواهیم کلیدهای جدید ایجاد کنیم یا مقدار را تغییر دهیم er ، این منجر به خطایی خواهد شد.
پژواک "آیا این ذخیره می شود؟" > secrets / db-password
کاربران همچنین نمی توانند تمام محتوای Vault را فهرست کنند ، زیرا به گونه ای طراحی شده است که اطمینان می دهد که مهاجمان نمی توانند به راحتی تمام محتوای موجود را مشاهده کنند.
ls / secret