Policy

سياسة "إدارة الهوية وإمكانية الوصول" (IAM) التي تحدّد عناصر التحكّم في الوصول إلى موارد Google Cloud

Policy هي مجموعة من bindings. يربط binding واحدًا أو أكثر من members أو الجهات الرئيسية بـ role واحد. يمكن أن تكون الجهات الرئيسية حسابات مستخدمين أو حسابات خدمات أو مجموعات Google أو نطاقات (مثل G Suite). role هي قائمة مسمّاة بالأذونات، ويمكن أن يكون كل role دورًا محدّدًا مسبقًا في "إدارة الهوية وإمكانية الوصول" أو دورًا مخصّصًا أنشأه المستخدم.

بالنسبة إلى بعض أنواع موارد Google Cloud، يمكن أن يحدّد binding أيضًا condition، وهو تعبير منطقي يسمح بالوصول إلى مورد معيّن فقط إذا تم تقييم التعبير على أنّه true. يمكن أن تضيف الحالة قيودًا استنادًا إلى سمات الطلب أو المورد أو كليهما. لمعرفة المراجع التي تتيح استخدام الشروط في سياسات "إدارة الهوية وإمكانية الوصول"، يُرجى الاطّلاع على مستندات "إدارة الهوية وإمكانية الوصول".

مثال على JSON:

    {
      "bindings": [
        {
          "role": "roles/resourcemanager.organizationAdmin",
          "members": [
            "user:mike@example.com",
            "group:admins@example.com",
            "domain:google.com",
            "serviceAccount:my-project-id@appspot.gserviceaccount.com"
          ]
        },
        {
          "role": "roles/resourcemanager.organizationViewer",
          "members": [
            "user:eve@example.com"
          ],
          "condition": {
            "title": "expirable access",
            "description": "Does not grant access after Sep 2020",
            "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
          }
        }
      ],
      "etag": "BwWWja0YfJA=",
      "version": 3
    }

مثال على YAML:

    bindings:
    - members:
      - user:mike@example.com
      - group:admins@example.com
      - domain:google.com
      - serviceAccount:my-project-id@appspot.gserviceaccount.com
      role: roles/resourcemanager.organizationAdmin
    - members:
      - user:eve@example.com
      role: roles/resourcemanager.organizationViewer
      condition:
        title: expirable access
        description: Does not grant access after Sep 2020
        expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
    etag: BwWWja0YfJA=
    version: 3

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

تمثيل JSON
{
  "version": integer,
  "bindings": [
    {
      object (Binding)
    }
  ],
  "etag": string
}
الحقول
version

integer

تحدّد هذه السمة تنسيق السياسة.

القيم الصالحة هي 0 و1 و3. يتم رفض الطلبات التي تحدّد قيمة غير صالحة.

يجب أن تحدّد أي عملية تؤثر في ربط الأدوار الشرطي الإصدار 3. ينطبق هذا الشرط على العمليات التالية:

  • الحصول على سياسة تتضمّن ربطًا مشروطًا للأدوار
  • إضافة ربط دور شرطي إلى سياسة
  • تغيير ربط دور مشروط في سياسة
  • إزالة أي ربط أدوار، سواء كان ذلك مع شرط أو بدون شرط، من سياسة تتضمّن شروطًا

ملاحظة مهمة: في حال استخدام "شروط إدارة الهوية وإمكانية الوصول" (IAM)، يجب تضمين الحقل etag عند استدعاء setIamPolicy. في حال إغفال هذا الحقل، ستسمح لك خدمة "إدارة الهوية وإمكانية الوصول" (IAM) بالكتابة فوق سياسة الإصدار 3 باستخدام سياسة الإصدار 1، وسيتم فقدان جميع الشروط في سياسة الإصدار 3.

إذا لم تتضمّن السياسة أي شروط، يمكن أن تحدّد العمليات على هذه السياسة أي إصدار صالح أو ترك الحقل بدون ضبط.

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

bindings[]

object (Binding)

يربط هذا النوع قائمة members أو جهات رئيسية بـ role. يمكنك اختياريًا تحديد condition يحدّد طريقة ووقت تطبيق bindings. يجب أن يحتوي كل bindings على مدير واحد على الأقل.

يمكن أن يشير bindings في Policy إلى ما يصل إلى 1,500 مستخدم أساسي، ويمكن أن يكون ما يصل إلى 250 من هؤلاء المستخدمين الأساسيين عبارة عن مجموعات Google. يتم احتساب كل تكرار لجهة رئيسية ضمن هذه الحدود. على سبيل المثال، إذا منح bindings 50 دورًا مختلفًا إلى user:alice@example.com، ولم يمنح أي دور إلى أيّ كيان أساسي آخر، يمكنك إضافة 1,450 كيانًا أساسيًا آخر إلى bindings في Policy.

etag

string (bytes format)

يتم استخدام etag للتحكّم المتزامن المتفائل كوسيلة للمساعدة في منع التعديلات المتزامنة على إحدى السياسات من الكتابة فوق بعضها البعض. يُنصح بشدة بأن تستخدم الأنظمة etag في دورة القراءة والتعديل والكتابة لإجراء تعديلات على السياسات من أجل تجنُّب حالات التنافس: يتم عرض etag في الرد على getIamPolicy، ومن المتوقّع أن تضع الأنظمة علامة etag هذه في الطلب إلى setIamPolicy لضمان تطبيق التغيير على الإصدار نفسه من السياسة.

ملاحظة مهمة: في حال استخدام "شروط إدارة الهوية وإمكانية الوصول" (IAM)، يجب تضمين الحقل etag عند استدعاء setIamPolicy. في حال إغفال هذا الحقل، ستسمح لك خدمة "إدارة الهوية وإمكانية الوصول" (IAM) بالكتابة فوق سياسة الإصدار 3 باستخدام سياسة الإصدار 1، وسيتم فقدان جميع الشروط في سياسة الإصدار 3.

سلسلة مرمّزة باستخدام Base64