Amazon AWS :: COGNITO소개
다루는 내용
-
AWS Cognito는?
-
Amazon Cognito Identity
-
Amazon Cognito Sync
실습
AWS Cognito는?
Amazon Cognito는 백엔드 코드를 작성하거나 인프라를 관리하지 않고도 모바일 자격 증명 관리 및 데이터 동기화 기능을 제공한다. 백엔드 코드는 AWS Cognito가 처리하므로 개발자는 Public Identity provider의 인증 코드만 해결하면 된다.
Amazon Cognito Identity
안드로이드 개발 환경
-
Android Studio 설치
https://developer.android.com/sdk/index.html -
Android Studio 실행
Start a new Android Studio project 선택 -
라이브러리 추가· 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 생성
-
콘솔에서 Cognito 클릭
-
Get started 클릭
-
Create new identity pool 페이지에서· Identity pool name : myCognitoApp 입력· Enable access to unauthenticated identities : 체크
Cognito에서 AWS STS를 이용하여 임시 자격 증명을 할 때 필요하다.· Authentication providers
Public identity providers를 이용하여 자격 증명을 할 때 필요하다.· Create Pool 클릭 -
Your Cognito identities require access to your resources· Allow 클릭
임시자격증명 소스 코드 작성
-
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개의 데이터셋을 쓸 수 있다.
-
Sample code· Store User Data· MainActivity.java° 데이터셋(myDataset)을 만든다.° 키(myKey), 값(myValue)을 쓴다.
-
확인· 왼쪽 메뉴에서 Identity browser 클릭· 임시 자격 증명을 획득하게 되면 Identity ID가 생성된다.· Identity ID 클릭
데이터 싱크가 완료되면 데이터셋이 생성된다.· Dataset name 클릭 -
권한 (IAM Role)자격 증명을 할당 받은 사용자가 AWS 리소스를 사용할 수 있는 권한은 IAM Role을 따른다.· 오른쪽 상단의 Edit identity pool 클릭· 디폴트로 생성할 경우 기본 권한
참고
※ https://docs.aws.amazon.com/cognito/devguide/
'Cloud AWS' 카테고리의 다른 글
Amazon AWS :: WAF 적용 (0) | 2015.11.15 |
---|---|
Amazon AWS :: KMS로 S3와 EBS 데이터 암호화 (0) | 2015.11.15 |
Amazon AWS :: Elastic Block Store(EBS) 소개 (0) | 2015.11.14 |
Amazon AWS :: Elastic Compute Cloud(EC2) 소개 (0) | 2015.11.14 |
Amazon AWS :: Elastic MapReduce(EMR) 소개 (0) | 2015.11.14 |