סקירה כללית על שירות ניהול מפתחות (KMS) API

ממשק ה-API של Key Management Service‏ (KMS) משתמש במשאבים מותאמים אישית של Kubernetes כדי לנהל את מחזור החיים של המפתחות הקריפטוגרפיים.

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

נקודת קצה של שירות ומסמך Discovery

ממשקי ה-KMS API מסופקים בשני חבילות, בהתאם לפריסה אזורית או לפריסה גלובלית.

נקודות הקצה של ממשקי ה-API של KMS ברמת האזור וברמה הגלובלית הן:

  • https://MANAGEMENT_API_SERVER_ENDPOINT/apis/kms.gdc.goog/v1
  • https://MANAGEMENT_API_SERVER_ENDPOINT/apis/kms.global.gdc.goog/v1

המשתנה MANAGEMENT_API_SERVER_ENDPOINT הוא נקודת הקצה של שרת Management API.

משתמשים בפקודה kubectl proxy כדי לגשת לכתובת ה-URL בדפדפן ולקבל את מסמך ה-Discovery של KMS API. הפקודה kubectl proxy פותחת פרוקסי ב-127.0.0.1:8001 לשרת ה-API של Kubernetes במחשב המקומי. אחרי שמריצים את הפקודה הזו, אפשר לגשת למסמכים בכתובות ה-URL הבאות:

  • http://127.0.0.1:8001/apis/kms.gdc.goog/v1
  • http://127.0.0.1:8001/apis/kms.global.gdc.goog/v1

משאבים לדוגמה

אלה משאבים לדוגמה. מרחב השמות הוא מרחב שמות של פרויקט. למידע נוסף על יצירה וניהול של משאבי AEADKey ו-SigningKey במרחב שמות של פרויקט, ראו יצירה ומחיקה של מפתחות.

משאב AEADKey

apiVersion: "kms.gdc.goog/v1"
kind: AEADKey
metadata:
  name: my-test-key
  namespace: user-kms-project
spec:
  algorithm: AES_256_GCM

משאב SigningKey

apiVersion: "kms.gdc.goog/v1"
kind: SigningKey
metadata:
  name: my-test-key
  namespace: user-kms-project
spec:
  algorithm: EC_SIGN_P384_SHA384

משאב KeyImport

apiVersion: "kms.gdc.goog/v1"
kind: KeyImport
metadata:
  name: my-test-key-import
  namespace: user-kms-project
spec:
  context:
    mechanism: ECDH_P521_AES256

משאב KeyExport

apiVersion: "kms.gdc.goog/v1"
kind: KeyExport
metadata:
  name: my-test-key-export
  namespace: user-kms-project
spec:
  context:
    mechanism: ECDH_P521_AES256
    publicKey: pub_key_from_import
  keyToExport:
    kind: AEADKey
    name: key_name_to_export

משאב RotationJob

apiVersion: "kms.gdc.goog/v1"
kind: RotationJob
metadata:
  name: my-test-rotate-job
spec:
  rootKeyResourceName: namespaces/kms-system/secrets/kms-key-ctm-root