یک خطمشی مدیریت هویت و دسترسی (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. |