הגדרת Tink Python

ספריית Tink Python‏, tink-py, תומכת ב-Python 3.10 ומעלה ב-macOS ‏ (x86-64 ו-ARM64), ב-Linux ‏ (x86-64 ו-ARM64) וב-Windows ‏ (x86-64). הגרסה האחרונה היא 1.16.0. אפשר להתקין אותו באופן מקומי באמצעות Pip או להשתמש בו עם Bazel.

‫Tink Python מספק שילובים עם AWS KMS,‏ Google Cloud KMS ו-HashiCorp Vault.

צִפצוּף

אפשר להתקין את גרסת ה-Tink Python הבינארית למערכת מ-PyPI באמצעות הפקודה הבאה:

pip3 install tink==1.16.0
# Core Tink + Google Cloud KMS extension.
pip3 install tink[gcpkms]==1.16.0
# Core Tink + AWS KMS extension.
pip3 install tink[awskms]==1.16.0
# Core Tink + HashiCorp Vault KMS extension.
pip3 install tink[hcvault]==1.16.0
# Core Tink + all the KMS extensions.
pip3 install tink[all]==1.16.0

אם חבילה בינארית לא מתפרסמת בסביבה שלכם, pip באופן אוטומטי חוזר לבניית הפרויקט באמצעות הפצת המקור שפורסמה ב-PyPI. במקרה כזה, צריך להתקין את Bazel או את Bazelisk ואת הקומפיילר של protobuf כדי לבנות את הפרויקט בהצלחה.

Bazel

משתמשי Bazel יכולים להשתמש ב-Tink Python כתלות ב-pip באמצעות מאקרו pip_parse של rules_python, או כתלות ב-Bazel ב-MODULE.bazel:

bazel_dep(name = "tink_py")
archive_override(
    module_name = "tink_py",
    urls = ["https://github.com/tink-crypto/tink-py/archive/refs/tags/v1.16.0.zip"],
    strip_prefix = "tink-py-1.16.0",
    sha256 = "176f9d034764624adcfc8d885d9fac6d28dfabc4ef2adbcb1894a07f230c9584",
)

הערה: אנחנו לא מפרסמים את Tink Python במאגר המרכזי של Bazel.

השלבים הבאים

אחרי שמסיימים להגדיר את Tink, ממשיכים לשלבים הרגילים לשימוש ב-Tink:

  • בחירת פרימיטיב – מחליטים באיזה פרימיטיב להשתמש בהתאם לתרחיש לדוגמה
  • ניהול מפתחות – הגנה על המפתחות באמצעות KMS חיצוני, יצירת קבוצות מפתחות והחלפת מפתחות