בדף הזה יש סקירה כללית על מודולים בהתאמה אישית של Security Health Analytics. מידע על מודולים מובנים זמין במאמר גלאים מובנים ב-Security Health Analytics.
בעזרת מודולים בהתאמה אישית, אתם יכולים להרחיב את יכולות הזיהוי של Security Health Analytics על ידי יצירת גלאים בהתאמה אישית שסורקים את המשאבים והמדיניות שאתם מציינים באמצעות כללים שאתם מגדירים כדי לבדוק אם יש נקודות חולשה, הגדרות שגויות או הפרות של דרישות התאימות. Google Cloud
ההגדרה או ההגדרה של מודול בהתאמה אישית, בין אם יוצרים אותו במסוףGoogle Cloud או מקודדים אותו בעצמכם, קובעות את המשאבים שהגלאי בודק, את המאפיינים שהגלאי מעריך ואת המידע שהגלאי מחזיר כשמתגלה נקודת חולשה או הגדרה שגויה.
אפשר ליצור מודולים בהתאמה אישית לכל משאב או נכס ש-Security Command Center תומך בהם.
אם אתם כותבים בעצמכם הגדרות של מודולים בהתאמה אישית, אתם משתמשים ב-YAML ובביטויים של Common Expression Language (CEL). אם משתמשים במסוףGoogle Cloud כדי ליצור מודולים מותאמים אישית, רוב הקוד נוצר באופן אוטומטי, אבל עדיין צריך לקודד את ביטויי ה-CEL.
דוגמה להגדרת מודול בהתאמה אישית בקובץ YAML מופיעה במאמר דוגמה להגדרת מודול בהתאמה אישית.
מודולים בהתאמה אישית פועלים לצד גלאים מובנים של Security Health Analytics בסריקות בזמן אמת ובסריקות אצווה. במצב זמן אמת, הסריקות מופעלות בכל פעם שמשתנה ההגדרה של נכס. סריקות במצב אצווה מופעלות עם כל הגלאים בארגונים או בפרויקטים רשומים פעם ביום.
במהלך סריקה, כל גלאי בהתאמה אישית מופעל על כל הנכסים התואמים בכל ארגון, תיקייה או פרויקט שבהם הוא מופעל.
הממצאים מגלאים בהתאמה אישית נכתבים ב-Security Command Center.
למידע נוסף, קראו את המאמרים הבאים:
- יצירת מודולים בהתאמה אישית
- סוגי סריקות ב-Security Health Analytics
- סוגי המשאבים שנתמכים
- YAML
- מבוא ל-CEL
השוואה בין מזהים מובנים לבין מודולים בהתאמה אישית
אפשר לזהות דברים באמצעות מודולים בהתאמה אישית שלא ניתן לזהות באמצעות גלאי Security Health Analytics המובנים. עם זאת, גלאים מובנים תומכים בתכונות מסוימות של Security Command Center שמודולים בהתאמה אישית לא תומכים בהן.
תמיכה בתכונות
מודולים מותאמים אישית של Security Health Analytics לא נתמכים על ידי סימולציות של נתיבי תקיפה, ולכן ממצאים שנוצרים על ידי מודולים מותאמים אישית לא מקבלים ציוני חשיפה להתקפה או נתיבי תקיפה.
השוואה בין לוגיקות זיהוי
כדי להבין מה אפשר לעשות עם מודול מותאם אישית, נשווה בין מה שגלאי PUBLIC_SQL_INSTANCEבודק לבין מה שאפשר לעשות עם מודול מותאם אישית.
הגלאי המובנה PUBLIC_SQL_INSTANCE בודק אם המאפיין authorizedNetworks של מכונות Cloud SQL מוגדר לערך 0.0.0.0/0.
אם כן, הגלאי יוצר ממצא שמציין שהמכונה של Cloud SQL פתוחה לציבור, כי היא מקבלת חיבורים מכל כתובות ה-IP.
באמצעות מודול בהתאמה אישית, אפשר להטמיע לוגיקה מורכבת יותר של זיהוי כדי לבדוק מכונות Cloud SQL לגבי דברים כמו:
- כתובות IP עם קידומות ספציפיות, באמצעות תווים כלליים לחיפוש.
- הערך של המאפיין
state, שבו אפשר להשתמש כדי להתעלם ממופעים אם הערך מוגדר כ-MAINTENANCE, או כדי להפעיל ממצאים אם הערך הוא משהו אחר. - הערך של המאפיין
region, שבו אפשר להשתמש כדי להפעיל ממצאים רק למקרים עם כתובות IP ציבוריות באזורים ספציפיים.
תפקידים והרשאות נדרשים ב-IAM
תפקידי IAM קובעים את הפעולות שאפשר לבצע באמצעות מודולים בהתאמה אישית של Security Health Analytics.
בטבלה הבאה מפורטת רשימה של הרשאות מודול מותאם אישית ב-Security Health Analytics שנדרשות, וגם תפקידי ה-IAM שמוגדרים מראש וכוללים את ההרשאות האלה.
אפשר להשתמש במסוף Google Cloud או ב-Security Command Center API כדי להקצות את התפקידים האלה ברמת הארגון, התיקייה או הפרויקט. Google Cloud
| ההרשאות הנדרשות | תפקידים |
|---|---|
securitycentermanagement.securityHealthAnalyticsCustomModules.create
|
roles/securitycentermanagement.shaCustomModulesEditor |
securitycentermanagement.securityHealthAnalyticsCustomModules.list
|
roles/securitycentermanagement.shaCustomModulesViewer
|
מידע נוסף על הרשאות ותפקידים ב-IAM ועל אופן ההקצאה שלהם זמין במאמר הקצאת תפקיד ב-IAM באמצעות מסוף Google Cloud .
מכסות של מודולים בהתאמה אישית
מודולים מותאמים אישית של Security Health Analytics כפופים למגבלות מכסת השימוש.
מגבלת ברירת המחדל של המכסה ליצירת מודולים מותאמים אישית היא 100, אבל אפשר לבקש הגדלה של המכסה, אם צריך.
קריאות ל-API לשיטות של מודולים בהתאמה אישית כפופות גם למגבלות מכסה. בטבלה הבאה מוצגות הגבלות המכסה שמוגדרות כברירת מחדל לקריאות ל-API של מודולים בהתאמה אישית.
| סוג הקריאה ל-API | הגבלה |
|---|---|
| בקשות קריאה של CustomModules (Get, List) | 1,000 קריאות ל-API לדקה, לכל ארגון |
| בקשות כתיבה של CustomModules (יצירה, עדכון, מחיקה) | 60 קריאות ל-API לדקה, לכל ארגון |
| בקשות בדיקה של CustomModules | 12 קריאות ל-API לדקה, לכל ארגון |
כדי לבקש הגדלה של המכסה, שולחים בקשה במסוף Google Cloud בדף Quotas.
מידע נוסף על מכסות ב-Security Command Center זמין במאמר מכסות ומגבלות.
סוגי המשאבים שנתמכים
Access Context Manager-
accesscontextmanager.googleapis.com/AccessLevel -
accesscontextmanager.googleapis.com/AccessPolicy -
accesscontextmanager.googleapis.com/ServicePerimeter Address-
compute.googleapis.com/Address Alert Policymonitoring.googleapis.com/AlertPolicyAlloyDB for PostgreSQL-
alloydb.googleapis.com/Backup -
alloydb.googleapis.com/Cluster -
alloydb.googleapis.com/Instance Api Keys-
apikeys.googleapis.com/Key Artifact Registry Repository-
artifactregistry.googleapis.com/Repository Autoscaler-
compute.googleapis.com/Autoscaler Backend Bucket-
compute.googleapis.com/BackendBucket Backend Service-
compute.googleapis.com/BackendService BigQuery Data Transfer Service-
bigquerydatatransfer.googleapis.com/TransferConfig BigQuery Modelbigquery.googleapis.com/ModelBigQuery Tablebigquery.googleapis.com/TableBucket-
storage.googleapis.com/Bucket Cloud Billing Project Billing Info-
cloudbilling.googleapis.com/ProjectBillingInfo Cloud Data Fusion-
datafusion.googleapis.com/Instance Cloud Function-
cloudfunctions.googleapis.com/CloudFunction Cloud Run-
run.googleapis.com/DomainMapping -
run.googleapis.com/Execution -
run.googleapis.com/Job -
run.googleapis.com/Revision -
run.googleapis.com/Service Cluster-
container.googleapis.com/Cluster Cluster Role-
rbac.authorization.k8s.io/ClusterRole Cluster Role Binding-
rbac.authorization.k8s.io/ClusterRoleBinding Commitment-
compute.googleapis.com/Commitment Composer Environment-
composer.googleapis.com/Environment Compute Project-
compute.googleapis.com/Project -
compute.googleapis.com/SecurityPolicy CryptoKey-
cloudkms.googleapis.com/CryptoKey CryptoKey Version-
cloudkms.googleapis.com/CryptoKeyVersion Dataflow Job-
dataflow.googleapis.com/Job Dataproc Autoscaling Policy-
dataproc.googleapis.com/AutoscalingPolicy Dataproc Batch-
dataproc.googleapis.com/Batch Dataproc Cluster-
dataproc.googleapis.com/Cluster Dataproc Job-
dataproc.googleapis.com/Job Dataset-
bigquery.googleapis.com/Dataset Datastream Connection Profiledatastream.googleapis.com/ConnectionProfileDatastream Private Connectiondatastream.googleapis.com/PrivateConnectionDatastream Streamdatastream.googleapis.com/StreamDialogflow CX-
dialogflow.googleapis.com/Agent Disk-
compute.googleapis.com/Disk DLP Deidentify Template-
dlp.googleapis.com/DeidentifyTemplate DLP Inspect Template-
dlp.googleapis.com/InspectTemplate DLP Job-
dlp.googleapis.com/DlpJob DLP Job Trigger-
dlp.googleapis.com/JobTrigger DLP Stored Info Type-
dlp.googleapis.com/StoredInfoType DNS Policy-
dns.googleapis.com/Policy File Instance-
file.googleapis.com/Instance Firewall-
compute.googleapis.com/Firewall Firewall Policy-
compute.googleapis.com/FirewallPolicy Folder-
cloudresourcemanager.googleapis.com/Folder Forwarding Rule-
compute.googleapis.com/ForwardingRule Global Forwarding Rule-
compute.googleapis.com/GlobalForwardingRule Health Check-
compute.googleapis.com/HealthCheck Hub-
gkehub.googleapis.com/Feature -
gkehub.googleapis.com/Membership IAM Role-
iam.googleapis.com/Role Image-
compute.googleapis.com/Image Instance-
compute.googleapis.com/Instance Instance Group-
compute.googleapis.com/InstanceGroup Instance Group Manager-
compute.googleapis.com/InstanceGroupManagers Instance Template-
compute.googleapis.com/InstanceTemplate Interconnect Attachment-
compute.googleapis.com/InterconnectAttachment Keyring-
cloudkms.googleapis.com/KeyRing KMS Import Job-
cloudkms.googleapis.com/ImportJob Kubernetes CronJob-
batch.k8s.io/CronJob Kubernetes DaemonSet-
apps.k8s.io/DaemonSet Kubernetes Deployment-
apps.k8s.io/Deployment Kubernetes Ingress-
networking.k8s.io/Ingress Kubernetes NetworkPolicy-
networking.k8s.io/NetworkPolicy Kubernetes ReplicaSet-
apps.k8s.io/ReplicaSet Kubernetes Service-
k8s.io/Service Kubernetes StatefulSet-
apps.k8s.io/StatefulSet Log Bucket-
logging.googleapis.com/LogBucket Log Metric-
logging.googleapis.com/LogMetric Log Sink-
logging.googleapis.com/LogSink Managed Zone-
dns.googleapis.com/ManagedZone Machine Image-
compute.googleapis.com/MachineImage Monitoring Notification Channel-
monitoring.googleapis.com/NotificationChannel Namespace-
k8s.io/Namespace NetApp Snapshot-
netapp.googleapis.com/Snapshot NetApp Volume-
netapp.googleapis.com/Volume Network-
compute.googleapis.com/Network Network Endpoint Group-
compute.googleapis.com/NetworkEndpointGroup Node-
k8s.io/Node Node Group-
compute.googleapis.com/NodeGroup Node Template-
compute.googleapis.com/NodeTemplate Nodepoolcontainer.googleapis.com/NodePoolOrganization-
cloudresourcemanager.googleapis.com/Organization Organization Policy Service v2-
orgpolicy.googleapis.com/CustomConstraint -
orgpolicy.googleapis.com/Policy Packet Mirroring-
compute.googleapis.com/PacketMirroring Pod-
k8s.io/Pod Private CA Certificate-
privateca.googleapis.com/Certificate Private CA Certificate Revocation List-
privateca.googleapis.com/CertificateRevocationList Project-
cloudresourcemanager.googleapis.com/Project Pubsub Snapshot-
pubsub.googleapis.com/Snapshot Pubsub Subscription-
pubsub.googleapis.com/Subscription Pubsub Topic-
pubsub.googleapis.com/Topic Redis Cluster-
redis.googleapis.com/Cluster Redis Instance-
redis.googleapis.com/Instance Region Backend Service-
compute.googleapis.com/RegionBackendService Region Disk-
compute.googleapis.com/RegionDisk Reservation-
compute.googleapis.com/Reservation Resource Policy-
compute.googleapis.com/ResourcePolicy Route-
compute.googleapis.com/Route Router-
compute.googleapis.com/Router Role-
rbac.authorization.k8s.io/Role Role Binding-
rbac.authorization.k8s.io/RoleBinding Secret Manager-
secretmanager.googleapis.com/Secret Secret Version-
secretmanager.googleapis.com/SecretVersion Service Account Key-
iam.googleapis.com/ServiceAccountKey ServiceUsage Service-
serviceusage.googleapis.com/Service Snapshot-
compute.googleapis.com/Snapshot Spanner Backup-
spanner.googleapis.com/Backup Spanner Database-
spanner.googleapis.com/Database Spanner Instance-
spanner.googleapis.com/Instance SQL Backup Run-
sqladmin.googleapis.com/BackupRun SQL Instance-
sqladmin.googleapis.com/Instance SSL Certificate-
compute.googleapis.com/SslCertificate SSL Policy-
compute.googleapis.com/SslPolicy Subnetwork-
compute.googleapis.com/Subnetwork Tag Binding-
cloudresourcemanager.googleapis.com/TagBinding Target HTTP Proxy-
compute.googleapis.com/TargetHttpProxy Target HTTPS Proxy-
compute.googleapis.com/TargetHttpsProxy Target Instance-
compute.googleapis.com/TargetInstance Target Pool-
compute.googleapis.com/TargetPool Target SSL Proxy-
compute.googleapis.com/TargetSslProxy Target VPN Gateway-
compute.googleapis.com/TargetVpnGateway URL Map-
compute.googleapis.com/UrlMap Vertex AI-
aiplatform.googleapis.com/BatchPredictionJob -
aiplatform.googleapis.com/CustomJob -
aiplatform.googleapis.com/Dataset -
aiplatform.googleapis.com/Endpoint -
aiplatform.googleapis.com/Featurestore -
aiplatform.googleapis.com/HyperparameterTuningJob -
aiplatform.googleapis.com/Index -
aiplatform.googleapis.com/MetadataStore -
aiplatform.googleapis.com/Model -
aiplatform.googleapis.com/SpecialistPool -
aiplatform.googleapis.com/Tensorboard -
aiplatform.googleapis.com/TrainingPipeline -
aiplatform.googleapis.com/NotebookRuntimeTemplate Vertex AI Workbench-
notebooks.googleapis.com/Instance VMware Engine-
vmwareengine.googleapis.com/Cluster -
vmwareengine.googleapis.com/ExternalAccessRule -
vmwareengine.googleapis.com/ExternalAddress -
vmwareengine.googleapis.com/VmwareEngineNetwork -
vmwareengine.googleapis.com/NetworkPeering -
vmwareengine.googleapis.com/NetworkPolicy -
vmwareengine.googleapis.com/PrivateCloud -
vmwareengine.googleapis.com/PrivateConnection VPC Connector-
vpcaccess.googleapis.com/Connector VPN Gateway-
compute.googleapis.com/VpnGateway VPN Tunnel-
compute.googleapis.com/VpnTunnel Workstations-
workstations.googleapis.com/Workstation -
workstations.googleapis.com/WorkstationConfig
המאמרים הבאים
- כדי לעבוד עם מודולים מותאמים אישית, אפשר לקרוא את המאמר שימוש במודולים מותאמים אישית ב-Security Health Analytics.
- כדי לכתוב קוד להגדרות של מודולים מותאמים אישית בעצמכם, אפשר לעיין במאמר בנושא כתיבת קוד למודולים מותאמים אישית ב-Security Health Analytics.
- כדי לבדוק את המודולים המותאמים אישית, אפשר לעיין במאמר בנושא בדיקת מודולים מותאמים אישית ב-Security Health Analytics.