ממשק ה-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/v1https://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/v1http://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