تأمین هویت (یا تأمین حساب ) فرآیند تنظیم حسابها و برقراری ارتباط بین سه سیستم و در برخی موارد تنظیم ارتباط بین کاربران و دستگاههای آنها است.

در یک محیط سازمانی اندروید، اطلاعات حساب کاربری تا سه سیستم مختلف را در خود جای داده است:
- فهرست کاربران سازمان، منبع قطعی اطلاعات در مورد کاربران است.
- شما (ارائهدهندهی راهکار EMM) باید حداقل یک دایرکتوری حداقلی از کاربران سازمان را نگهداری کنید.
- گوگل برخی اطلاعات مربوط به حسابهای گوگل پلی مدیریتشده و حسابهای گوگل را برای ارائه مدیریت برنامه از طریق گوگل پلی نگهداری میکند.
منبع Users ، نشاندهندهی حسابی مرتبط با یک سازمان است. این حساب میتواند مختص یک دستگاه باشد، یا میتواند با فردی که چندین دستگاه (تلفن همراه، تبلت و غیره) دارد و از این حساب در همه آنها استفاده میکند، مرتبط باشد. این حساب میتواند بسته به نحوهی تنظیم سازمان مشتری ، فقط به Google Play مدیریتشده یا به سایر سرویسهای Google دسترسی ارائه دهد:
حسابهای کاربری مدیریتشده گوگل پلی، ابزاری شفاف برای شرکتها فراهم میکنند تا از طریق ارائهدهنده راهکار مدیریت تحرک سازمانی (EMM) خود، بهطور خودکار حسابهای کاربری یا دستگاه ایجاد کنند. این حسابها فقط دسترسی به گوگل پلی مدیریتشده را فراهم میکنند.
حسابهای گوگل، حسابهای موجودی هستند که توسط گوگل مدیریت میشوند و نیاز به همگامسازی با منابع حساب گوگل دارند.
جدول ۱: فیلدها و متدهای API کاربران
| حسابهای گوگل پلی مدیریتشده | حسابهای مدیریتشده گوگل | |
|---|---|---|
| میدان | ||
| شناسه | ||
| مهربان | ||
| شناسه حساب | یک شناسه منحصر به فرد که شما ایجاد میکنید و به شناسه ( userId ) برگردانده شده از Google Play نگاشت میشود. از اطلاعات شخصی قابل شناسایی (PII) استفاده نکنید. | تنظیم نشده. |
| نوع حساب | حساب دستگاه، حساب کاربر | حساب کاربری |
| نام نمایش | نامی که در موارد رابط کاربری، مانند داخل گوگل پلی، نمایش داده میشود. از اطلاعات شخصی قابل شناسایی استفاده نکنید. | تنظیم نشده. |
| مدیریتنوع | مدیریتشده توسط emm | مدیریتشده توسط گوگل، مدیریتشده توسط ایمیل |
| ایمیل اصلی | تنظیم نشده. | این فیلد کلید اصلی است که با آن میتوانید همگامسازی حسابهای دامنه تحت مدیریت گوگل با حسابهای کاربری در سیستم خود را مدیریت کنید. |
| روشها | ||
| حذف | ||
| generateAuthenticationToken | ||
| تولید توکن | ||
| دریافت | ||
| دریافت مجموعه محصولات موجود | ||
| درج | ||
| فهرست | ||
| لغو توکن | ||
| مجموعه محصولات موجود | ||
| بهروزرسانی | ||
حسابهای گوگل پلی مدیریتشده
دو نوع حساب گوگل پلی مدیریتشده وجود دارد:
- حساب کاربری
- دسترسی یک کاربر واحد به Google Play مدیریتشده را از همه دستگاههایشان فراهم میکند. شما باید برای کاربران خود حساب کاربری ایجاد کنید - آنها اعتبارنامه لازم برای اضافه کردن حسابهای Google Play مدیریتشده را ندارند.
- برای ایجاد یک حساب کاربری،
Users.insertرا فراخوانی کنید. نوع حساب را رویuserTypeتنظیم کنید و یکaccountIdentifierتنظیم کنید که به طور منحصر به فرد به کاربر درون سازمان اشاره میکند.- بهترین روش : از یک حساب کاربری روی بیش از ۱۰ دستگاه استفاده نکنید.
- حساب دستگاه
- دسترسی به گوگل پلی مدیریتشده را از یک دستگاه واحد فراهم میکند. اگر یک توکن احراز هویت برای یک حساب دستگاه صادر شده باشد، درخواست جدید برای توکن احراز هویت برای آن حساب دستگاه، توکن قبلی را غیرفعال میکند. هر دستگاه باید مجوزهای جداگانه خود را برای برنامهها داشته باشد.
- برای ایجاد یک حساب دستگاه،
Users.insertرا فراخوانی کنید و نوع حساب را رویdeviceTypeتنظیم کنید.

شما یک نگاشت بین هویت کاربر یا دستگاه و حسابهای گوگل پلی مدیریتشدهی مربوطه ایجاد و نگهداری میکنید و حسابها را در طول چرخهی حیاتشان مدیریت میکنید. سازمان نیازی به کنترل مستقیم بر این حسابهای گوگل پلی مدیریتشده ندارد، زیرا این حسابها صرفاً برای مدیریت برنامهها وجود دارند.
الزامات کنسولها و سرورهای EMM
حسابهای کاربری مدیریتشده گوگل پلی، بنا به تقاضا و به صورت برنامهنویسیشده، با استفاده از APIهای EMM گوگل پلی و APIهای چارچوب اندروید در اجزای راهکار EMM شما (کنسول EMM، سرور EMM و DPC) ایجاد میشوند. این اجزا در زمان اجرا با هم تعامل دارند تا یک حساب کاربری ایجاد کنند و پروفایل کاری را در دستگاه هدف آماده سازند .
کنسول یا سرور EMM شما باید:
مکانیزمی برای ایجاد شناسههای حساب کاربری ناشناس منحصر به فرد (فیلد
accountIdentifier) برای استفاده در فراخوانیUsers.insertفراهم کنید. برای مثال، میتوانید از مقداری داخلی برای کاربر ("sanjeev237389") یا یک شماره برچسب دارایی رمزنگاری شده ("asset#44448") استفاده کنید. از استفاده از اطلاعات شخصی قابل شناسایی (PII) برای شناسه حساب خودداری کنید.نگاشت بین
userId(که از فراخوانیinsertبرگردانده شده است) وaccountIdentifierانتخابی شما را ذخیره میکند.
برای الزامات مربوط به DPC خود، به بخش «ساخت یک کنترلکننده سیاست دستگاه» مراجعه کنید.
ایجاد حساب کاربری مدیریتشده در گوگل پلی
- یک کاربر با استفاده از (معمولاً) اعتبارنامههای شرکتی وارد DPC شما میشود.
- DPC جزئیات مربوط به کاربر را از سرور یا کنسول EMM درخواست میکند. با فرض اینکه کاربر برای سیستم شما ناشناخته است:
- با فراخوانی
Users.insertو مقادیر newaccountIdentifier،displayNameوaccountType، درخواست حساب گوگل پلی مدیریتشده جدید را ارسال کنید.- سیستم شما باید
accountIdentifierایجاد کند. شناسه حساب باید یک مقدار منحصر به فرد در سراسر سیستم شما باشد. از PII برای شناسه حساب استفاده نکنید. -
displayNameدر بخش تعویض حساب کاربری فروشگاه گوگل پلی نمایش داده میشود و باید برای کاربر معنایی داشته باشد (اما نباید اطلاعات شخصی کاربر را فاش کند). برای مثال، این نام میتواند شامل نام سازمان یا یک نام عمومی مرتبط با EMM باشد. -
accountTypeرویuserAccountیاdeviceAccountتنظیم کنید. یکuserAccountمیتواند روی چندین دستگاه استفاده شود، در حالی که یکdeviceAccountمختص یک دستگاه واحد است.accountTypeمشخص شده میتواندdeviceTypeیاuserTypeباشد. -
managementTypeرویemmManagedتنظیم کنید.
- سیستم شما باید
- گوگل پلی درخواست را پردازش میکند، حساب کاربری ایجاد میکند و یک
userIdبرمیگرداند. - نگاشت بین
accountIdentifierوuserIdرا در پایگاه داده خود ذخیره کنید. - تابع
Users.generateAuthenticationTokenباuserIdوenterpriseIdفراخوانی کنید. گوگل پلی یک توکن احراز هویت (authentication token) برمیگرداند که یک بار قابل استفاده است و باید ظرف چند دقیقه استفاده شود. - توکن احراز هویت را به صورت ایمن به DPC خود ارسال کنید.
- با فراخوانی
- DPC نمایه کاری را آماده میکند و حساب را به نمایه کاری یا دستگاه اضافه میکند.
- کاربر میتواند از طریق نمایه کاری یا دستگاه به Google Play مدیریتشده دسترسی داشته باشد.
حسابهای کاربری ادمین
وقتی یک مدیر، سازمانی با حسابهای مدیریتشدهی گوگل پلی ایجاد میکند ، حساب گوگلی که استفاده میکند نمیتواند یک حساب گوگل ورکاسپیس باشد. حسابی که استفاده میکند، مالک سازمان میشود و مالک میتواند مالکان و مدیران بیشتری را در کنسول مدیریتشدهی گوگل پلی اضافه کند.
هر دو Enterprises.get و Enterprises.completeSignup فهرستی از آدرسهای ایمیل ادمین مرتبط با یک شرکت (فقط شرکتهایی با حسابهای Google Play مدیریتشده) را برمیگردانند.
مدیریت چرخه عمر حساب
در یک استقرار مدیریتشده حسابهای گوگل پلی، شما مسئول چرخه عمر حسابهای کاربری و دستگاه هستید، به این معنی که شما این حسابها را ایجاد، بهروزرسانی و حذف میکنید.
شما حسابها را در حین آمادهسازی دستگاه ایجاد میکنید، فرآیندی که شامل برنامه DPC و کنسول EMM شما میشود. برای دستورالعملها، به روش حسابهای مدیریتشده Google Play مراجعه کنید.
برای تغییر اطلاعات یک حساب کاربری، از تابع Users.update استفاده کنید.
برای حذف یک حساب کاربری، از تابع Users.delete استفاده کنید.
مدیران نمیتوانند حسابهای کاربری را به صورت جداگانه حذف کنند، اما میتوانند یک شرکت را با حسابهای Google Play مدیریتشده حذف کنند. وقتی این کار را انجام میدهند، دستگاه و حسابهای کاربری مرتبط با شرکت در نهایت حذف میشوند، همانطور که در بخش لغو ثبت نام، ثبت مجدد، حذف توضیح داده شده است.
انقضای حساب
گاهی اوقات حسابها یا توکنهای آنها منقضی میشوند که میتواند به دلایل مختلفی اتفاق بیفتد:
- کد احراز هویتی که برای افزودن حساب به دستگاه دریافت شده بود، منقضی شده است.
- حساب یا شرکت حذف شده است.
- برای حسابهای دستگاه، حساب به دستگاه جدیدی اضافه شده است و بنابراین در دستگاه قدیمی غیرفعال است.
- بررسیهای خودکار سوءاستفاده آغاز میشود.
- اگر دستگاهی بیش از ۲۷۰ روز آفلاین باشد، ممکن است اطلاعات آن به دلیل فرآیند پاکسازی دستهای حذف شود.
در بیشتر موارد (مگر اینکه EMM عمداً حساب دستگاه را به دستگاه جدید منتقل کند)، بهترین روش این است که از API Play EMM برای درخواست یک توکن جدید از سرور EMM استفاده کنید، وضعیت حساب و شرکت و هرگونه خطای برگشتی را یادداشت کنید و سپس اقدامات مناسب را روی دستگاه انجام دهید. به عنوان مثال، توکن را تمدید کنید، یا اگر خطا قابل بازیابی نیست، دستگاه را مجدداً تنظیم یا لغو ثبت کنید.
برای تمدید صحیح توکن، باید:
- برای درخواست یک توکن احراز هویت جدید برای حساب کاربری، تابع
users.generateAuthenticationTokenرا فراخوانی کنید. - اگر تماس موفقیتآمیز بود، حساب کاربری موجود را حذف کرده و با استفاده از کتابخانه پشتیبانی DPC، حساب کاربری جدید را اضافه کنید.
- اگر تماس ناموفق بود، حساب را از دستگاه حذف کنید و با استفاده از
users.insertیک کاربر جدید ایجاد کنید، یک توکن احراز هویت ایجاد کنید و حساب را به دستگاه اضافه کنید.
نسخه ۹.۰.۰۰ سرویسهای گوگل پلی با استفاده از عملکرد پخش، به DPC شما اطلاع میدهد که حساب کاربری منقضی شده است:
وقتی حساب گوگل پلی مدیریتشده در دستگاهی نامعتبر میشود، DPC یک اعلان با اقدام زیر دریافت میکند:
com.google.android.gms.auth.ACCOUNT_REAUTH_REQUIRED
اینتنت پخش شامل یک
Parcelableextra با نامaccountاست که شیءمربوط به حساب نامعتبر شده است.AccountDPC
Account#nameرا با سرور EMM بررسی میکند تا حساب نامعتبر را شناسایی کند.DPC یا درخواست اعتبارنامههای جدید یا یک حساب کاربری جدید را میدهد، که همان روندی را دنبال میکند که برای تأمین اولیه دستگاه استفاده شده است.
حسابهای گوگل
برای سازمانهایی که از حسابهای گوگل استفاده میکنند، حسابهای کاربری در یک راهکار EMM، حسابهای کاربری موجود مرتبط با یک سرویس گوگل دیگر (مثلاً Google Workspace) را منعکس میکنند. این حسابها googleManaged هستند ( جدول 1 ) زیرا سرویسهای backend گوگل منبع ایجاد و اطلاعات مربوط به حساب هستند.
به عنوان یک EMM، میتوانید مکانیسمهایی را در کنسول خود فراهم کنید تا ایجاد و همگامسازی مداوم حسابهای کاربری موجود در سیستم خود را با منابع حساب دامنه گوگل آنها با استفاده از ابزارهایی مانند Google Cloud Directory Sync (GCDS) و Google Admin SDK Directory API تسهیل کنید. برای مرور کلی رویکردهای مختلف، به اینجا مراجعه کنید. مدل هویت دامنه مدیریتشده توسط گوگل مستلزم آن است که حساب کاربری قبل از اینکه بتواند در هر یک از دستگاههای کاربر در چارچوب یک نمایه کاری ارائه شود، در چارچوب راهکار شما (کنسول EMM، سرور EMM، شاید در یک پایگاه داده) وجود داشته باشد.
در طول فرآیند تأمین هویت، دامنه تحت مدیریت گوگل سازمان با حسابهای کاربری پر میشود. در برخی موارد، هویتهای آنلاین موجود کاربران (به عنوان مثال، حسابهای Microsoft Exchange آنها) با حسابهای گوگل آنها همگامسازی میشود.
پس از همگامسازی اولیه، اما قبل از اینکه برنامهها در دستگاه کاربر توزیع شوند، کاربر باید حساب گوگل خود را فعال کند، همانطور که در فعالسازی حسابها در دستگاهها توضیح داده شده است. این فعالسازی به دستگاه اجازه میدهد تا به گوگل پلی مدیریتشده دسترسی داشته باشد.
همگامسازی حسابهای مشتری
در استقرار حسابهای گوگل، سازمان میتواند از ابزار GCDS برای همگامسازی دادههای موجود در دامنه Google Workspace خود با دادههای موجود در دایرکتوری LDAP خود استفاده کند. به عنوان یک جایگزین، اگر سازمان به شما دسترسی بدهد، میتوانید از GCDS برای انجام این کار از طرف سازمان استفاده کنید.
ابزار GCDS، رابط برنامهنویسی کاربردی (API) دایرکتوری گوگل (Google Directory API) را فراخوانی کرده و نامهای کاربری را همگامسازی میکند، اما رمزهای عبور را نه.
اگر سازمان از Microsoft Active Directory استفاده میکند و میخواهد رمزهای عبور Google Workspace کاربران را با رمزهای عبور Active Directory آنها همگام نگه دارد، به بخش «آماده شدن برای استفاده از همگامسازی رمز عبور» مراجعه کنید.
برای دستورالعملهای GCDS برای مدیران، به «مجاز کردن حساب گوگل» مراجعه کنید.
رابط برنامهنویسی کاربردی دایرکتوری گوگل
در پیادهسازی حسابهای گوگل، میتوانید از API دایرکتوری گوگل برای همگامسازی دایرکتوریهای فعال، رمزهای عبور یا هر دو استفاده کنید:
استفاده از API دایرکتوری برای همگامسازی فقط دایرکتوری. اگر به دامنه گوگل مدیریتشده سازمان دسترسی فقط خواندنی دارید، میتوانید از API دایرکتوری گوگل برای دریافت اطلاعات حساب گوگل، مانند نامهای کاربری (اما نه رمزهای عبور) از گوگل استفاده کنید. از آنجا که شما قادر به نوشتن هیچ دادهای در حسابهای گوگل کاربران نیستید، سازمان کاملاً مسئول چرخه عمر حساب است.
سناریوی ۱ و سناریوهای احراز هویت SSO مبتنی بر SAML این وضعیت را به طور کاملتری توصیف میکنند.
برای اطلاعات بیشتر در مورد استفاده از API دایرکتوری به این روش، به بخش بازیابی همه کاربران حساب در مستندات API دایرکتوری مراجعه کنید.
استفاده از API دایرکتوری برای همگامسازی دایرکتوری و رمز عبور اختیاری. اگر به دامنه گوگل مدیریتشده سازمان دسترسی خواندن و نوشتن دارید، میتوانید از API دایرکتوری گوگل برای دریافت نامهای کاربری، رمزهای عبور و سایر اطلاعات حساب گوگل استفاده کنید. میتوانید این اطلاعات را بهروزرسانی کرده و با پایگاه داده خود همگامسازی کنید و بسته به راهحلی که به مشتری خود ارائه میدهید، ممکن است مسئولیت کامل یا جزئی چرخه عمر حساب را بر عهده داشته باشید.
سناریوی دوم این وضعیت را به طور کاملتری توصیف میکند.
برای اطلاعات بیشتر در مورد استفاده از API دایرکتوری برای مدیریت اطلاعات حساب کاربری، به راهنمای توسعهدهندگان Directory API: User Accounts مراجعه کنید.
سناریوهای حسابهای گوگل
چند سناریوی معمول تأمین هویت حسابهای گوگل در زیر شرح داده شده است.
سناریو ۱: مشتری مسئول چرخه عمر حساب

در این سناریو، مشتری شما برای کاربران خود حسابهای گوگل ایجاد و نگهداری میکند.
شما اطلاعات حساب کاربری را از دایرکتوری LDAP سازمان دریافت میکنید و این اطلاعات را با دادههای حساب گوگل که از طریق Google Directory API از گوگل دریافت میکنید، مرتبط میکنید.
این سازمان کاملاً مسئول چرخه عمر حساب کاربری است. برای مثال، وقتی یک حساب کاربری گوگل جدید ایجاد میشود، سازمان کاربر را به دایرکتوری LDAP خود اضافه میکند. دفعه بعد که پایگاه داده خود را با دایرکتوری LDAP همگامسازی میکنید، پایگاه داده شما اطلاعات مربوط به این کاربر جدید را دریافت میکند.
در این سناریو:
- شما به حسابهای گوگل فقط دسترسی خواندنی دارید.
- پایگاه داده شما نامهای حسابهای گوگل را دریافت میکند، اما نامهای کاربری یا رمزهای عبور LDAP را دریافت نمیکند.
- شما از API دایرکتوری گوگل برای دریافت اطلاعات اولیه حساب کاربران مشتری خود استفاده میکنید. (اطلاعاتی که در دسترس شما قرار دارد، اطلاعات غیرقابل نوشتنی است که توسط درخواست
Users.getبرگردانده میشود ). شما از این اطلاعات برای تأیید وجود حسابهای گوگل کاربران استفاده میکنید تا کاربران بتوانند در دستگاههای خود احراز هویت شوند. - مشتری شما از ابزار GCDS برای انجام همگامسازی یکطرفه جهت پر کردن حسابهای گوگل کاربران استفاده میکند. (احتمالاً سازمان نیز پس از تکمیل فرآیند احراز هویت، از GCDS برای همگامسازی مداوم خود استفاده میکند.) به صورت اختیاری، سازمان میتواند از ابزار GSPS نه تنها برای همگامسازی نامهای کاربری، بلکه برای رمزهای عبور نیز استفاده کند.
سناریو ۲: EMM مسئول چرخه عمر حسابها

در این سناریو، شما فرآیند ایجاد حسابهای گوگل را از طرف مشتری خود مدیریت میکنید و مسئول چرخه عمر حسابهای کاربران هستید.
برای مثال، وقتی اطلاعات کاربر در دایرکتوری LDAP سازمان تغییر میکند، شما مسئول بهروزرسانی حساب گوگل کاربر هستید. در این سناریو از GCDS استفاده نمیشود.
در این سناریو:
- شما به حسابهای گوگل دسترسی خواندن و نوشتن دارید.
- پایگاه داده شما نامهای حساب گوگل و نامهای کاربری LDAP (و در صورت تمایل، هشهای رمز عبور) را دریافت میکند.
- شما از طرف مشتری خود از API دایرکتوری گوگل برای خواندن و نوشتن اطلاعات حساب کاربران سازمان استفاده میکنید. (اطلاعاتی که در دسترس شما قرار دارد، اطلاعات غیرقابل نوشتنی است که توسط درخواست
Users.getبرگردانده میشود ). شما از این اطلاعات برای تأیید وجود حسابهای گوگل کاربران استفاده میکنید تا کاربران بتوانند در دستگاههای خود احراز هویت شوند. - از ابزار GCDS استفاده نشده است.
سناریوهای احراز هویت SSO مبتنی بر SAML
در پیادهسازی حسابهای گوگل، شما یا مشتری شما ممکن است از زبان نشانهگذاری امنیتی (SAML) به همراه یک ارائهدهنده هویت (IdP) برای تأیید اعتبار حساب گوگل مرتبط با هر کاربر استفاده کنید. شما از نام حسابهای گوگل به عنوان تأیید وجود حسابهای گوگل کاربران استفاده میکنید که برای تأیید اعتبار کاربر هنگام ورود به دستگاههایشان مورد نیاز است. به عنوان مثال، SAML میتواند در سناریوی 2 استفاده شود. برای جزئیات بیشتر در مورد نحوه تنظیم این مورد، به بخش «درباره SSO» مراجعه کنید.
فعال کردن حسابها در دستگاهها
برای اینکه برنامهها از طریق Google Play مدیریتشده به دستگاه کاربر توزیع شوند، کاربر باید هنگام تأمین دستگاه، وارد دستگاه شود:
- در تأمین دستگاه حسابهای گوگل پلی مدیریتشده ، DPC شما کاربر را برای ورود به سیستم با استفاده از اعتبارنامههای پذیرفتهشده توسط کنسول EMM شما، معمولاً اعتبارنامههای ایمیل شرکتی، راهنمایی میکند.
- در پیادهسازی حسابهای گوگل، DPC شما کاربر را برای وارد کردن اطلاعات ورود به حساب گوگل خود راهنمایی میکند. معمولاً این اطلاعات با اطلاعاتی که کاربران هنگام همگامسازی با GCDS یا GSPS یا زمانی که یک سازمان از IdP برای احراز هویت استفاده میکند، با آنها وارد دامنه شرکت خود میشوند، مطابقت دارد. این کار حساب گوگل کاربر را فعال میکند، یک شناسه دستگاه منحصر به فرد ایجاد میکند و هویت حساب گوگل کاربر و شناسه دستگاه او را به هم متصل میکند.