ארכיטקטורת ריבוי חשבונות ב-AWS: SCP, SSO וחיוב מרכזי

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

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

למה חשבון AWS אחד שובר את הניהול

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

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

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

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

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

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

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

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

מה מספקת ארכיטקטורת ריבוי חשבונות ב-AWS

מהירות הקצאת חשבון

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

רדיוס הנזק של תקרית

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

שקיפות ההוצאות

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

מדיניות אחידה

Service Control Policies קובעות כללים ברמת הארגון: אילו שירותים ואזורים זמינים, מה אסור. המדיניות מיושמת על כל החשבונות בבת אחת, ולכן פרויקט חדש אינו יכול לעקוף בטעות דרישות אבטחה או תאימות.

יכולת ניהול

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

SCP, SSO וחיוב מרכזי: השוואת גישות

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

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

אפשרות מתי מתאימה מגבלות
חשבון אחיד מוצר אחד, צוות אחד, שלב מוקדם אין בידוד תקלות ומכסות; הרשאות מחולקות ידנית; אי אפשר לפצל את החשבונית לפי צוותים
Organizations + SCP כמה צוותים או סביבות, נדרשים איסורים נוקשים SCP מגבילים, אך אינם מעניקים הרשאות; טעות במדיניות חוסמת בבת אחת את כל היחידה הארגונית; נדרש תהליך סקירת שינויים
פדרציית SSO הרבה אנשים ותפקידים, חיבורים ופיטורים תכופים דורש ספק זהויות חיצוני; התפקידים בכל זאת מתוארים בכל חשבון; ללא SCP הגישות לא יצומצמו
היברידי: Organizations + SSO + ספרייה חיצונית דרישות רגולטוריות, מאות עובדים, ביקורת עלות ההטמעה הגבוהה ביותר; נדרש בעלים לספרייה ולסנכרון; קשה יותר לנפות את שרשרת הכניסות

הפרקטיקה מלמדת: SCP ו-SSO פותרים משימות שונות ואינם מחליפים זה את זה. המדיניות אוסרת פעולות לא רצויות — למשל, הוצאת נתונים מחוץ ליחידה הארגונית או הפעלת משאבים מחוץ לאזורים המותרים. הפדרציה אחראית על מי נכנס ובאיזה תפקיד, ומסלקת מפתחות גישה ידניים.

חיוב מרכזי מעל Organizations מאפשר פיצול הוצאות לפי יחידות ארגוניות ותגיות — בלעדיו החשבונית נשארת סכום כולל שאיש אינו יכול לפרק לפי צוותים.

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

כיצד אנו מיישמים AWS Organizations: שלבי העבודה

יישום AWS Organizations אינו "הפעלת איחוד חשבונות", אלא ארגון מחדש של ניהול הגישה והמדיניות מעל חשבונות שכבר פעילים. לכן אנו מתחילים במיפוי מלאי: אילו חשבונות קיימים, מי ניגש אליהם, אילו שירותים ונתונים פועלים בהם, והיכן חופפים הרשתות והתפקידים. ללא מפה זו, כל העברת OU או הפעלת SCP עלולה לשבור את סביבת הייצור.

מכאן אנו ממשיכים באיטרציות: תחילה מתכננים את המבנה היעד, לאחר מכן מעבירים חשבון אחד בכל פעם, ומוודאים ששום דבר לא נשבר. להלן סדר עבודה טיפוסי, שאנו מתאימים ללандшафт שלכם.

  1. סקירת הלандшафт. אוספים רשימה של חשבונות, בעלים, שירותים קריטיים, תפקידי IAM קיימים וקשרי רשת. מתעדים מה אסור לגעת בו ללא חלון תחזוקה.
  2. תכנון OU. מפזרים את החשבונות לפי יחידות ארגוניות: ייצור, Staging, Sandbox, אבטחה, תשתית. בנפרד — OU מבודדים לנתונים רגולטוריים או נתוני תשלומים.
  3. הגדרת SCP. כותבים מדיניות ברמת ה-OU ולא ברמת חשבונות בודדים: איסור יציאה מהארגון, הגבלת אזורים, חסימת השבתת תיעוד. תחילה במצב ביקורת, לאחר מכן ב-enforcement.
  4. חיבור SSO. מגדירים כניסה אחודה ומיפוי קבוצות לתפקידים בחשבונות, כך שהגישה תינתן דרך הספרייה ולא דרך משתמשי IAM מקומיים. זה מבטל ניהול גישות ידני.
  5. העברת חשבונות. מעבירים אחד אחד: שיוך ל-OU, החלת SCP, בדיקת תהליכי העבודה של הצוות. חזרה לאחור אפשרית בכל שלב, כל עוד החשבון לא עוגן במבנה היעד.
  6. בדיקה. מריצים תרחישים: גישת מפתח, פריסה, תגובה לפעולה אסורה, פעולת חיוב ותגיות. בודקים שהמדיניות אינה חוסמת פעולות לגיטימיות.
  7. מסירה. מוסרים את מפת ה-OU, סט ה-SCP, סכימת התפקידים ותקנון הוספת חשבונות חדשים — כדי שהצוות ירחיב את המבנה בלעדינו.

תארו את הלандшафт הנוכחי — נחזור עם הערכה ותוכנית לפי שלבים.

מדיניות גישה ותפקידי IAM בסביבת ריבוי חשבונות

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

  • תצורות SCP — מדיניות ברמת Organizations: מניעת יציאה מהארגון, חסימת אזורים אסורים, הגנה מפני השבתת ביקורת ומחיקת יומנים, הגבלות על יצירת משאבים ציבוריים. כל כלל משויך ל-OU ספציפי, ולא לכל העץ.
  • סכמות OU — היררכיית יחידות ארגוניות עם ייעוד: sandbox, סביבות עבודה, פרודקשן, מתחם מבודד, חשבון תשתית. הסכמה קובעת לאן מגיע חשבון חדש ואילו מדיניות הוא יורש כברירת מחדל.
  • מדיניות גישה — תפקידים ומדיניות עבור אנשים ושירותים: הפרדת הרשאות לפי עקרון המינימום ההכרחי, תפקידים נפרדים לקריאה, פריסה וניהול, תנאים על מקור הבקשה ואימות רב-גורמי חובה.
  • תפקידי IAM ופדרציה — כניסה דרך ספק זהות אחיד, פרטי גישה זמניים במקום מפתחות ארוכי-טווח, תפקידים לאוטומציה עם תקופת תוקף מוגבלת ושיוך לחשבון ספציפי.
  • נהלים — סדר בקשת גישה, מועדי בחינה מחדש של הרשאות, הליך הוצאת חשבון מהארגון, כללי תגובה להפעלת חסימה.
  • תיעוד — מפת חשבונות ו-OU, סכמת תפקידים, מטריצת "מי יכול מה", הנחיות למשמרת תורנית ולצורך ביקורת.

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

מקרה בוחן: כיצד צומצם רדיוס האירוע וזמן הקצאת החשבון

הלקוח הגיע עם כאב קלאסי: חשבונות עבור צוותים וסביבות הוקצו באופן ידני, לכל אחד גישת root משלו ומפתחות משלו, והחיוב התפזר על פני עשרה חשבוניות. אירוע עם מפתח שהודלף בשירות אחד פגע במשאבים משותפים, ואת גבול הנזק ניתן היה להבין רק באמצעות סריקה ממצה. הניתוח בוצע על בסיס AWS Organizations — ניהול מרכזי של עץ החשבונות, מדיניויות וכניסה אחודה.

מה היה לפני

הקצאת חשבון חדש עבור צוות ארכה בממוצע 3 ימי עבודה: בקשה, יצירה ידנית, הפצת הרשאות, הגדרה נפרדת של חיוב. שיעור הפעולות הידניות בהקצאה עמד על כ-80% — כל טעות בהרשאות צפה כבר בפרודקשן.

רדיוס האירוע בעת חשיפת מפתח כיסה 6-8 חשבונות בגלל תפקידים משותפים והרשאות רוחביות, והלוקליזציה ארכה עד 4 שעות.

מה שינו

  • החשבונות פוצלו ליחידות ארגוניות (prod, staging, sandbox, shared) עם ירושת SCP — איסור על השבתת תיעוד, הגבלת אזורים, חסימת פעולות root.
  • הגישה הועברה לפדרציה דרך כניסה אחודה: אדם מקבל תפקיד בחשבון מסוים לזמן מוגבל, אין מפתחות קבועים.
  • החיוב רוכז בחשבון ניהולי עם תיוג לפי צוותים — ההוצאות נראות לפי חטיבה, ולא לפי חשבונית שלמה.
  • הקצאת החשבון נעטפה בתבנית: יחידה ארגונית, SCP, תפקידים בסיסיים והתראת תקציב עולים בפעולה אחת.

מה נהיה

הקצאת החשבון הצטמצמה מ-3 ימים ל-15-20 דקות, שיעור הפעולות הידניות ירד לכ-10% — נותרו רק אישורים. רדיוס האירוע הצטמצם לחשבון אחד: חשיפת מפתח אינה מעניקה עוד גישה לסביבות שכנות, וזמן הלוקליזציה ירד מ-4 שעות ל-20-30 דקות הודות לבידוד ולתיעוד מרכזי.

אפקט נפרד — חיזוי ההוצאות: התיוג לפי צוותים הראה אילו סביבות צורכות תקציב לשווא, וחלק ממשאבי ה-sandbox קופלו ללא פגיעה בפיתוח.

במה שונה SCP ממדיניויות IAM ומתי להשתמש בכל אחת

SCP ומדיניויות IAM פועלות ברבדים שונים ועונות על שאלות שונות. SCP היא מדיניות של Organizations, שמגדירה את הגבול העליון של המותר עבור חשבון שלם: היא אינה מעניקה הרשאות, אלא חוסמת כל מה שחורג ממסגרתה.

מדיניות IAM פועלת בתוך החשבון ומגדירה מה משתמש, תפקיד או שירות מסוים יכולים לעשות עם משאבים. במילים פשוטות: SCP עונה על השאלה "מה אסור באופן עקרוני בחשבון הזה", ו-IAM — "מה מותר לנושא הזה".

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

לכן משתמשים ב-SCP לגבולות ארגוניים נוקשים: איסור יציאה מאזורים מותרים, חסימת השבתת תיעוד והגנה, איסור יצירת מאגרים ציבוריים, הגבלת השירותים שבשימוש. זוהי מסגרת שלא ניתן לעקוף בהרשאות בתוך החשבון.

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

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

ערבוב של הרבדים מוביל לשתי קיצוניויות: או שמנסים להשתמש ב-SCP כחלוקת הרשאות ומקבלים גישה לא עובדת, או שמשכפלים ב-IAM איסורים ארגוניים שאחר כך מתפצלים בין החשבונות.

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

ספקות טכניים נפוצים במעבר ל-AWS Organizations

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

מה יקרה לחשבונות הקיימים — האם יהיה צורך ליצור אותם מחדש?

לא. חשבונות קיימים מוזמנים לארגון ומועברים ל-OU הרצוי — המשאבים, המזהים, התפקידים והנתונים נשארים במקומם. הדבר היחיד שמשתנה הוא שמעל החשבון מתחילה לפעול מדיניות הארגון: SCP מגבילות פעולות מותרות, וניהול גישה מרוכז מתחבר לתפקידים שכבר פועלים.

הדבר היחיד שכדאי לבדוק מראש הוא האם ה-SCP החדש חוסם משהו מהתרחישים הנוכחיים, ולכן המדיניות מיושמת תחילה במצב ביקורת, ולא מיד במצב חוסם.

איך לא לשבור את הפרודקשן בעת הפעלת המדיניות?

SCP מיושמות בשלבים: תחילה על OU בדיקה, שבו מריצים תרחישי פריסה וחזרה אמיתיים, לאחר מכן על סביבת הלא-פרודקשן, ורק בסוף על הפרודקשן. המדיניות נכתבת כך שתאסור פעולות מסוכנות ספציפיות, ולא "הכול מלבד המותר" — אחרת שירות אחד שהוחמץ מפיל את תהליך העבודה.

בכל שלב נשמרת נקודת חזרה: ניתן להסיר את המדיניות מה-OU, והחשבונות חוזרים להתנהגות הקודמת ללא יצירת משאבים מחדש.

המשתמשים נכנסים דרך קטלוג חיצוני — האם SSO ישבור זאת?

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

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

האם ניתן לחזור אחורה אם משהו ישתבש?

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

בואו נדון במשימה שלכם בארכיטקטורת ריבוי חשבונות

כדי שההערכה תהיה מדויקת, ולא "פחות או יותר בסדר גודל", אנחנו צריכים להבין את הנוף הנוכחי: כמה חשבונות כבר חיים תחת AWS Organizations, האם יש Control Tower, איך בנויים SSO ותפקידים, היכן נמצאים הנתונים כעת ומהן הדרישות לבידוד סביבות. תארו את המשימה בצורה חופשית — לאחר מכן נשאל שאלות הבהרה ונחזור עם הערכה ותוכנית עבודה.

מה שמועיל לצרף לתיאור:

  • רשימת החשבונות והייעוד שלהם (פרודקשן, סט�ייג', ארגזי חול, שירותים משותפים, אבטחה);
  • המבנה הנוכחי של היחידות הארגוניות ואיך הוא צריך להתמפות ליחידות ארגוניות;
  • איך כיום מוענקות הרשאות גישה: דרך איזה ספק זהות, אילו תפקידים וקבוצות משמשים;
  • אילו מדיניות כבר מיושמות ומה מפריע — היכן יש חריגים ידניים, היכן עוקפים כללים;
  • דרישות לבידוד: מה ולמי צריך להיות גלוי, אילו נתונים אסור לערבב בין חשבונות;
  • איך כיום נאסף חיוב ולפי אילו סימנים ההוצאות מתחלקות בין צוותים ופרויקטים;
  • מגבלות: לוחות זמנים, תקנות, החלטות ארכיטקטוניות שכבר התקבלו ואסור לשבור.

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

תארו את המשימה — נחזור עם הערכה ותוכנית.