בפרויקט זה נשתמש בשילוב של YAML ו-Terraform לניהול זהויות ב-AWS IAM. מידע על משתמשים (שמות ותפקידים) יישמר בקובץ YAML, בעוד שמידע על התפקידים (Roles ו-Policies) יוגדר ישירות ב-Terraform. הגישה הזו מפרידה בין נתונים לתשתית ומאפשרת ניהול גמיש.
yamldecodeנגדיר קובץ YAML שמכיל את רשימת המשתמשים ואת התפקידים שמוקצים לכל אחד מהם. כל משתמש יכול לקבל תפקיד אחד או יותר. הקובץ הזה הוא מקור האמת (single source of truth) לגבי מיהם המשתמשים ומה הרשאותיהם.
נגדיר את ה-Provider של AWS ומשתנה לשם חשבון (account alias) שישמש בבניית ARNs וב-Outputs.
נשתמש ב-local כדי לטעון ולפענח את קובץ ה-YAML, ולאחר מכן ניצור משאב IAM User לכל משתמש ברשימה. בנוסף, נצור Login Profile לכל משתמש כדי שיוכל להתחבר ל-AWS Console.