یک خطمشی مدیریت هویت و دسترسی (IAM)، که کنترلهای دسترسی را برای منابع Google Cloud مشخص میکند.
یک Policy
مجموعه ای از bindings
است. یک binding
یک یا چند members
یا مدیر را به یک role
واحد متصل می کند. اصلیها میتوانند حسابهای کاربر، حسابهای خدمات، گروههای Google و دامنهها (مانند G Suite) باشند. role
یک لیست نامگذاری شده از مجوزها است. هر role
می تواند یک نقش از پیش تعریف شده IAM یا یک نقش سفارشی ایجاد شده توسط کاربر باشد.
برای برخی از انواع منابع Google Cloud، یک binding
همچنین میتواند یک condition
را مشخص کند، که یک عبارت منطقی است که تنها در صورتی امکان دسترسی به یک منبع را فراهم میکند که عبارت true
ارزیابی شود. یک شرط می تواند بر اساس ویژگی های درخواست، منبع یا هر دو محدودیت هایی اضافه کند. برای اطلاع از اینکه کدام منابع شرایط را در خطمشیهای IAM پشتیبانی میکنند، به مستندات IAM مراجعه کنید.
مثال 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
برای توضیح IAM و ویژگی های آن، به مستندات IAM مراجعه کنید.
نمایندگی JSON |
---|
{
"version": integer,
"bindings": [
{
object ( |
فیلدها | |
---|---|
version | فرمت خط مشی را مشخص می کند. مقادیر معتبر هر عملیاتی که بر پیوندهای نقش شرطی تأثیر می گذارد باید نسخه
مهم: اگر از شرایط IAM استفاده میکنید، باید هر زمان که اگر یک خطمشی شامل هیچ شرطی نباشد، عملیات روی آن خطمشی ممکن است هر نسخه معتبری را مشخص کند یا فیلد تنظیم نشده باقی بماند. برای اطلاع از اینکه کدام منابع شرایط را در خطمشیهای IAM پشتیبانی میکنند، به مستندات IAM مراجعه کنید. |
bindings[] | فهرستی از |
etag | مهم: اگر از شرایط IAM استفاده میکنید، باید هر زمان که رشته ای با کد base64. |