HashiCorp Vault

במאמר הזה מוסבר איך לשלב את HashiCorp Vault עם Google SecOps.

שילוב של HashiCorp Vault עם Google Security Operations

איך מגדירים שילובים ב-Google SecOps

נתוני הקלט של השילוב

כדי להגדיר את השילוב, משתמשים בפרמטרים הבאים:

פרמטרים
API Root חובה

שורש ה-API שאליו מתחברים.

ערך ברירת המחדל הוא https://IP_ADDRESS:8200.

Token אופציונלי

האסימון שבו צריך להשתמש לחיבור. אתם יכולים לאמת באמצעות אסימון או באמצעות שילוב של שם משתמש וסיסמה.

Username אופציונלי

שם המשתמש שבו משתמשים לחיבור. אתם יכולים לבצע אימות באמצעות אסימון או באמצעות שילוב של שם משתמש וסיסמה.

Password אופציונלי

הסיסמה שבה משתמשים לחיבור. אתם יכולים לבצע אימות באמצעות אסימון או באמצעות שילוב של שם המשתמש והסיסמה.

Verify SSL אופציונלי

אם התיבה מסומנת, האישור שהוגדר לשורש ה-API מאומת.

האפשרות הזו לא מסומנת כברירת מחדל.

Key-Value Secret Engine Path חובה

הנתיב שמשמש לאחסון הסודות של צמדי מפתח/ערך. יש תמיכה רק בגרסה 2. הפרמטר הזה משמש לאינטראקציה עם סודות שמאוחסנים במאגר וליצירת כתובות URL כמו https://IP_ADDRESS:8200/v1/secret/data/ .

ערך ברירת המחדל הוא secret.

פעולות

יצירת פרטי כניסה ל-AWS

יצירת פרטי כניסה על סמך תפקיד AWS שמאוחסן ב-HashiCorp Vault.

ישויות

הפעולה הזו לא פועלת על ישויות.

קלט של הפעולה

כדי להגדיר את השילוב, משתמשים בפרמטרים הבאים:

פרמטרים
AWS Secret Engine Path אופציונלי

הנתיב שמשמש לאחסון הסודות ב-AWS. יש תמיכה רק בגרסה 2. הפרמטר הזה משמש לאינטראקציה עם סודות ששמורים באחסון וליצירת כתובות URL כמו http://IP_ADDRESS:8200/v1/aws/roles/ .

ערך ברירת המחדל הוא aws.

AWS Role Name חובה

שם התפקיד שעבורו רוצים ליצור פרטי כניסה.

AWS Role ARN אופציונלי

‫ARN של התפקיד שיוקצה אם credential_type בתפקיד של Vault מוגדר כ-assumed_role.

הפרמטר הזה צריך להתאים לאחד ממספרי ה-ARN המותרים של התפקיד ב-Vault.

AWS Role Session Name אופציונלי

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

TTL (seconds) אופציונלי

זמן חיים (TTL) בשניות לשימוש באסימון STS.

הפרמטר הזה מצוין כמחרוזת עם סיומת של משך זמן, והוא תקף רק אם תפקיד AWS‏ credential_type ב-Vault הוא assumed_role או federation_token.

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

אם גם הערך של default_sts_ttl לא מוגדר, המערכת תשתמש בערך ברירת המחדל של 3,600 שניות.

JSON Expression Builder אופציונלי

ביטוי JSON לסינון קבוצת משנה ספציפית של נתונים מתוך סוד.

לדוגמה: | "data" | "data" | "key0".

ערכי פלט של פעולות

סוג הפלט של הפעולה
חיבור לקיר של המארז לא רלוונטי
קישור לקיר של התיק לא רלוונטי
שולחן קונסולה צמוד לקיר לא רלוונטי
טבלת העשרה לא רלוונטי
תובנה לגבי ישות לא רלוונטי
תובנה לא רלוונטי
תוצאת JSON יש גישה
ווידג'ט OOTB לא רלוונטי
תוצאת הסקריפט יש גישה
תוצאת הסקריפט
שם תוצאת הסקריפט ערך
is_success נכון/לא נכון
תוצאת JSON
{
"request_id": "08fe0196-fd51-8c32-9a90-a245ad6ade29",
"lease_id": "aws/creds/my-role/MWLgJVdR2n8YwQuuX1dVN3Nv",
"renewable": true,
"lease_duration": 2764800,
"data": {
"access_key": "AKIAWP5MI7…",
"secret_key": "CwYA8StJ8r+Oe0AKS8JnBvOWNOF…",
"security_token": null
},
"wrap_info": null,
"warnings": null,
"auth": null
}
קיר של נרתיק הטעינה

הפעולה מספקת את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה
Successfully generated credentials for the ROLE_NAME role. הפעולה בוצעה בהצלחה.
Error executing action "Generate AWS Credentials". Reason: Incorrect JSON value is provided for the Expression Builder.

הפעולה נכשלה.

צריך לבדוק את ערך הפרמטר JSON Expression Builder.

Error executing action "Generate AWS Credentials". Reason: ERROR_REASON

הפעולה נכשלה.

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

הצגת רשימת התפקידים ב-AWS

הצגת רשימה של תפקידי AWS שזמינים ב-HashiCorp Vault על סמך הקריטריונים שצוינו.

ישויות

הפעולה הזו לא פועלת על ישויות.

קלט של הפעולה

כדי להגדיר את השילוב, משתמשים בפרמטרים הבאים:

פרמטרים
AWS Secret Engine Path אופציונלי

הנתיב שמשמש לאחסון הסודות ב-AWS. יש תמיכה רק בגרסה 2. הפרמטר הזה משמש לאינטראקציה עם סודות ששמורים באחסון וליצירת כתובות URL כמו http://IP_ADDRESS:8200/v1/aws/roles/ .

ערך ברירת המחדל הוא aws.

Max Records To Return אופציונלי

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

ערכי פלט של פעולות

סוג הפלט של הפעולה
חיבור לקיר של המארז לא רלוונטי
קישור לקיר של התיק לא רלוונטי
שולחן קונסולה צמוד לקיר לא רלוונטי
טבלת העשרה לא רלוונטי
תובנה לגבי ישות לא רלוונטי
תובנה לא רלוונטי
תוצאת JSON יש גישה
ווידג'ט OOTB לא רלוונטי
תוצאת הסקריפט יש גישה
תוצאת הסקריפט
שם תוצאת הסקריפט ערך
is_success נכון/לא נכון
תוצאת JSON
{
"request_id": "7356485b-4186-3873-72e3-d2e588dc6fb6",
"lease_id": "",
"renewable": false,
"lease_duration": 0,
"data": {
"keys": [
"m",
"my-other-role",
"my-role"
]
},
"wrap_info": null,
"warnings": null,
"auth": null
}
קיר של נרתיק הטעינה

הפעולה מספקת את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה
Successfully found AWS roles in the AWS_SECRET_ENGINE_PATH store. הפעולה בוצעה בהצלחה.
Error executing action "List AWS Roles". Reason: Invalid value was provided for "Max Records to Return": PROVIDED_VALUE . Positive number should be provided.

הפעולה נכשלה.

צריך לבדוק את ערך הפרמטר Max Records to Return.

Error executing action "List AWS Roles". Reason: ERROR_REASON

הפעולה נכשלה.

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

הצגת רשימה של מפתחות סודיים של מפתח/ערך

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

ישויות

הפעולה הזו לא פועלת על ישויות.

קלט של הפעולה

כדי להגדיר את השילוב, משתמשים בפרמטרים הבאים:

פרמטרים
Key-Value Secret Engine Path אופציונלי

הנתיב שמשמש לאחסון הסודות של צמדי מפתח/ערך. יש תמיכה רק בגרסה 2. הפרמטר הזה משמש לאינטראקציה עם סודות שמאוחסנים במאגר וליצירת כתובות URL כמו https://IP_ADDRESS:8200/v1/secret/data/SECRET_TO_FETCH_FROM_THE_KV_STORE.

ערך ברירת המחדל הוא secret.

Secret Path אופציונלי

הנתיב הסודי לאחזור. הפעולה מקבלת שמות של תיקיות.

לדוגמה: אם שם התיקייה של הנתיב הסודי הוא my-secret, הנתיב של מאגר מפתח/ערך הוא secret, אז הנתיב המלא לאחזור הוא https://IP_ADDRESS:8200/v1/secret/data/my-secret.

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

ערך ברירת המחדל הוא https://IP_ADDRESS:8200.

Max Records To Return אופציונלי

מספר הרשומות שיוחזרו.

ערך ברירת המחדל הוא 50.

ערכי פלט של פעולות

סוג הפלט של הפעולה
חיבור לקיר של המארז לא רלוונטי
קישור לקיר של התיק לא רלוונטי
שולחן קונסולה צמוד לקיר לא רלוונטי
טבלת העשרה לא רלוונטי
תובנה לגבי ישות לא רלוונטי
תובנה לא רלוונטי
תוצאת JSON יש גישה
ווידג'ט OOTB לא רלוונטי
תוצאת הסקריפט יש גישה
תוצאת הסקריפט
שם תוצאת הסקריפט ערך
is_success נכון/לא נכון
תוצאת JSON
{
 "request_id": "ed5d30ed-0fe9-a3b5-36d1-cc81b9175fe9",
 "lease_id": "",
 "renewable": false,
 "lease_duration": 0,
 "data": {
   "keys": [
     "hello",
     "tesr2",
     "test"
   ]
 },
 "wrap_info": null,
 "warnings": null,
 "auth": null
}
קיר של נרתיק הטעינה

הפעולה מספקת את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה
Successfully found the following secret keys for the provided criteria in the key-value store KEY-VALUE_SECRET_ENGINE_PATH. הפעולה בוצעה בהצלחה.
Error executing action "List Key-Value Secret Keys". Reason: Invalid value was provided for "Max Records to Return": PROVIDED_VALUE. Positive number should be provided.

הפעולה נכשלה.

צריך לבדוק את ערך הפרמטר Max Records to Return.

Error executing action "List Key-Value Secret Keys". Reason: ERROR_REASON

הפעולה נכשלה.

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

פינג

בודקים את הקישוריות להתקנה של HashiCorp Vault באמצעות הפרמטרים שצוינו בדף הגדרת השילוב ב-Google SecOps Content Hub.

ישויות

הפעולה הזו לא פועלת על ישויות.

קלט של הפעולה

לא רלוונטי

ערכי פלט של פעולות

סוג הפלט של הפעולה
חיבור לקיר של המארז לא רלוונטי
קישור לקיר של התיק לא רלוונטי
שולחן קונסולה צמוד לקיר לא רלוונטי
טבלת העשרה לא רלוונטי
תובנה לגבי ישות לא רלוונטי
תובנה לא רלוונטי
תוצאת JSON לא רלוונטי
ווידג'ט OOTB לא רלוונטי
תוצאת הסקריפט יש גישה
תוצאת הסקריפט
שם תוצאת הסקריפט ערך
is_success נכון/לא נכון
תוצאת JSON

לא רלוונטי

קיר של נרתיק הטעינה

הפעולה מספקת את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה
Successfully connected to the HashiCorp Vault installation with the provided connection parameters! הפעולה בוצעה בהצלחה.
Failed to connect to the HashiCorp Vault installation! Error is ERROR_REASON

הפעולה נכשלה.

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

קריאת סוד של ערך מפתח

קריאת הסוד של צמד מפתח/ערך שמאוחסן ב-HashiCorp Vault על סמך הקריטריונים שסופקו.

ישויות

הפעולה הזו לא פועלת על ישויות.

קלט של הפעולה

כדי להגדיר את השילוב, משתמשים בפרמטרים הבאים:

פרמטרים
Key-Value Secret Engine Path אופציונלי

הנתיב שמשמש לאחסון הסודות של צמדי מפתח/ערך. יש תמיכה רק בגרסה 2. הפרמטר הזה משמש לאינטראקציה עם סודות שמאוחסנים במאגר וליצירת כתובות URL כמו https://IP_ADDRESS:8200/v1/secret/data/SECRET_TO_FETCH_FROM_THE_KV_STORE.

ערך ברירת המחדל הוא secret.

Secret Path חובה

הנתיב הסודי לאחזור. הפעולה מקבלת שמות של תיקיות.

לדוגמה: אם שם התיקייה של הנתיב הסודי הוא my-secret, הנתיב של מאגר מפתח/ערך הוא secret, אז הנתיב המלא לאחזור הוא https://IP_ADDRESS:8200/v1/secret/data/my-secret.

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

ערך ברירת המחדל הוא https://IP_ADDRESS:8200.

Secret Version אופציונלי

גרסת הסוד שצריך לאחזר.

JSON Expression Builder אופציונלי

ביטוי JSON לסינון קבוצת משנה ספציפית של נתונים מתוך סוד.

לדוגמה: | "data" | "data" | "key0".

ערכי פלט של פעולות

סוג הפלט של הפעולה
חיבור לקיר של המארז לא רלוונטי
קישור לקיר של התיק לא רלוונטי
שולחן קונסולה צמוד לקיר לא רלוונטי
טבלת העשרה לא רלוונטי
תובנה לגבי ישות לא רלוונטי
תובנה לא רלוונטי
תוצאת JSON יש גישה
ווידג'ט OOTB לא רלוונטי
תוצאת הסקריפט יש גישה
תוצאת הסקריפט
שם תוצאת הסקריפט ערך
is_success נכון/לא נכון
תוצאת JSON
{
 "request_id": "8b020faf-808f-34c2-5348-c04871ee6594",
 "lease_id": "",
 "renewable": false,
 "lease_duration": 0,
 "data": {
   "data": {
     "key0": "value0"
   },
   "metadata": {
     "created_time": "2023-04-11T10:56:34.766417394Z",
     "custom_metadata": null,
     "deletion_time": "",
     "destroyed": false,
     "version": 1
   }
 },
 "wrap_info": null,
 "warnings": null,
 "auth": null
}
קיר של נרתיק הטעינה

הפעולה מספקת את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה
Successfully fetched secret SECRET_PATH. הפעולה בוצעה בהצלחה.
Error executing action "Read Key-Value Secret". Reason: Incorrect JSON value is provided for the Expression Builder.

הפעולה נכשלה.

צריך לבדוק את ערך הפרמטר JSON Expression Builder.

Error executing action "Read Key-Value Secret". Reason: ERROR_REASON

הפעולה נכשלה.

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

הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.