PracticU

שם וסיסמה ל-terraform
פרויקט NodeJS

בלי כתוביותעם כתוביות
PracticU › קורס Terraform - DevOps - Azure & AWS › שם וסיסמה ל-terraform פרויקט NodeJS
מילון מושגים:
Terraform - כלי להגדרת תשתית כקוד, שמאפשר ליצור ולנהל משאבי ענן ותשתית בעזרת קובצי תצורה.
Node.js - סביבת ריצה שמאפשרת להריץ קוד JavaScript מחוץ לדפדפן, בעיקר בצד השרת.
AWS - שירותי הענן של אמזון (Amazon Web Services), המספקים שרתים, אחסון, מסדי נתונים ושירותים נוספים לפי שימוש.
IAM - ניהול זהויות והרשאות: מערכת לשליטה במי רשאי לגשת לאילו משאבים, נפוצה בשירותי ענן.
MFA - אימות רב-שלבי: דרישה ליותר מראיה אחת לזהות, למשל סיסמה בתוספת קוד חד-פעמי, לחיזוק האבטחה.
API - ממשק תכנותי שמגדיר כיצד תוכנה אחת פונה לאחרת ומחליפה איתה נתונים ופעולות.
VPC - רשת וירטואלית פרטית ומבודדת בתוך הענן, שבה הלקוח שולט בכתובות, בתת-רשתות ובכללי הגישה.
GitHub - שירות ענן לאחסון מאגרי קוד מבוססי Git, המאפשר שיתוף פעולה, מעקב גרסאות וניהול פרויקטים.

שם וסיסמה ל-terraform פרויקט NodeJS
כדי ש-Terraform יוכל לפעול ב-AWS הוא צריך זהות. בהרצאה יוצרים משתמש ייעודי ב-IAM, מקצים לו מפתחות גישה ומכניסים אותם לקובץ ה-provider כדי ש-terraform plan יצליח.
השלבים העיקריים
1. כניסה לקונסולה: נכנסים ל-AWS Console עם משתמש root ואימייל, ואחרי בדיקת רובוט וסיסמה מזינים קוד MFA מהטלפון, שמתחלף כל 30 שניות. הוא מגן גם אם שם וסיסמה נגנבו.
2. IAM: ב-Identity Management, בלשונית Users, מוחקים משתמש ישן כדי להתחיל מאפס.
3. משתמש חדש: Create user בשם TF (קיצור של Terraform) בלי גישת Console, כי הוא ישמש רק בגישת API, מתוכנה לתוכנה ולא דרך דפדפן.
4. הרשאות: מקצים פוליסה מוכנה של Administrator Access. המרצה מציין שזו לא גישה מומלצת, והמומלץ הוא המינימום הנדרש בלבד.
5. Access key: Create access key, ובוחרים Third party service (הבחירה רק המלצה). מוסיפים תג עם שם הפרויקט, ומקבלים access key ו-secret. אחרי Done אי אפשר לראות את הסיסמה שוב.
6. כמה מפתחות למשתמש אחד: אפשר ליצור מפתח נוסף לפרויקט אחר. אם מפתח נגנב, עושים לו Deactivate והמפתח של הפרויקט הראשון ממשיך לעבוד, בלי לפגוע במשתמש עם כל ההרשאות.
7. הכנסה ל-provider: בדוגמה בצד ימין של התיעוד (Authentication and configuration) מכניסים בהגדרות ה-provider את access_key ו-secret_key.
8. תוצאה: terraform plan מצליח, מזהה את המצב הקיים ומתכנן יצירה של אובייקט אחד מסוג VPC בשם example. לא הותקן אפילו AWS CLI.
שימו לב
- הכנסת המפתחות לקובץ הקוד היא שיטה פחות מומלצת, כי הקובץ יעלה ל-GitHub או יועבר לאחרים. עדיף שהמפתחות יישבו מחוץ לתוכנה, במחשב, והתוכנה תיקח אותם משם. איך עושים את זה, ייראה בהרצאה הבאה.
אחרי ההרצאה אפשר ליצור משתמש API ב-AWS ולחבר אליו את Terraform.
השיעור הבא בקורס: AWS Access Key פרויקט NodeJS

פרקי ההרצאה: שם וסיסמה ל-terraform פרויקט NodeJS

  1. 00:00

    כניסה ל-AWS Console

  2. 00:41

    הגנת MFA בכניסה לענן

  3. 01:22

    מחיקת יוזר ויצירת יוזר TF

  4. 02:00

    הקצאת הרשאות Administrator

  5. 02:35

    יצירת Access key ליוזר

תמלול ההרצאה: שם וסיסמה ל-terraform פרויקט NodeJS

הטקסט המלא של הדקות הראשונות בהרצאה «שם וסיסמה ל-terraform פרויקט NodeJS» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום לכולם. בסרטון זה אנחנו ניצור שם וסיסמה לטרפורם בענן, ב-AWS. כרגע Terraform Plan נכשל לנו כי אין לו credentials לענן.

  2. 00:15

    בואו ניכנס לגוגל, נרשום "AWS Console", קונסולת הניהול של הענן, וניכנס ללינק הראשון של amazon.com. נעשה פה Sign in to Console, ויש לי שתי שיטות איך לעשות логиן: עם שם וסיסמה רגילים או עם root, עם היוזר הראשי כמו אדמיניסטרטור.

  3. 00:35

    אני אומר לו עם root. אני נותן לו את האימייל שלי, עושה Next. הוא רוצה לבדוק שאני לא רובוט. אני נותן לו את מה שאני רואה כאן ולוחץ I'm not robot, ואת הסיסמה שלי.

  4. 00:46

    עכשיו הוא מבקש Multi-Factor Authentication, MFA, שזה למעשה קוד שיש לי באפליקציה בטלפון. כל שלושים שניות זה מתחלף בתוך הטלפון. זה מה שמגן עליי נגד גניבה של שם והסיסמה לאתר.

  5. 01:01

    גם אם מישהו יגנוב לי את השם והסיסמה, הוא לא ידע את הקוד הזה שמשתנה כל שלושים שניות. בשביל לגנוב גם אותו צריך כבר לגנוב לי את הטלפון. ואנחנו בתוך AWS, בתוך הענן.

  6. 01:14

    בואו נחפש פה IAM, Identity Management, ניהול זהויות, ניהול יוזרים, ואני עושה פה Users. קודם כל יש לי פה יוזר ישן. בואו נמחק אותו.

  7. 01:26

    אני רוצה להראות לכם הכול מאפס. אני בוחר את היוזר הזה ולוחץ Delete. הנה, הוא מחק לי את היוזר הישן ואנחנו עושים הכול מאפס. אז כרגע אין לי אף יוזר.

  8. 01:36

    אני עושה Create user. נקרא לו TF, קיצור של Terraform. אנחנו לא ניתן לו להיכנס לקונסולת הניהול הזאת. אין לנו מטרה שהיוזר הזה ינהל את הענן דרך הדפדפן, דרך קונסולת הניהול.

  9. 01:49

    הוא אמור להיות רק עבור Terraform בגישת API. API זה תוכנה לתוכנה ולא דרך דפדפן, ולכן אני לא שם פה את ה-V. אני לא נותן לו גישה דרך הדפדפן.

  10. 02:02

    מה שכן אני אתן לו, אני אתן לו הרשאות דרך פוליסה מוכנה. אני אעשה לעצמי חיים קלים ואני אתן לו Administrator Access. הוא יוכל לעשות מה שהוא רוצה בענן.

  11. 02:13

    זאת לא גישה מומלצת. הגישה המומלצת, לתת לו את המינימום הנדרש ולא יותר מזה, רק את מה שהוא באמת צריך. אבל אין לי כוח להתעסק בזה ולכן אני נותן לו פה פוליסה של אדמיניסטרטור ועושה Next.

  12. 02:27

    יש לי פה סיכום של כל מה שעשינו ונעשה Create user. יצרנו יוזר חדש. הנה הוא פה למטה, TF. אפשר להיכנס אליו ולראות ש-Console, גישת Console, שזה איך שאנחנו מחוברים, היא מבוטלת, היא Disabled.

  13. 02:43

    אז איך היוזר הזה בכל זאת יוכל לעבור אימות? דרך Access key, מפתחות גישה לתוכנות. זה דרך אגב גם נמצא פה ב-Security credentials, ופה כתוב ש-Access key נועד לחיבור של התוכנות.

  14. 02:58

    בקיצור, אנחנו יכולים ללחוץ פה Create access key, שזה אותו דבר כמו ללחוץ כאן Create access key למעלה. הם עשו לנו קיצור דרך.

לקורס המלא: קורס Terraform אונליין ל‑DevOps

ההרצאה הקודמת: הגדרת AWS provider - פרויקט NodeJS

ההרצאה הבאה: AWS Access Key - פרויקט NodeJS

הרצאות קשורות מקורסים אחרים

  • מבוא ל-NodeJS
  • חיבור לשרת FTP עם שם וסיסמה
  • הגנה על אתר עם שם וסיסמה בריאקט - Blocking Component
  • גישה לתיקיה משותפת בווינדוס 10 ללא שם וסיסמה

קורסים נוספים במסלול

  • קורס AWS - ניהול מכונה וירטואלית בענן
  • קורס קוברנטיקס - Kubernetes
  • קורס Docker - עם Swarm Cluster
  • קורס DevOps - Ansible
  • קורס PowerShell
  • קורס Git ו-GitHub עם Visual Studio