Binding

ربط members أو مديرين بـ role

تمثيل JSON
{
  "role": string,
  "members": [
    string
  ],
  "condition": {
    object (Expr)
  }
}
الحقول
role

string

الدور الذي تم تعيينه لقائمة members أو الجهات الرئيسية على سبيل المثال، roles/viewer أو roles/editor أو roles/owner.

للحصول على نظرة عامة على أدوار وأذونات "إدارة الهوية وإمكانية الوصول"، راجِع مستندات "إدارة الهوية وإمكانية الوصول". للاطّلاع على قائمة بالأدوار المحدّدة مسبقًا المتوفّرة، يُرجى الانتقال إلى هذه الصفحة.

members[]

string

تحدِّد هذه السمة الجهات الأساسية التي تطلب الوصول إلى أحد موارد Google Cloud. يمكن أن تتضمّن members القيم التالية:

  • allUsers: معرّف خاص يمثّل أي شخص على الإنترنت، سواء كان لديه حساب Google أو لا.

  • allAuthenticatedUsers: معرّف خاص يمثّل أي مستخدم تمت مصادقته باستخدام حساب Google أو حساب خدمة. لا يشمل الهويات التي تأتي من موفّري الهوية الخارجيين من خلال اتحاد الهوية.

  • user:{emailid}: هو عنوان بريد إلكتروني يمثّل حسابًا معيّنًا على Google. على سبيل المثال، alice@example.com .

  • serviceAccount:{emailid}: هو عنوان بريد إلكتروني يمثّل حساب خدمة Google. على سبيل المثال، my-other-app@appspot.gserviceaccount.com.

  • serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: معرّف لحساب خدمة Kubernetes. على سبيل المثال، my-project.svc.id.goog[my-namespace/my-kubernetes-sa].

  • group:{emailid}: عنوان بريد إلكتروني يمثّل مجموعة Google. مثلاً: admins@example.com

  • domain:{domain}: نطاق G Suite (الأساسي) الذي يمثّل جميع مستخدمي هذا النطاق. على سبيل المثال، google.com أو example.com.
  • principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: هوية واحدة في مجموعة معلومات تعريفية خاصة بموظفين

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{groupId}: جميع هويات الموظفين في مجموعة

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attributeName}/{attribute_value}: جميع هويات الموظفين التي تتضمّن قيمة سمة معيّنة

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: جميع الهويات في مجموعة معلومات تعريفية للموظفين

  • principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: هوية واحدة في مجموعة معلومات تعريفية.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{groupId}: مجموعة من مجموعات Workload Identity Pool

  • استبدِل principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attributeName}/{attribute_value} بجميع الهويات في مجموعة معلومات تعريفية تتضمّن سمة معيّنة.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: جميع الهويات في مجموعة معلومات تعريفية.

  • deleted:user:{emailid}?uid={uniqueid}: عنوان بريد إلكتروني (بالإضافة إلى معرّف فريد) يمثّل مستخدمًا تم حذفه مؤخرًا. على سبيل المثال، alice@example.com?uid=123456789012345678901. في حال استرداد المستخدم، تعود هذه القيمة إلى user:{emailid} ويحتفظ المستخدم المسترد بالدور في الربط.

  • deleted:serviceAccount:{emailid}?uid={uniqueid}: عنوان بريد إلكتروني (بالإضافة إلى معرّف فريد) يمثّل حساب خدمة تم حذفه مؤخرًا. على سبيل المثال، my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. إذا تم استرداد حساب الخدمة، ستعود هذه القيمة إلى serviceAccount:{emailid} وسيحتفظ حساب الخدمة المستردّ بالدور في عملية الربط.

  • deleted:group:{emailid}?uid={uniqueid}: عنوان بريد إلكتروني (بالإضافة إلى معرّف فريد) يمثّل مجموعة Google تم حذفها مؤخرًا. مثلاً: admins@example.com?uid=123456789012345678901 في حال استرداد المجموعة، تعود هذه القيمة إلى group:{emailid} وتحتفظ المجموعة المستردة بالدور في عملية الربط.

  • deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: تم حذف هوية واحدة في مجموعة معلومات تعريفية خاصة بموظفين. على سبيل المثال، deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value.

condition

object (Expr)

الشرط المرتبط بهذا الربط.

إذا تم تقييم الشرط على أنّه true، ينطبق هذا الربط على الطلب الحالي.

إذا تم تقييم الشرط على أنّه false، لن ينطبق هذا الربط على الطلب الحالي. ومع ذلك، قد يمنح ربط دور مختلف الدور نفسه لواحد أو أكثر من الجهات الرئيسية في هذا الربط.

لمعرفة المراجع التي تتيح استخدام الشروط في سياسات "إدارة الهوية وإمكانية الوصول"، يُرجى الاطّلاع على مستندات "إدارة الهوية وإمكانية الوصول".

Expr

تمثّل هذه السمة تعبيرًا نصيًا في بنية "لغة التعبير الشائعة" (CEL). ‫CEL هي لغة تعبير تشبه لغة C. يمكن الاطّلاع على بنية CEL ودلالاتها في https://github.com/google/cel-spec.

مثال (مقارنة):

title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"

مثال (المساواة):

title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"

مثال (المنطق):

title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"

مثال (معالجة البيانات):

title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"

يتم تحديد المتغيرات والدوال الدقيقة التي يمكن الرجوع إليها ضِمن تعبير من خلال الخدمة التي تقيّمها. يُرجى الاطّلاع على مستندات الخدمة للحصول على معلومات إضافية.

تمثيل JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
الحقول
expression

string

تمثيل نصي لتعبير في بنية Common Expression Language.

title

string

اختيارية: تمثّل هذه السمة عنوان التعبير، أي سلسلة قصيرة تصف الغرض منه. يمكن استخدام هذه السمة مثلاً في واجهات المستخدم التي تتيح إدخال التعبير.

description

string

اختيارية: تمثّل هذه السمة وصف العبارة. هذا نص أطول يصف التعبير، مثلاً عند تمرير مؤشر الماوس فوقه في واجهة مستخدم.

location

string

اختيارية: سلسلة تشير إلى موقع التعبير لإعداد تقارير الأخطاء، مثل اسم ملف وموضع في الملف