کنترل دسترسی به منابع

You can share the assets or compute quota of your Earth Engine enabled project with other Earth Engine users at the project level. Earth Engine assets or compute can be shared with another user or group of users. If you want to share with a group of users, Create a new Google Group and note its email (available from the About link on the group page). This page describes how to provide access to resources, for either an individual or group and the Roles and Permissions required for different activities.

تنظیم میزان استفاده از سرویس Earth Engine

برای استفاده از API موتور زمین در یک پروژه ابری، API باید در پروژه فعال باشد و کاربر باید حداقل مجوزهای نقش نمایشگر منابع موتور زمین را داشته باشد (درباره نقش‌های از پیش تعریف شده IAM موتور زمین بیشتر بدانید). علاوه بر این، کاربر باید حداقل مجوز serviceusage.services.use را در پروژه داشته باشد. این مجوز می‌تواند از طریق نقش‌های مالک یا ویرایشگر پروژه یا از طریق نقش خاص مصرف‌کننده استفاده از سرویس ارائه شود. اگر کاربر مجوزهای لازم موتور زمین و مجوزهای استفاده از سرویس را در پروژه انتخاب شده نداشته باشد، خطایی رخ خواهد داد.

تنظیم مجوزهای دارایی

تنظیم مجوزهای سطح دارایی

گزینه‌های مختلفی برای به‌روزرسانی مجوزها در سطح دارایی وجود دارد.

  • از مدیریت دارایی‌ها در ویرایشگر کد استفاده کنید.
  • از خط فرمان Earth Engine استفاده کنید.
  • از یک کتابخانه کلاینت، مثلاً ee.data.setAssetAcl() استفاده کنید.
  • یا مستقیماً REST API را فراخوانی کنید.

تنظیم مجوزهای دارایی در سطح پروژه

اشتراک‌گذاری در سطح پروژه، مجوزها را برای همه دارایی‌های موجود در پروژه ابری شما که با Earth Engine فعال شده است، به طور همزمان تنظیم می‌کند.

شما می‌توانید با اختصاص نقش مدیریت هویت و دسترسی (IAM) مناسب در صفحه مدیریت IAM پروژه خود، دارایی‌ها را در سطح پروژه به اشتراک بگذارید. نقش‌های IAM از پیش تعریف‌شده‌ای در Earth Engine برای اشتراک‌گذاری دارایی‌ها و منابع Earth Engine وجود دارد. برای مرور کلی‌تر نقش‌های IAM به بخش «درک نقش‌ها» مراجعه کنید.

وقتی کاربر دیگری سعی می‌کند به یکی از دارایی‌های شما دسترسی پیدا کند، ابتدا مجوزها در سطح دارایی بررسی می‌شوند. اگر مجوزها در سطح دارایی تنظیم نشده باشند یا بررسی ناموفق باشد (یعنی دسترسی وجود نداشته باشد)، مجوزها در سطح پروژه بررسی خواهند شد.

تنظیم مجوزهای سطح پروژه

برای تنظیم مجوزها در سطح پروژه، یک نقش IAM پروژه را به یک کاربر یا گروهی از کاربران اختصاص دهید:

  1. صفحه IAM را در کنسول Google Cloud باز کنید
    صفحه IAM را باز کنید
    یا اشاره‌گر را روی نام پروژه خود در تب Assets در ویرایشگر کد نگه دارید و روی نماد کلیک کنید.
  2. روی «انتخاب پروژه» کلیک کنید و پروژه خود را انتخاب کنید (اگر صفحه IAM را از ویرایشگر کد باز کرده باشید، باید از قبل آنجا باشید).
  3. روی «افزودن» در بالا کلیک کنید و ایمیل فردی یا گروهی را به عنوان عضو جدید اضافه کنید، یا روی نماد در کنار عضو موجود در پروژه کلیک کنید.
  4. در منوی کشویی نقش ، نقش منبع موتور زمین (Earth Engine Resource) مورد نظر خود را جستجو کنید. برای جزئیات بیشتر به نقش‌های از پیش تعریف شده IAM موتور زمین مراجعه کنید.
  5. روی دکمه ذخیره کلیک کنید.

کنترل‌های سرویس VPC

موتور ارث از کنترل‌های سرویس VPC ، یک ویژگی امنیتی Google Cloud، پشتیبانی می‌کند که به کاربران کمک می‌کند تا منابع خود را ایمن کرده و خطر نشت داده‌ها را کاهش دهند. افزودن منابع به محیط سرویس VPC امکان کنترل بیشتر بر عملیات خواندن و نوشتن داده‌ها را فراهم می‌کند.

درباره ویژگی‌ها و پیکربندی VPC-SC بیشتر بدانید.

محدودیت‌ها

فعال کردن کنترل‌های سرویس VPC برای منابع شما با چند محدودیت همراه است که ما برای آنها راه‌حل‌های نمونه ارائه کرده‌ایم:

محدودیت مثال جایگزین
ویرایشگر کد پشتیبانی نمی‌شود و کنترل‌های سرویس VPC اجازه استفاده از آن را با منابع و کلاینت‌های داخل محیط سرویس نمی‌دهد. از API پایتون Earth Engine به همراه کتابخانه geemap استفاده کنید.
Legacy assets are not protected by VPC Service Controls. از دارایی‌های ذخیره شده در پروژه‌های ابری استفاده کنید.
صادرات به گوگل درایو توسط کنترل‌های سرویس VPC پشتیبانی نمی‌شود.
برنامه‌های Earth Engine برای منابع و کلاینت‌های داخل محیط سرویس پشتیبانی نمی‌شوند. هیچ راه حل موقت در دسترس نیست.

استفاده از Earth Engine با منابع درون یک محیط سرویس VPC امن فقط برای طرح‌های قیمت‌گذاری حرفه‌ای و پریمیوم در دسترس است. تلاش برای استفاده از API Earth Engine با یک پروژه امن VPC-SC مرتبط با یک طرح قیمت‌گذاری پایه منجر به خطا خواهد شد. برای کسب اطلاعات بیشتر در مورد قیمت‌گذاری Earth Engine، به اسناد رسمی مراجعه کنید.

اطلاعات بیشتر در مورد کنترل‌های سرویس VPC و محدودیت‌های آن را می‌توانید در بخش محصولات و محدودیت‌های پشتیبانی‌شده بیابید.

نقش‌ها و مجوزها

بخش‌های زیر مجوزها و نقش‌های مورد نیاز برای انجام فعالیت‌ها و دسترسی به منابع Earth Engine را شرح می‌دهند. برای کسب اطلاعات بیشتر در مورد مجوزها و نقش‌های پروژه Cloud، به مستندات Google Cloud مراجعه کنید.

نقش‌های IAM از پیش تعریف‌شده‌ی Earth Engine

Earth Engine نقش‌های از پیش تعریف‌شده‌ای را ارائه می‌دهد که امکان کنترل درجات مختلفی از منابع Earth Engine را در یک پروژه فراهم می‌کنند. این نقش‌ها عبارتند از:

نقش عنوان توضیحات
roles/earthengine.viewer نمایشگر منابع موتور زمین اجازه مشاهده و فهرست کردن دارایی‌ها و وظایف را فراهم می‌کند.
roles/earthengine.writer نویسنده منابع موتور زمین مجوز خواندن، ایجاد، تغییر و حذف دارایی‌ها، وارد کردن تصاویر و جداول، خواندن و به‌روزرسانی وظایف، انجام محاسبات تعاملی و ایجاد وظایف خروجی طولانی مدت را فراهم می‌کند.
roles/earthengine.admin مدیر موتور زمین مجوز دسترسی به تمام منابع Earth Engine از جمله تغییر کنترل‌های دسترسی برای دارایی‌های Earth Engine را فراهم می‌کند.
roles/earthengine.appsPublisher ناشر برنامه‌های Earth Engine اجازه ایجاد یک حساب کاربری سرویس برای استفاده با یک برنامه Earth Engine را می‌دهد. همچنین اجازه ویرایش و حذف برنامه‌های متعلق به پروژه تحت پروژه ابری را می‌دهد.

توجه داشته باشید که اگر نقش‌های از پیش تعریف‌شده‌ی Earth Engine نیازهای شما را برآورده نمی‌کنند، می‌توانید یک نقش اولیه یا سفارشی تنظیم کنید. می‌توانید با فیلتر کردن یک نقش خاص و کلیک روی نقش، مجموعه مجوزهای مرتبط با هر نقش را از صفحه‌ی نقش‌های IAM مشاهده کنید.

دسترسی کامل به API موتور زمین

برای دسترسی کامل کاربران به سرویس Earth Engine، چه از طریق REST API به طور مستقیم، چه از طریق ویرایشگر کد یا از طریق یک کتابخانه کلاینت، کاربران به مجوز انجام عملیاتی مانند موارد زیر نیاز دارند:

مجوزهای مورد نیاز
  • clientauthconfig.clients.listWithSecrets
  • earthengine.assets.get
  • earthengine.assets.getIamPolicy
  • earthengine.assets.list
  • earthengine.computations.create
  • earthengine.operations.get
  • earthengine.operations.list
  • monitoring.timeSeries.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.operations.get
  • serviceusage.operations.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • serviceusage.services.use
نقش‌های پیشنهادی
  • مصرف‌کننده‌ی استفاده از سرویس ( roles/serviceusage.serviceUsageConsumer ) و یکی از موارد زیر:
    • نمایشگر منابع موتور زمین ( roles/earthengine.viewer ) یا
    • نویسنده منابع موتور زمین ( roles/earthengine.writer ) یا
    • مدیر منابع موتور زمین ( roles/earthengine.admin )
  • ویرایشگر پیکربندی OAuth ( roles/oauthconfig.editor ) علاوه بر این برای کاربرانی که از طریق محیط نوت‌بوک به Earth Engine دسترسی دارند و از Notebook Authenticator استفاده می‌کنند، مورد نیاز است. برای جزئیات بیشتر به احراز هویت نوت‌بوک Colab یا JupyterLab مراجعه کنید.
یادداشت‌ها گوگل کلود از نقش مصرف‌کننده‌ی استفاده از سرویس می‌خواهد که هنگام فراخوانی APIها، از پروژه به عنوان پروژه‌ی فعال استفاده کند، و ee.Initialize(project=X) بدون این مجوز در پروژه X با شکست مواجه خواهد شد. علاوه بر این، می‌توانید این پروژه را در کنسول ابری انتخاب کنید تا میزان استفاده از منابع شما نمایش داده شود .

فقط اشتراک‌گذاری دارایی

به کاربر یکی از نقش‌های IAM از پیش تعریف‌شده‌ی Earth Engine را با حداقل مجوزها برای انجام فعالیت مورد نیاز اعطا کنید. توجه داشته باشید که کاربران بدون مجوزهای لازم serviceusage قادر به مصرف منابع پروژه نخواهند بود.

مدیریت پروژه

فهرست کردن و نمایش پروژه‌های موجود

این اتفاق هنگام استفاده از ویرایشگر کد برای مرور پروژه‌های موجود رخ می‌دهد.

مجوزهای مورد نیاز
  • resourcemanager.projects.get
  • resourcemanager.folders.list
  • resourcemanager.folders.get
  • resourcemanager.organizations.get (غیرمعمول)
نقش‌های پیشنهادی
  • بیننده ( roles/viewer ) یا
    نمایشگر منابع موتور زمین ( roles/earthengine.viewer ) در پروژه‌های مرتبط یا
    مرورگر ( roles/browser ، برای موارد سازمانی پیشرفته توصیه می‌شود)
  • نمایشگر پوشه ( roles/resourcemanager.folderViewer ) روی پوشه‌های مربوطه

یک پروژه را برای استفاده در ویرایشگر کد انتخاب کنید

مجوزهای مورد نیاز
  • resourcemanager.projects.get
  • serviceusage.services.get
اگر پروژه قبلاً راه‌اندازی نشده باشد

با اولین انتخاب یک پروژه از طریق ویرایشگر کد، پروژه برای استفاده با Earth Engine مقداردهی اولیه می‌شود. اگر این کار قبلاً انجام نشده است، برای موفقیت در راه‌اندازی به این نقش‌ها نیاز خواهید داشت.

  • و resourcemanager.projects.update
  • serviceusage.services.enable
نقش‌های پیشنهادی
  • بیننده ( roles/viewer ) یا
  • نمایشگر منابع موتور زمین ( roles/earthengine.viewer ) و
    مصرف‌کننده‌ی میزان استفاده از سرویس ( roles/serviceusage.serviceUsageConsumer )
نقش‌های اضافی (اگر پروژه قبلاً راه‌اندازی نشده باشد)
  • ویرایشگر ( roles/editor ) یا
  • انتقال‌دهنده پروژه ( roles/resourcemanager.projectMover ) و
    مدیر IAM پروژه ( roles/resourcemanager.projectIamAdmin ) و
    مدیر استفاده از سرویس ( roles/serviceusage.serviceUsageAdmin )

Create project through the Code Editor

مجوزهای مورد نیاز
  • resourcemanager.projects.get
  • resourcemanager.projects.create
  • resourcemanager.projects.update
  • serviceusage.services.get
  • serviceusage.services.enable
نقش‌های پیشنهادی
  • ویرایشگر ( roles/editor ) یا
  • انتقال‌دهنده پروژه ( roles/resourcemanager.projectMover ) و
    خالق پروژه ( roles/resourcemanager.projectCreator ) و
    مدیر استفاده از سرویس ( roles/serviceusage.serviceUsageAdmin )
یادداشت‌ها ممکن است سازمان شما نقش ویرایشگر را به شما اعطا نکند، بنابراین ممکن است به نقش‌های جزئی‌تر نیاز باشد. Project Mover برای پوشش مجوز projects.update مورد نیاز است.

انتخاب سطح غیرتجاری

مجوزها و نقش‌های پیشنهادی زیر مربوط به پیکربندی لایه غیرتجاری هستند.

انتخاب سطح
مجوزهای مورد نیاز
  • earthengine.config.update
نقش‌های پیشنهادی
  • نویسنده منابع موتور زمین ( roles/earthengine.writer )
افزودن حساب صورتحساب

سطح مشارکت‌کننده به یک حساب کاربری معتبر در پروژه نیاز دارد.

مجوزهای مورد نیاز
  • billing.accounts.get
نقش‌های پیشنهادی
  • نمایشگر حساب صورتحساب ( roles/billing.viewer )

ثبت پروژه تجاری

مجوزهای زیر مربوط به ثبت پروژه‌ها برای استفاده پولی است.

مجوزهای مورد نیاز
حساب صورتحساب
  • billing.subscriptions.list
علاوه بر این:
  • billing.accounts.get (برای ایجاد یک طرح محدود جدید)
  • billing.subscriptions.create (for creating a new Basic or Professional plan)
پروژه ابری
  • earthengine.computations.create
  • earthengine.config.update
  • serviceusage.services.get
  • serviceusage.services.enable
نقش‌های پیشنهادی
حساب صورتحساب
  • نمایشگر حساب صورتحساب ( roles/billing.viewer )، برای ایجاد یک طرح محدود جدید
  • مدیر حساب صورتحساب ( roles/billing.admin )، برای ایجاد یک طرح جدید پایه یا حرفه‌ای
پروژه ابری
  • نویسنده منابع موتور زمین ( roles/earthengine.writer )
  • مدیر استفاده از سرویس ( roles/serviceusage.serviceUsageAdmin )

مدیریت طرح موتور زمینی تجاری

مجوزهای زیر مربوط به مدیریت طرح‌های قیمت‌گذاری Earth Engine است.

مجوزهای مورد نیاز
در حساب صورتحساب
  • billing.subscriptions.create (برای تغییر طرح Earth Engine)
  • billing.subscriptions.list (برای مشاهده طرح فعلی Earth Engine)
نقش‌های پیشنهادی
در حساب صورتحساب
  • نمایشگر حساب صورتحساب ( roles/billing.viewer )، برای مشاهده طرح فعلی Earth Engine
  • مدیر حساب صورتحساب ( roles/billing.admin )، برای تغییر طرح موتور زمین

مدیریت وظایف دسته‌ای

مجوزهای زیر مربوط به پیکربندی محدودیت‌های هر پروژه برای همزمانی وظایف دسته‌ای است . این ویژگی فقط برای کاربران تجاری Earth Engine در دسترس است.

مشاهده محدودیت‌های وظایف دسته‌ای در سطح پروژه

مجوزهای مورد نیاز
در حساب ابری
earthengine.config.get

تنظیم محدودیت‌های وظایف دسته‌ای در سطح پروژه

مجوزهای مورد نیاز
در حساب ابری
earthengine.config.update
توجه: این مجوز همچنین شامل مشاهده محدودیت‌های سطح طرح که در حساب صورتحساب پیکربندی شده‌اند، می‌شود.
مجوزهای مورد نیاز
در حساب صورتحساب
billing.subscriptions.list

مدیریت برنامه‌ها

نمایش اطلاعات برنامه

مجوزهای مورد نیاز
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getIamPolicy ، اگر برنامه محدود شده باشد (کمتر رایج است)
نقش‌های پیشنهادی بیننده ( roles/viewer ) یا
ناشر برنامه‌های Earth Engine ( roles/earthengine.appsPublisher )

انتشار/به‌روزرسانی برنامه

مجوزهای مورد نیاز
  • iam.serviceAccounts.get
  • iam.serviceAccounts.create
  • iam.serviceAccounts.enable
  • iam.serviceAccounts.getIamPolicy
  • iam.serviceAccounts.setIamPolicy
  • iam.serviceAccounts.disable ، اگر برنامه از یک پروژه به پروژه دیگر منتقل شود (غیرمعمول)
نقش‌های پیشنهادی ناشر برنامه‌های Earth Engine ( roles/earthengine.appsPublisher ) یا
مدیر حساب کاربری سرویس ( roles/iam.serviceAccountAdmin )
یادداشت‌ها
  • علاوه بر این، حساب‌های سرویس برنامه Earth Engine با ارائه یک توکن دسترسی OAuth خود را به سرورهای Earth Engine معرفی می‌کنند. بنابراین، هویت‌های خاصی در طول ایجاد برنامه به عنوان سازنده توکن حساب سرویس (Service Account Token Creator ) اضافه می‌شوند. roles/iam.serviceAccountTokenCreator ) روی حساب‌های سرویس.
  • در مورد یک برنامه عمومی Earth Engine، هویت اعطا شده به آن نقش ... است. earth-engine-public-apps@appspot.gserviceaccount.com و در مورد برنامه‌های محدود شده، هویت، گروه گوگل محدودیت دسترسی است که توسط سازنده برنامه پیکربندی شده است.

حذف و برنامه

مجوزهای مورد نیاز iam.serviceAccounts.disable
نقش‌های پیشنهادی ناشر برنامه‌های Earth Engine ( roles/earthengine.appsPublisher ) یا
مدیر حساب کاربری سرویس ( roles/iam.serviceAccountAdmin )