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

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

تنظیم مصرف سرویس Earth Engine

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

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

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

چندین گزینه برای به‌روزرسانی اجازه‌ها در سطح دارایی وجود دارد.

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

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

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

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

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

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

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

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

VPC Service Controls

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

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

محدودیت‌ها

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

محدودیت جایگزین نمونه
Code Editor پشتیبانی نمی‌شود و «کنترل‌های سرویس‌های VPC» اجازه استفاده از آن را با منابع و کارخواه‌های داخل حاشیه سرویس نمی‌دهد. از Earth Engine Python API همراه با کتابخانه geemap استفاده کنید.
دارایی‌های قدیمی تحت محافظت «کنترل‌های سرویس‌های VPC» نیستند. از دارایی‌های ذخیره‌شده در پروژه‌های Cloud استفاده کنید.
«کنترل‌های سرویس‌های VPC» از «صادر کردن به Google Drive» پشتیبانی نمی‌کند.
برنامه‌های Earth Engine برای منابع و کارخواه‌های داخل محیط سرویس پشتیبانی نمی‌شوند. هیچ راه حلی دردسترس نیست.

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

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

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

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

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

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

نقش عنوان شرح
roles/earthengine.viewer Earth Engine Resource Viewer اجازه مشاهده و فهرست کردن «دارایی‌ها» و تکالیف را می‌دهد.
roles/earthengine.writer Earth Engine Resource Writer اجازه خواندن، ایجاد، اصلاح، و حذف دارایی‌ها، وارد کردن تصاویر و جدول‌ها، خواندن و به‌روزرسانی تکالیف، انجام محاسبات تعاملی، و ایجاد تکالیف صادر کردن طولانی‌مدت را می‌دهد.
roles/earthengine.admin Earth Engine Admin اجازه دسترسی به همه منابع Earth Engine را فراهم می‌کند، ازجمله تغییر کنترل‌های دسترسی برای دارایی‌های Earth Engine.
roles/earthengine.appsPublisher Earth Engine Apps Publisher اجازه ایجاد حساب سرویس برای استفاده با برنامه Earth Engine را می‌دهد. همچنین اجازه ویرایش و حذف برنامه‌های تحت مالکیت پروژه را در «پروژه ابری» اعطا می‌کند.

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

فعال کردن Earth Engine API

برای فعال کردن Earth Engine API در پروژه Cloud، کاربر به نقش سرپرست استفاده از سرویس (roles/serviceusage.serviceUsageAdmin) یا نقش دیگری که شامل اجازه serviceusage.services.enable باشد (مانند «مالک پروژه» یا «ویرایشگر») نیاز دارد.

اجازه لازم است
  • serviceusage.services.enable
  • serviceusage.services.get
نقش‌های پیشنهادی
  • سرپرست استفاده از سرویس (roles/serviceusage.serviceUsageAdmin) یا
  • مالک (roles/owner) یا
  • ویرایشگر (roles/editor)

دسترسی کامل به Earth Engine 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) و یکی از موارد زیر:
    • Earth Engine Resource Viewer (roles/earthengine.viewer) یا
    • Earth Engine Resource Writer (roles/earthengine.writer) یا
    • سرپرست منبع Earth Engine (roles/earthengine.admin)
  • ویرایشگر پیکربندی OAuth (roles/oauthconfig.editor) علاوه‌براین برای کاربرانی که ازطریق محیط دفتر یادداشت به Earth Engine دسترسی دارند و از «اصالت‌سنج دفتر یادداشت» استفاده می‌کنند لازم است. برای جزئیات بیشتر، اصالت‌سنجی دفتر Colab یا JupyterLab را ببینید.
یادداشت‌ها Google Cloud برای استفاده از پروژه به‌عنوان پروژه فعال هنگام فراخوانی میاناهای برنامه‌سازی کاربردی به نقش مصرف‌کننده استفاده از سرویس نیاز دارد و ee.Initialize(project=X) بدون این اجازه در پروژه X ناموفق خواهد بود. علاوه‌براین، می‌توانید این پروژه را در Cloud Console انتخاب کنید تا استفاده‌تان از منابع را نمایش دهید.

فقط هم‌رسانی دارایی

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

مدیریت پروژه

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

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

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

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

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

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

  • resourcemanager.projects.update و
  • serviceusage.services.enable
نقش‌های پیشنهادی
  • بیننده (roles/viewer) یا
  • Earth Engine Resource Viewer (roles/earthengine.viewer) و
    Service Usage Consumer (roles/serviceusage.serviceUsageConsumer)
نقش‌های اضافی (اگر پروژه قبلاً راه‌اندازی نشده باشد)
  • ویرایشگر (roles/editor) یا
  • انتقال‌دهنده پروژه (roles/resourcemanager.projectMover) و
    سرپرست IAM پروژه (roles/resourcemanager.projectIamAdmin) و
    سرپرست استفاده از سرویس (roles/serviceusage.serviceUsageAdmin)

ایجاد پروژه ازطریق «ویرایشگر کد»

اجازه لازم است
  • 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)
یادداشت‌ها ممکن است سازمانتان نقش ویرایشگر را به شما اعطا نکند، بنابراین ممکن است به نقش‌های دقیق‌تری نیاز باشد. انتقال‌دهنده پروژه برای پوشش دادن اجازه projects.update لازم است.

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

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

انتخاب دسته
اجازه لازم است
  • earthengine.config.update
نقش‌های پیشنهادی
  • Earth Engine Resource Writer (roles/earthengine.writer)
مرتبط کردن حساب صورت‌حساب با پروژه

«سطح همیار» به حساب صورت‌حساب معتبری نیاز دارد که با پروژه مرتبط باشد. برای اطلاعات بیشتر درباره اجازه‌ها و نقش‌های صورت‌حساب، به صفحه دسترسی به Cloud Billing مراجعه کنید.

اجازه لازم است
حساب صورت‌حساب
  • billing.resourceAssociations.create
پروژه ابری
  • resourcemanager.projects.createBillingAssignment
نقش‌های پیشنهادی
حساب صورت‌حساب
  • کاربر حساب صورت‌حساب (roles/billing.user)
پروژه ابری
  • مدیر صورت‌حساب پروژه (roles/billing.projectManager)

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

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

اجازه لازم است
حساب صورت‌حساب
  • billing.accounts.get
  • billing.subscriptions.list
به‌علاوه:
  • billing.subscriptions.create (برای ایجاد طرح «پایه» یا «حرفه‌ای» جدید)
پروژه ابری
  • earthengine.config.update
  • serviceusage.services.get
  • serviceusage.services.enable
نقش‌های پیشنهادی
حساب صورت‌حساب
  • بیننده حساب صورت‌حساب (roles/billing.viewer)، برای ایجاد طرح «محدود» جدید
  • سرپرست حساب صورت‌حساب (roles/billing.admin)، برای ایجاد طرح «پایه» یا «حرفه‌ای» جدید
پروژه ابری
  • Earth Engine Resource Writer (roles/earthengine.writer)
  • سرپرست استفاده از سرویس (roles/serviceusage.serviceUsageAdmin)

مدیریت طرح Earth Engine تجاری

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

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

مدیریت گروهی تکالیف

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

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

اجازه‌های لازم
در حساب Cloud
earthengine.config.get

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

اجازه‌های لازم
در حساب Cloud
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 App با ارائه کد دسترسی OAuth، خود را به سرورهای Earth Engine معرفی می‌کنند. بنابراین، برخی‌از هویت‌ها درطول ایجاد برنامه به‌عنوان ایجادکننده رمزه حساب سرویس (roles/iam.serviceAccountTokenCreator) در حساب‌های سرویس اضافه می‌شوند.
  • در مورد «برنامه Earth Engine» عمومی، هویتی که آن نقش به آن اعطا شده است earth-engine-public-apps@appspot.gserviceaccount.com است و در مورد برنامه‌های محدودشده، هویت همان «گروه Google محدودیت دسترسی» است که توسط سازنده برنامه پیکربندی شده است.

حذف برنامه

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