יצירה וגישה לסוד באמצעות Secret Manager
Google Cloudמידע נוסף על יצירה וגישה לסודות באמצעות Secret Manager
לפני שמתחילים
- מפעילים את Secret Manager API, פעם אחת לכל פרויקט.
- מקצים את התפקיד Secret Manager Admin (אדמין של Secret Manager) (
roles/secretmanager.admin) בפרויקט, בתיקייה או בארגון. כדי לבצע אימות ל-Secret Manager API, אפשר להשתמש באחת מהדרכים הבאות:
- אם אתם משתמשים בספריות לקוח כדי לגשת ל-Secret Manager API, אתם צריכים להגדיר Application Default Credentials.
- אם אתם משתמשים ב-Google Cloud CLI כדי לגשת ל-Secret Manager API, אתם צריכים להשתמש בפרטי הכניסה של Google Cloud CLI כדי לבצע אימות.
- כדי לאמת קריאה ל-REST, משתמשים בפרטי הכניסה ל-Google Cloud CLI או ב-Application Default Credentials.
יצירת סוד וגישה לגרסת סוד
בדוגמאות הבאות מוסבר איך ליצור סוד ולגשת לתוכן של גרסת סוד.
המסוף
כדי ליצור את הסוד ואת גרסת הסוד:
-
נכנסים לדף Secret Manager במסוף Google Cloud .
-
בדף Secret Manager, לוחצים על Create Secret (יצירת סוד).
-
בדף יצירת Secret, בשדה שם, מזינים
my-secret. -
בשדה ערך סודי, מזינים
my super secret data. -
לוחצים על הלחצן Create secret.
כדי לגשת לתוכן של הגרסה הסודית:
-
נכנסים לדף Secret Manager במסוף Google Cloud .
-
בדף Secret Manager (ניהול סודות), לוחצים על my-secret.
-
בדף Secret details (פרטי הסוד), בטבלה Versions (גרסאות), מוצאים את גרסה 1.
-
בעמודה פעולות, לוחצים על הצגת אפשרויות נוספות.
-
בתפריט, לוחצים על הצגת ערך הסוד.
-
מופיעה תיבת דו-שיח עם ערך הסוד. לוחצים על סיום כדי לסגור את תיבת הדו-שיח.
gcloud
כדי להשתמש ב-Secret Manager בשורת הפקודה, קודם צריך להתקין את Google Cloud CLI או לשדרג לגרסה 378.0.0 ואילך. ב-Compute Engine או ב-GKE, צריך לעבור אימות באמצעות ההיקף cloud-platform.
כדי ליצור סוד ולאחסן מחרוזת כתוכן של הגרסה הראשונה של הסוד:
$ echo -n "my super secret data" | gcloud secrets create my-secret \
--replication-policy="replication-policy" \
--data-file=-
כאשר replication-policy הוא automatic או user-managed.
כדי לגשת לתוכן של גרסה ספציפית של סוד:
$ gcloud secrets versions access 1 --secret="my-secret"
כדי לגשת לתוכן של הגרסה האחרונה של הסוד:
$ gcloud secrets versions access latest --secret="my-secret"
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת C# ולהתקין את Secret Manager C# SDK. ב-Compute Engine או ב-GKE, צריך לעבור אימות באמצעות ההיקף cloud-platform.
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Go ולהתקין את Secret Manager Go SDK. ב-Compute Engine או ב-GKE, צריך לעבור אימות באמצעות ההיקף cloud-platform.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Java ולהתקין את Secret Manager Java SDK. ב-Compute Engine או ב-GKE, צריך לעבור אימות באמצעות ההיקף cloud-platform.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Secret Manager Node.js SDK. ב-Compute Engine או ב-GKE, צריך לעבור אימות באמצעות ההיקף cloud-platform.
PHP
כדי להריץ את הקוד הזה, קודם צריך לקרוא על שימוש ב-PHP ב-Google Cloud ולהתקין את Secret Manager PHP SDK. ב-Compute Engine או ב-GKE, צריך לעבור אימות באמצעות ההיקף cloud-platform.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת Python ולהתקין את Secret Manager Python SDK. ב-Compute Engine או ב-GKE, צריך לעבור אימות באמצעות ההיקף cloud-platform.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Secret Manager Ruby SDK. ב-Compute Engine או ב-GKE, צריך לעבור אימות באמצעות ההיקף cloud-platform.
API
בדוגמאות האלה נעשה שימוש ב-curl כדי להדגים את השימוש ב-API. אפשר ליצור אסימוני גישה באמצעות הפקודה gcloud auth print-access-token. ב-Compute Engine או ב-GKE, צריך לעבור אימות באמצעות ההיקף cloud-platform.
כדי ליצור את הסוד ולאחסן מחרוזת כתוכן של גרסת סוד:
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets?secretId=my-secret" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"replication\": {\"automatic\": {}}}"
כדי לגשת לתוכן של הגרסה הסודית:
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/my-secret/versions/1:access" \
--request "GET" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json"