גרסת הפרימיום של Assured Open Source Software (Assured OSS) מאפשרת לכם לשפר את אבטחת הקוד באמצעות חבילות OSS ש-Google משתמשת בהן בתהליכי העבודה של המפתחים שלה. כשאתם משתמשים ב-Assured OSS, המפתחים שלכם יכולים לנצל את המומחיות והניסיון של Google באבטחת יחסי התלות שלה בקוד פתוח.
כשמשלבים את Assured OSS עם Security Command Center, אפשר:
- אתם יכולים לבחור מתוך אלפי חבילות פופולריות שנאספו בקפידה ב-Java, ב-Python, ב-Go וב-JavaScript (NPM), כולל פרויקטים נפוצים של למידת מכונה ובינה מלאכותית כמו TensorFlow, Pandas ו-Scikit-learn.
- להגדיר שרת proxy מאובטח כדי להוריד את כל חבילות Java, Python, Go ו-JavaScript עם אישורים מ-Assured OSS, כך ש-Google תהיה ספק מוכר ומהימן.
- כדי לקבל מידע נוסף על הרכיבים, אתם יכולים להשתמש ב-SBOM וב-VEX ב-Assured OSS, שזמינים בפורמטים המקובלים בתחום כמו SPDX ו-CycloneDX.
- להגביר את האמון בתקינות החבילות שבהן אתם משתמשים באמצעות מקור חתום ומוגן מפני שינויים מ-Google.
- הפחתת סיכוני האבטחה, כי Google סורקת, מוצאת ומתקנת באופן פעיל נקודות חולשה חדשות בחבילות שנאספו.
אזורים נתמכים
מסלול הפרימיום של Assured OSS תומך Google Cloudבאזורים ובמספר אזורים הבאים למאגרים מרוחקים (או מאגרי proxy) ב-Artifact Registry:
asia-southeast2australia-southeast1australia-southeast2europe-north1europe-north2europe-west1europe-west2europe-west3europe-west4northamerica-northeast1northamerica-northeast2europeus
התמיכה במטא-נתונים של אבטחה מוגבלת למספר האזורים של us.
לפני שמתחילים
השלימו את המשימות האלה לפני שתשלימו את שאר המשימות בדף הזה.
הפעלת רמת Security Command Center Enterprise או מסלול פרימיום
מוודאים שרמת Security Command Center Premium או רמת Security Command Center Enterprise מופעלת ברמת הארגון.
הגדרת הרשאות ברמת הארגון
צריך להגדיר הרשאות ברמת הארגון וברמת הפרויקט.
-
נכנסים לדף IAM במסוף Google Cloud .
כניסה לדף IAM - בוחרים את הארגון.
-
בעמודה Principal, מחפשים את כל השורות שמזהות אתכם או קבוצה שאתם חברים בה. כדי לברר לאילו קבוצות אתם שייכים, פנו לאדמין.
- בכל השורות שבהן אתם מופיעים, בודקים בעמודה Role אם רשימת התפקידים כוללת את התפקידים הנדרשים.
-
נכנסים לדף IAM במסוף Google Cloud .
כניסה לדף IAM - בוחרים את הארגון.
- לוחצים על Grant access.
-
בשדה New principals, מזינים את מזהה המשתמש. בדרך כלל זה המזהה של משתמש במאגר זהויות של כוח עבודה. למידע נוסף, קראו את המאמר ייצוג המשתמשים במאגרי כוח עבודה בכללי מדיניות IAM או פנו לאדמין שלכם.
- לוחצים על Select a role ומחפשים את התפקיד.
- כדי לתת עוד תפקידים, לוחצים על Add another role ומוסיפים אותם.
- לוחצים על Save.
צריך לוודא שיש לכם בארגון את התפקיד או התפקידים הבאים: אדמין של מרכז האבטחה, אדמין ארגוני
בדיקת התפקידים
מתן התפקידים
הגדרת הרשאות ברמת הפרויקט
-
נכנסים לדף IAM במסוף Google Cloud .
כניסה לדף IAM - בוחרים את הפרויקט.
-
בעמודה Principal, מחפשים את כל השורות שמזהות אתכם או קבוצה שאתם חברים בה. כדי לברר לאילו קבוצות אתם שייכים, פנו לאדמין.
- בכל השורות שבהן אתם מופיעים, בודקים בעמודה Role אם רשימת התפקידים כוללת את התפקידים הנדרשים.
-
נכנסים לדף IAM במסוף Google Cloud .
כניסה לדף IAM - בוחרים את הפרויקט.
- לוחצים על Grant access.
-
בשדה New principals, מזינים את מזהה המשתמש. בדרך כלל זה המזהה של משתמש במאגר זהויות של כוח עבודה. למידע נוסף, קראו את המאמר ייצוג המשתמשים במאגרי כוח עבודה בכללי מדיניות IAM או פנו לאדמין שלכם.
- לוחצים על Select a role ומחפשים את התפקיד.
- כדי לתת עוד תפקידים, לוחצים על Add another role ומוסיפים אותם.
- לוחצים על Save.
צריך לוודא שיש לכם בפרויקט את התפקיד או התפקידים הבאים: אדמין של שימוש בשירות, אדמין של חשבון שירות, אדמין של IAM בפרויקט
בדיקת התפקידים
מתן התפקידים
הגדרת Google Cloud CLI
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initהגדרת Assured OSS
המסוף
השלבים האלה רלוונטיים רק לרמת Security Command Center Enterprise.
במסוף Google Cloud , נכנסים למדריך ההגדרה של Security Command Center.
מוודאים שאתם מציגים את הארגון שבו הפעלתם את רמת Security Command Center Enterprise.
מרחיבים את החלונית עיון בסיכום של יכולות האבטחה.
לוחצים על Code security (אבטחת קוד) > Set up (הגדרה).
בחלונית Set up code security, לוחצים על AOSS Setup.
בוחרים חשבון שירות חדש או חשבונות שירות קיימים שרוצים להוסיף להם את ההרשאות של Assured Open Source Software.
בוחרים את הפרויקט והאזור ב- Google Cloud שבהם רוצים לאתר את המשאבים של Assured OSS.
לוחצים על Set up Assured OSS.
תהליך ההגדרה משלים באופן אוטומטי את הפעולות הבאות:
- אם בוחרים באפשרות הזו, נוצר חשבון השירות החדש
assuredoss@PROJECT_ID.gservicesaccount.com. - מקצה את התפקיד "משתמש ב-Assured OSS" לחשבון השירות הייעודי לשימוש ב-Assured OSS.
- מקצה את התפקיד "אדמין ב-Assured OSS" לחשבון המשתמש שמחובר, כדי שהחשבון יוכל להגדיר את השירות.
- מפעילה את Assured Open Source Software API, ואם הוא עדיין לא מופעל, גם את Artifact Registry API.
- הגדרת שירות ה-proxy של Assured OSS במכונה של Artifact Registry בפרויקט שבחרתם. מאגר מוקצה לכל שפה (Java, Python, Go ו-JavaScript (NPM)). המאגרים האלה יכולים לשלוף חבילות באופן אוטומטי מהפורטפוליו שנבחר. אם חבילה לא זמינה כחלק מהמאגרים שנבחרו, המאגרים מפנים את הבקשה למאגרים הקנוניים. מידע נוסף זמין במאמר אפשרויות למאגרים של Assured OSS.
- נותן לכם ולחשבון השירות הרשאות גישה למטא-נתונים של החבילה ולהתראות מפרויקטים שבבעלות Google.
- אם בוחרים באפשרות הזו, נוצר חשבון השירות החדש
יוצרים מפתח לחשבון שירות לכל חשבון שירות ייעודי של Assured OSS, ומורידים את המפתח בפורמט JSON.
בשורת הפקודה במחשב המקומי, מריצים את הפקודה הבאה בקובץ המפתח שהורדתם כדי לקבל את המחרוזת בקידוד base64:
base64 KEY_FILENAME.json
מחליפים את
KEY_FILENAME.jsonבשם של מפתח חשבון השירות שהורדתם.תצטרכו את המחרוזת בקידוד Base64 כשתגדירו מאגר מרוחק ל-Assured OSS.
כדי להוריד את החבילות, משתמשים בנקודות הקצה ש-Assured OSS מקצה לכל שפה. כדאי לשמור את נקודות הקצה האלה לשימוש בהמשך.
- Java:
https://LOCATION-maven.pkg.dev/PROJECT_ID/assuredoss-java
- Python:
https://LOCATION-python.pkg.dev/PROJECT_ID/assuredoss-python
- JavaScript (NPM):
https://LOCATION-npm.pkg.dev/PROJECT_ID/assuredoss-javascript
- מעבר אל:
https://LOCATION-go.pkg.dev/PROJECT_ID/assuredoss-go
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבחרתם כשהגדרתם את Assured OSS.
LOCATION: אזור נתמך.
- Java:
לוחצים על הבא. מגדירים את Assured OSS באמצעות מנהל מאגר פריטי המידע של הארגון, כמו JFrog Artifactory או Sonatype Nexus.
gcloud
השלבים האלה רלוונטיים למהדורות Premium ו-Enterprise של Security Command Center.
מאמתים את Google Cloud באמצעות חשבון המשתמש שרוצים להשתמש בו כדי להפעיל את Assured OSS:
gcloud auth revoke gcloud auth application-default revoke gcloud auth login
מחפשים את הפרויקט שבו רוצים לאתר את המשאבים של Assured OSS:
gcloud alpha projects search --query="displayName=PROJECT_NAME"
מחליפים את
PROJECT_NAMEבשם הפרויקט.מגדירים את הפרויקט שבו רוצים לאתר את המשאבים של Assured OSS:
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבמזהה הפרויקט.כדי להגדיר את Assured OSS, מקצים תפקידים לחשבון המשתמש:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/assuredoss.admin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/serviceusage.serviceUsageAdmin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/iam.serviceAccountAdmin
כאשר
email@domain.comהוא כתובת האימייל של חשבון המשתמש שלכם.מפעילים את Assured OSS בפרויקט. כשמפעילים את Assured OSS, גם Artifact Registry API מופעל.
gcloud services enable assuredoss.googleapis.com
כדי ליצור חשבון שירות חדש ל-Assured OSS במקום להשתמש בחשבונות שירות קיימים:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \ --description="Service account for using Assured OSS" --display-name="Assured OSS service account"
מחליפים את
SERVICE_ACCOUNT_NAMEבשם של חשבון השירות (לדוגמה,assuredoss).מגדירים את חשבונות השירות ל-Assured OSS:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID. \ --role roles/assuredoss.user
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_ACCOUNT_NAME: השם של חשבון השירות (לדוגמה,assuredoss). -
PROJECT_ID: מזהה הפרויקט.
-
- כדי לגשת למאגר המטא-נתונים של האבטחה אחרי שהגדרתם את Assured OSS Premium באמצעות gcloud, שלחו אימייל לכתובת customer-support-aoss@google.com עם חשבונות השירות שהפעלתם בשביל Assured OSS.
כדי להגדיר את שירות ה-proxy של Assured OSS במכונה של Artifact Registry, צריך ליצור מאגרים של Assured OSS. צריך ליצור מאגרים לכל השפות. מציינים את האזור שבו שירות ה-proxy של Assured OSS צריך להקצות את המאגרים.
alias gcurlj='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -X' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories\?repositoryId\=assuredoss-java -d '{"format": "MAVEN", "mode": "AOSS_REPOSITORY"}' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories\?repositoryId\=assuredoss-javascript -d '{"format": "NPM", "mode": "AOSS_REPOSITORY"}' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories\?repositoryId\=assuredoss-python -d '{"format": "PYTHON", "mode": "AOSS_REPOSITORY"}' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories\?repositoryId\=assuredoss-go -d '{"format": "GO", "mode": "AOSS_REPOSITORY"}'מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבחרתם כשהגדרתם את Assured OSS.
LOCATION: אזור נתמך.
המאגרים האלה יכולים לשלוף באופן אוטומטי חבילות מהפורטפוליו שנבחר. אם חבילה לא זמינה כחלק מהמאגרים שנבחרו, המאגרים מפנים את הבקשה למאגרים הקנוניים.
יוצרים מפתח לחשבון שירות לכל חשבון שירות של Assured OSS ומורידים את המפתח בפורמט JSON.
בשורת הפקודה, מריצים את הפקודה הבאה בקובץ המפתח שהורדתם כדי לקבל את המחרוזת בקידוד base64:
base64 KEY_FILENAME.json
מחליפים את
KEY_FILENAME.jsonבשם של מפתח חשבון השירות שהורדתם.תצטרכו את המחרוזת בקידוד Base64 כשתגדירו מאגר מרוחק ל-Assured OSS.
כדי להוריד את החבילות, משתמשים בנקודות הקצה שהוקצו על ידי Assured OSS לכל שפה. שימו לב לנקודות הקצה האלה:
- Java:
https://LOCATION-maven.pkg.dev/PROJECT_ID/assuredoss-java
- Python:
https://LOCATION-python.pkg.dev/
PROJECT_ID/assuredoss-python - JavaScript (NPM):
https://LOCATION-npm.pkg.dev/
PROJECT_ID/assuredoss-javascript - מעבר אל:
https://LOCATION-go.pkg.dev/
PROJECT_ID/assuredoss-go
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבחרתם כשהגדרתם את Assured OSS.
LOCATION: אזור נתמך.
- Java:
מגדירים את Assured OSS כדי להוריד חבילות באמצעות מנהל מאגר פריטי המידע של הארגון, כמו JFrog Artifactory או Sonatype Nexus.
אפשר גם להציג את החבילות הזמינות של Java, Python, Go ו-JavaScript:
gcloud auth revoke gcloud auth application-default revoke gcloud auth login --cred-file=KEY_FILENAME.json
מחליפים את
KEY_FILENAME.jsonבשם של מפתח חשבון השירות שהורדתם.export GOOGLE_APPLICATION_CREDENTIALS=KEY_FILENAME.json
מחליפים את
KEY_FILENAME.jsonבשם של מפתח חשבון השירות שהורדתם.gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-java/packages" gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-python/packages" gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-javascript/packages" gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-go/packages"
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבחרתם כשהגדרתם את Assured OSS.
LOCATION: אזור נתמך.