Amazon Cognito и AWS Mobile SDK са проектирани специално за случай на използване на изтегляне на съдържание, съхранено в S3, от мобилно приложение. Можете да използвате Cognito, за да предоставите временни идентификационни данни за AWS с ограничени привилегии на всеки потребител на вашето приложение. Можете да разрешите на вашите потребители да започнат да използват приложението ви като неупълномощени гости и/или да се удостоверят със социални влизания или ваша собствена услуга за регистрация/влизане.
За да настроите Cognito, използвайте конзолата на Cognito, за да създадете Identity Pool, който е хранилище на данни за самоличността на потребителя, специфични за вашия AWS акаунт. IAM ролите определят разрешенията за вашите потребители за достъп до AWS ресурси, като S3. Потребителите на вашето приложение ще поемат ролите, които създавате. Можете да зададете различни роли за удостоверени и неавтентифицирани потребители. За да научите повече за IAM ролите в Cognito, вижте IAM роли.
Когато посетите Cognito Console, съветник ще ви преведе през създаването на групата за самоличност и необходимите IAM роли. Интеграцията между Cognito (която издава идентификационни данни за AWS на потребителя на мобилното приложение) и другите услуги на AWS е в инициализацията на SDK. Примерен код за инициализиране на SDK с Cognito на iOS, Android, Unity и JavaScript са в Тема за получаване на идентификационни данни от ръководството за разработчици на Amazon Cognito].
Актуализации през октомври 2020 г.: AWS прехвърли своя Mobile SDK към AWS Amplify. Amplify все още използва Cognito за удостоверяване (вход) и оторизация (идентификационни данни/разрешения), така че горното все още е точно. Можете да получите конкретни указания относно използването на Cognito с Amplify за настройка на удостоверяване тук. След като настроите удостоверяване в Amplify, конкретен пример за използване на S3 е тук.
Имайте предвид, че документите на Cognito се фокусират върху Потребителски групи в наши дни, които ви позволяват да внедрите своя собствена пълноценна директория за съхранение и влизане на потребители (за цена). Не е нужно обаче да използвате потребителската директория на Cognito, за да съхранявате вашите потребители. Cognito Identity Pools (които все още нямат цена AFAICT) ви позволяват да получавате AWS идентификационни данни за потребители, които не са влезли в приложението ви (т.нар. неупълномощени самоличности) и/или позволяват на потребителите да влизат с друг потребител директории (като социални входове или потребителска директория, която притежавате и управлявате).
Ако искате крайна гъвкавост, можете също да използвате AWS STS, за да получите идентификационни данни за достъп до AWS ресурси, включително S3. Въпреки това, с гъвкавостта на STS идва необходимостта от повече разбиране на IAM/AWS и може би по-сложна настройка.
Моля, коментирайте, ако има нещо, което мога да направя, за да стане това по-ясно!
person
Scott Willeke
schedule
13.05.2015