WiseN

아마존 Cognito 소개

Nov 10,2015   |   AWS

작성자_GS Neotek

페이스북 공유하기 트위터 공유하기
Blog thumbnail

다루는 내용


∙ AWS Cognito는?
∙ Amazon Cognito Identity
∙ Amazon Cognito Sync


 

 

실습






AWS Cognito는?






 



 

Amazon Cognito는 백엔드 코드를 작성하거나 인프라를 관리하지 않고도 모바일 자격 증명 관리 및 데이터 동기화 기능을 제공한다. 백엔드 코드는 AWS Cognito가 처리하므로 개발자는 Public Identity provider의 인증 코드만 해결하면 된다.

 

 




Amazon Cognito Identity






 


  • 안드로이드 개발 환경




1. Android Studio 설치

https://developer.android.com/sdk/index.html


2. Android Studio 실행

Start a new Android Studio project 선택


3. 라이브러리 추가

· File → Project Structure → 왼쪽 상단의 + 아이콘 클릭 → Import .JAR/.AAR Package 선택
· aws-android-sdk-core-2.2.8.jar, aws-android-sdk-cognito-2.2.8.jar 추가
· app 모듈 선택 → Dependencies 탭 선택
· 오른쪽 상단의 + 아이콘 클릭 → Module dependency → aws-android-sdk-* 선택/추가


 



 




 


  • Cognito 생성




1. 콘솔에서 Cognito 클릭
2. Get started 클릭
3. Create new identity pool 페이지에서

· Identity pool name : myCognitoApp 입력
· Enable access to unauthenticated identities : 체크
Cognito에서 AWS STS를 이용하여 임시 자격 증명을 할 때 필요하다.
· Authentication providers
Public identity providers를 이용하여 자격 증명을 할 때 필요하다.
· Create Pool 클릭


4. Your Cognito identities require access to your resources

· Allow 클릭


 




 


  • Cognito 생성임시자격증명 소스 코드 작성




1. Sample code

· Download the AWS SDK for Android 클릭
안드로이드 개발에 필요한 AWS SDK를 다운 받는다.
aws-android-sdk-core-2.2.8.jar, aws-android-sdk-cognito-2.2.8.jar 가 포함되어 있다.
· Get AWS Credentials


 



 

· MainActivity.java
· 자격 증명 요청을 위한 코드 추가
· Network 기능은 Main Thread에서 동작하지 않으므로 비동기 처리
· 인증 아이디는 로그에 출력


 



 

· AndroidManifest.xml


 



 

· 결과


 



 

 




Amazon Cognito Sync






 

Key-value 형식의 데이터셋을 Cognito를 이용하여 저장하고, 읽을 수 있다. 하나의 데이터셋은 최대 1MB까지 가능하며, 하나의 identity는 20개의 데이터셋을 쓸 수 있다.

 

1. Sample code

· Store User Data


 



 

· MainActivity.java


 



 

· 데이터셋(myDataset)을 만든다.
· 키(myKey), 값(myValue)을 쓴다.


2. 확인

· 왼쪽 메뉴에서 Identity browser 클릭
· 임시 자격 증명을 획득하게 되면 Identity ID가 생성된다.


 



 

· Identity ID 클릭


 



 

데이터 싱크가 완료되면 데이터셋이 생성된다.
· Dataset name 클릭

 



 

3. 권한 (IAM Role)

자격 증명을 할당 받은 사용자가 AWS 리소스를 사용할 수 있는 권한은 IAM Role을 따른다.
· 오른쪽 상단의 Edit identity pool 클릭


 



 

· 디폴트로 생성할 경우 기본 권한


 



 

 




참고