تشفير بيانات المستخدمين

تتيح Data Manager API تشفير البيانات باستخدام خدمات إدارة المفاتيح التالية:

يختلف توفّر بعض حالات الاستخدام حسب خدمة إدارة المفاتيح (KMS):

الفئة حالة الاستخدام Google Cloud KMS AWS KMS
شرائح الجمهور إرسال رسائل إلى أفراد الجمهور
الأحداث الإحالات الناجحة غير الإلكترونية أو الإحالات الناجحة المحسّنة للعملاء المحتملين
الأحداث الإحالات الناجحة للمبيعات في المتاجر على "إعلانات Google"
الأحداث الإحالات الناجحة المتعددة المصادر في "إعلانات Google"
الأحداث أحداث "إحصاءات Google" المتعدّدة المصادر

إعداد Google Cloud KMS

في ما يلي خطوات إعداد موارد Google Cloud KMS للتشفير.

إعداد واجهة سطر الأوامر في Google Cloud

  1. ثبِّت واجهة سطر الأوامر في Google Cloud وأعِد ضبطها.

  2. لاختيار مشروع جديد أو إنشاء مشروع جديد على Google Cloud وتفعيل خدمة إدارة المفاتيح على السحابة الإلكترونية، انقر على تفعيل Cloud KMS.

    تفعيل Cloud KMS
  3. لضبط مشروعك في بيئتك، استخدِم الأمر gcloud config set. للتحقّق مما إذا كان المشروع قد تم إعداده في بيئتك، شغِّل gcloud config list.

    إذا لم يتم ضبط project، أو إذا أردت استخدام مشروع مختلف لمفتاحك، شغِّل gcloud config set:

    gcloud config set project PROJECT_ID
    

إنشاء مفتاح

لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على Cloud Key Management Service.

  1. أنشئ سلسلة مفاتيح.

    gcloud kms keyrings create KEY_RING_NAME \
        --location KEY_RING_LOCATION
    

    لمزيد من المعلومات، يُرجى الاطّلاع على إنشاء سلسلة مفاتيح.

  2. أنشئ مفتاحًا في سلسلة المفاتيح. يشير ROTATION_PERIOD إلى الفترة الزمنية التي يجب تدوير المفتاح فيها، ويشير NEXT_ROTATION_TIME إلى تاريخ ووقت حدوث عملية التدوير الأولى.

    على سبيل المثال، لتدوير المفتاح كل 30 يومًا وإجراء عملية التدوير الأولى خلال أسبوع واحد، اضبط ROTATION_PERIOD على 30d وNEXT_ROTATION_TIME على $(date --utc --date="next week" --iso-8601=seconds).

    gcloud kms keys create KEY_NAME \
        --keyring KEY_RING_NAME \
        --location KEY_RING_LOCATION \
        --purpose "encryption" \
        --rotation-period ROTATION_PERIOD \
        --next-rotation-time "NEXT_ROTATION_TIME"
    

    لمزيد من المعلومات، يُرجى الاطّلاع على إنشاء مفتاح.

إنشاء موفِّر لمجموعة المعلومات التعريفية

يتضمّن هذا القسم نظرة عامة موجزة على Workload Identity Federation. لمزيد من المعلومات، يُرجى الاطّلاع على اتحاد موفّري هويات خدمات المعالجة.

  1. أنشئ مجموعة معلومات تعريفية للمعالجة (WIP). يجب أن تكون قيمة location للمجموعة global.

    gcloud iam workload-identity-pools create WIP_ID \
       --location=global \
       --display-name="WIP_DISPLAY_NAME" \
       --description="WIP_DESCRIPTION"
    

    لمزيد من المعلومات، راجِع المستند إدارة موفّري ومجموعات المعلومات التعريفية.

  2. إنشاء موفِّر لمجموعة معلومات تعريفية للمعالجة تتحقّق الوسيطة --attribute-condition من أنّ مقدّم الطلب هو حساب خدمة مطابقة مراعية للخصوصية.

    gcloud iam workload-identity-pools providers create-oidc PROVIDER_ID \
       --location=global \
       --workload-identity-pool=WIP_ID \
       --display-name="PROVIDER_DISPLAY_NAME" \
       --description="PROVIDER_DESCRIPTION" \
       --attribute-mapping="google.subject=assertion.sub,google.groups=[\"PROVIDER_ID\"]" \
       --attribute-condition="assertion.swname == 'CONFIDENTIAL_SPACE' &&
         'STABLE' in assertion.submods.confidential_space.support_attributes &&
         ['cfm-services@admcloud-cfm-services.iam.gserviceaccount.com'].exists(
             a, a in assertion.google_service_accounts) &&
         'ECDSA_P256_SHA256:6b1f357b59e9407fb017ca0e3e783b2bd5acbfea6c83dd82971a4150df5b25f9'
         in assertion.submods.container.image_signatures.map(sig, sig.signature_algorithm+':'+sig.key_id)" \
       --issuer-uri="https://confidentialcomputing.googleapis.com" \
       --allowed-audiences="https://sts.googleapis.com"
    
  3. امنح موفّر WIP دور أداة فك التشفير المفاتيح.

    # Grants the role to the WIP provider.
    gcloud kms keys add-iam-policy-binding KEY_NAME \
        --keyring KEY_RING_NAME \
        --location KEY_RING_LOCATION \
        --member "principalSet://iam.googleapis.com/projects/PROJECT_ID/locations/global/workloadIdentityPools/WIP_ID/group/PROVIDER_ID" \
        --role "roles/cloudkms.cryptoKeyDecrypter"
    
  4. إذا كنت تريد تشفير بيانات الأحداث للإحالات الناجحة غير الإلكترونية و"الإحالات الناجحة المحسّنة للعملاء المحتملين"، عليك منح دور فك تشفير المفتاح لحساب خدمة Google datamanager-api@datamanager-ga.iam.gserviceaccount.com.

    # Grants the role to the Google service account.
    gcloud kms keys add-iam-policy-binding KEY_NAME \
        --keyring KEY_RING_NAME \
        --location KEY_RING_LOCATION \
        --member "serviceAccount:datamanager-api@datamanager-ga.iam.gserviceaccount.com" \
        --role "roles/cloudkms.cryptoKeyDecrypter"
    

انتقِل إلى قسم تشفير البيانات.

إعداد AWS KMS

في ما يلي خطوات إعداد موارد AWS KMS للتشفير.

إعداد واجهة سطر الأوامر من AWS

  1. تثبيت واجهة سطر الأوامر من AWS
  2. نفِّذ الأمر التالي للتحقّق من عملية التثبيت:

    aws --version
    

    في ما يلي مقتطف من الناتج لعملية تثبيت ناجحة:

    aws-cli/2.31.12 Python/3.13.7 ...
    

إعداد مستخدم AWS وتسجيل الدخول

  1. أكمِل المتطلبات الأساسية لاستخدام واجهة سطر الأوامر من AWS.
  2. سجِّل الدخول إلى جلسة "مركز إدارة الهوية في IAM".

إنشاء مفتاح

  1. أنشئ مفتاح KMS متماثل (KEK).

    aws kms create-key \
      --key-usage ENCRYPT_DECRYPT \
      --key-spec SYMMETRIC_DEFAULT \
      --description "KEK for Confidential Matching Data Encryption"
    

    لاحظ Arn تحت KeyMetadata في الناتج. ستحتاج إلى اسم مورد Amazon (ARN) هذا في خطوات أخرى.