ebook img

Amazon Cognito - 개발자 안내서 PDF

478 Pages·2017·2.37 MB·Korean
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Amazon Cognito - 개발자 안내서

Amazon Cognito 개발자 안내서 Amazon Cognito 개발자 안내서 Amazon Cognito: 개발자 안내서 Copyright © 2022 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon의 상표 및 브랜드 디자인은 Amazon 외 제품 또는 서비스와 함께, Amazon 브랜드 이미지를 떨어뜨리거나 고객 에게 혼동을 일으킬 수 있는 방식으로 사용할 수 없습니다. Amazon이 소유하지 않은 기타 모든 상표는 Amazon과 제휴 관계이거나 관련이 있거나 후원 관계와 관계없이 해당 소유자의 자산입니다. Amazon Cognito 개발자 안내서 Table of Contents Amazon Cognito란 무엇입니까?............................................................................................................ 1 Amazon Cognito의 기능.............................................................................................................. 2 Amazon Cognito 시작하기........................................................................................................... 2 리전별 가용성............................................................................................................................ 3 Amazon Cognito 요금................................................................................................................. 3 Amazon Cognito 콘솔 사용.......................................................................................................... 3 Amazon Cognito 시작하기................................................................................................................... 6 AWS 계정 및 루트 사용자 자격 증명 받기 ...................................................................................... 6 IAM 사용자 생성......................................................................................................................... 7 IAM 사용자로 로그인.................................................................................................................. 8 IAM 사용자 액세스 키 생성.......................................................................................................... 8 일반적인 Amazon Cognito 시나리오...................................................................................................... 9 사용자 풀로 인증 ........................................................................................................................ 9 서버 측 리소스 액세스................................................................................................................. 9 API Gateway 및 Lambda를 사용하여 리소스 액세스....................................................................... 10 사용자 풀 및 자격 증명 풀로 AWS 서비스 액세스 .......................................................................... 11 서드 파티에 인증 및 자격 증명 풀로 AWS 서비스 액세스 ................................................................ 11 Amazon Cognito를 사용하여 AWS AppSync 리소스 액세스............................................................. 12 자습서............................................................................................................................................. 13 사용자 풀 생성 ......................................................................................................................... 13 관련 리소스...................................................................................................................... 14 자격 증명 풀 생성 ..................................................................................................................... 14 관련 리소스...................................................................................................................... 14 AWS 리소스 정리 ..................................................................................................................... 15 앱과 통합......................................................................................................................................... 16 AWS Amplify 프레임워크를 사용한 Amazon Cognito 인증............................................................... 16 amazon-cognito-identity-js를 사용하는 인증................................................................................... 16 AWS SDK를 사용하는 인증........................................................................................................ 17 멀티 테넌트 애플리케이션 모범 사례.................................................................................................... 18 사용자 풀 기반 멀티 테넌시 ........................................................................................................ 18 애플리케이션 클라이언트 기반 멀티 테넌시 .................................................................................. 19 그룹 기반 멀티 테넌시 ............................................................................................................... 19 사용자 지정 속성 기반 멀티 테넌시............................................................................................. 19 멀티 테넌시 보안 권장 사항 ........................................................................................................ 19 Amazon Cognito 사용자 풀................................................................................................................ 21 사용자 풀 시작하기 ................................................................................................................... 22 사전 요건: AWS 계정 가입 ................................................................................................. 22 1단계. 사용자 풀 생성 ....................................................................................................... 22 2단계. 앱 클라이언트 추가 및 호스팅 UI 설정 ........................................................................ 24 3단계. 사용자 풀에 소셜 로그인 추가(선택 사항).................................................................... 27 4단계. 사용자 풀에 SAML 자격 증명 공급자로 로그인 추가(선택 사항)....................................... 33 다음 단계......................................................................................................................... 36 사용자 풀 업데이트 ................................................................................................................... 36 Amazon Cognito API 또는 AWS CLI를 사용하여 사용자 풀 업데이트 ......................................... 37 호스트된 UI 사용 ...................................................................................................................... 38 AWS Amplify를 사용하여 호스트된 UI 설정........................................................................... 38 Amazon Cognito 콘솔을 사용하여 호스트된 UI 설정 ............................................................... 38 앱 클라이언트 구성 ........................................................................................................... 42 도메인 구성...................................................................................................................... 47 기본 제공 웹 페이지 사용자 정의 ......................................................................................... 53 호스팅 UI 사용 방법 .......................................................................................................... 57 리소스 서버 정의 .............................................................................................................. 69 서드 파티를 통한 로그인 추가 ..................................................................................................... 72 Amazon Cognito 사용자 풀에서 페더레이션 로그인이 작동하는 방식 ......................................... 72 iii Amazon Cognito 개발자 안내서 소셜 자격 증명 공급자 추가 ................................................................................................ 73 SAML 공급자 추가............................................................................................................ 80 OIDC 공급자 추가............................................................................................................. 92 속성 매핑 지정................................................................................................................. 98 페더레이션 사용자를 기존 사용자 프로필에 연결 .................................................................. 102 Lambda 트리거 사용................................................................................................................ 104 중요 고려 사항................................................................................................................ 105 사용자 풀 트리거 추가..................................................................................................... 107 사용자 풀 Lambda 트리거 이벤트...................................................................................... 108 사용자 풀 Lambda 트리거 공통 파라미터 ............................................................................ 108 Lambda 트리거 소스........................................................................................................ 109 사전 가입 Lambda 트리거................................................................................................ 111 사후 확인 Lambda 트리거................................................................................................ 117 사전 인증 Lambda 트리거................................................................................................ 120 사후 인증 Lambda 트리거................................................................................................ 122 문제 Lambda 트리거........................................................................................................ 126 사전 토큰 생성 Lambda 트리거......................................................................................... 135 사용자 마이그레이션 Lambda 트리거................................................................................. 139 사용자 정의 메시지 Lambda 트리거................................................................................... 143 사용자 지정 발신자 Lambda 트리거................................................................................... 147 Amazon Pinpoint 분석 사용...................................................................................................... 156 Amazon Cognito 및 Amazon Pinpoint 리전 매핑 찾기........................................................... 157 앱을 Amazon Pinpoint와 통합........................................................................................... 159 사용자 관리............................................................................................................................ 159 사용자 계정 가입 및 확인................................................................................................. 160 관리자로 사용자 생성...................................................................................................... 168 사용자 풀에 그룹 추가..................................................................................................... 174 사용자 관리 및 검색 ........................................................................................................ 176 사용자 계정 복구 ............................................................................................................. 181 사용자 풀로 사용자 가져오기 ............................................................................................ 181 이메일 설정............................................................................................................................ 192 기본 이메일 기능 ............................................................................................................. 192 Amazon SES 이메일 구성................................................................................................ 193 이메일 계정 구성 ............................................................................................................. 194 SMS 메시지 설정 .................................................................................................................... 198 Amazon Cognito 사용자 풀에서 처음으로 SMS 메시지 설정................................................... 198 토큰 사용............................................................................................................................... 203 ID 토큰 사용................................................................................................................... 204 액세스 토큰 사용 ............................................................................................................. 206 새로 고침 토큰 사용 ........................................................................................................ 207 토큰 철회....................................................................................................................... 209 JSON 웹 토큰 확인......................................................................................................... 210 캐싱 토큰....................................................................................................................... 213 로그인 후 리소스 액세스.......................................................................................................... 214 서버 측 리소스 액세스 ......................................................................................................... 9 API Gateway 및 Lambda를 사용하여 리소스 액세스............................................................. 215 자격 증명 풀을 사용하여 AWS 리소스 액세스 ...................................................................... 216 보안 기능 사용 ........................................................................................................................ 219 MFA 추가....................................................................................................................... 219 고급 보안 기능 추가 ........................................................................................................ 227 AWS WAF 웹 ACL.......................................................................................................... 237 대소문자 구분................................................................................................................. 240 사용자 풀 콘솔 참조 ................................................................................................................ 240 사용자 풀 이름................................................................................................................ 241 사용자 및 그룹................................................................................................................ 241 Attributes....................................................................................................................... 241 암호 요구 사항................................................................................................................ 250 iv Amazon Cognito 개발자 안내서 관리자로 사용자 생성 정책............................................................................................... 250 삭제 방지....................................................................................................................... 250 이메일 또는 전화 확인..................................................................................................... 251 메시지 사용자 정의 ......................................................................................................... 254 태그 .............................................................................................................................. 258 Devices......................................................................................................................... 259 앱 클라이언트................................................................................................................. 260 트리거........................................................................................................................... 262 설정 검토....................................................................................................................... 263 분석 .............................................................................................................................. 263 앱 클라이언트 설정 ......................................................................................................... 264 도메인 이름.................................................................................................................... 265 UI 사용자 정의................................................................................................................ 266 리소스 서버.................................................................................................................... 268 자격 증명 공급자 ............................................................................................................. 269 속성 매핑....................................................................................................................... 274 오류 응답 관리 ........................................................................................................................ 277 Amazon Cognito 자격 증명 풀........................................................................................................... 279 자격 증명 풀 시작하기 ............................................................................................................. 279 AWS 계정에 가입............................................................................................................ 280 Amazon Cognito에서 자격 증명 풀 생성............................................................................. 280 Mobile 또는 JavaScript SDK 설치...................................................................................... 281 자격 증명 공급자 통합..................................................................................................... 281 자격 증명 얻기................................................................................................................ 281 자격 증명 풀 사용 ................................................................................................................... 281 사용자 IAM 역할............................................................................................................. 282 인증된 자격 증명 및 인증되지 않은 자격 증명 ...................................................................... 282 미인증 자격 증명 활성화 또는 비활성화 .............................................................................. 282 자격 증명 유형과 연관된 역할 변경 .................................................................................... 283 인증 공급자 활성화 또는 편집 ........................................................................................... 283 자격 증명 풀 삭제........................................................................................................... 284 자격 증명 풀에서 자격 증명 삭제 ....................................................................................... 284 데이터 집합 관리 ............................................................................................................. 284 데이터 대량 게시 ............................................................................................................. 285 푸시 동기화 사용 ............................................................................................................. 285 Amazon Cognito 스트림 설정............................................................................................ 285 Amazon Cognito 이벤트 설정............................................................................................ 286 자격 증명 풀 개념 ................................................................................................................... 286 자격 증명 풀 인증 흐름.................................................................................................... 286 IAM 역할........................................................................................................................ 291 역할 트러스트 및 권한..................................................................................................... 296 액세스 제어에 속성 사용.......................................................................................................... 297 Amazon Cognito 자격 증명 풀에서 액세스 제어에 속성 사용 .................................................. 297 액세스 제어에 속성 사용 정책 예 ....................................................................................... 298 액세스 제어에 속성 사용 중지 ........................................................................................... 300 기본 공급자 매핑 ............................................................................................................. 300 역할 기반 액세스 제어 ............................................................................................................. 301 역할 매핑에 사용할 역할 생성 ........................................................................................... 301 역할 전달 권한 부여 ........................................................................................................ 301 토큰을 사용하여 사용자에게 역할 할당............................................................................... 302 규칙 기반 매핑을 사용하여 사용자에게 역할 할당 ................................................................. 303 규칙 기반 매핑에 사용할 토큰 클레임 ................................................................................. 304 역할 기반 액세스 제어의 모범 사례 .................................................................................... 305 자격 증명 얻기 ........................................................................................................................ 305 Android.......................................................................................................................... 305 iOS - Objective-C............................................................................................................ 306 iOS - Swift..................................................................................................................... 307 v Amazon Cognito 개발자 안내서 JavaScript...................................................................................................................... 308 Unity............................................................................................................................. 309 Xamarin......................................................................................................................... 310 AWS 서비스 액세스................................................................................................................. 311 Android.......................................................................................................................... 311 iOS - Objective-C............................................................................................................ 311 iOS - Swift..................................................................................................................... 311 JavaScript...................................................................................................................... 312 Unity............................................................................................................................. 312 Xamarin......................................................................................................................... 312 자격 증명 풀 외부 자격 증명 공급자........................................................................................... 312 Facebook....................................................................................................................... 313 Login with Amazon.......................................................................................................... 318 Google........................................................................................................................... 321 Apple로 로그인............................................................................................................... 328 OpenID Connect 공급자................................................................................................... 332 SAML 자격 증명 공급자................................................................................................... 334 개발자 인증 자격 증명 ............................................................................................................. 335 인증 흐름 이해................................................................................................................ 336 개발자 공급자 이름 정의 및 자격 증명 풀에 연결 .................................................................. 336 자격 증명 공급자 구현..................................................................................................... 336 로그인 맵 업데이트(Android 및 iOS 전용)........................................................................... 342 토큰 가져오기(서버 측).................................................................................................... 342 기존 소셜 자격 증명에 연결 .............................................................................................. 343 공급자 간 전환 지원 ........................................................................................................ 344 자격 증명 전환 ........................................................................................................................ 346 Android.......................................................................................................................... 346 iOS - Objective-C............................................................................................................ 347 iOS - Swift..................................................................................................................... 347 JavaScript...................................................................................................................... 347 Unity............................................................................................................................. 348 Xamarin......................................................................................................................... 348 Amazon Cognito Sync..................................................................................................................... 349 Amazon Cognito Sync 시작하기................................................................................................ 349 AWS 계정에 가입............................................................................................................ 349 Amazon Cognito에서 자격 증명 풀 설정............................................................................. 350 데이터 저장 및 동기화..................................................................................................... 350 데이터 동기화......................................................................................................................... 350 Amazon Cognito Sync 클라이언트 초기화........................................................................... 350 데이터 집합 이해 ............................................................................................................. 352 데이터 집합의 데이터 읽기 및 쓰기 .................................................................................... 353 로컬 데이터를 동기화 스토어와 동기화............................................................................... 355 콜백 처리............................................................................................................................... 357 Android.......................................................................................................................... 357 iOS - Objective-C............................................................................................................ 358 iOS - Swift..................................................................................................................... 361 JavaScript...................................................................................................................... 363 Unity............................................................................................................................. 365 Xamarin......................................................................................................................... 367 푸시 동기화............................................................................................................................ 368 Amazon Simple Notification Service(Amazon SNS) 앱 생성.................................................... 369 Amazon Cognito 콘솔에서 푸시 동기화 사용....................................................................... 369 앱에서 푸시 동기화 사용: Android...................................................................................... 370 앱에서 푸시 동기화 사용: iOS - Objective-C........................................................................ 371 앱에서 푸시 동기화 사용: iOS - Swift ................................................................................. 373 Amazon Cognito 스트림........................................................................................................... 375 Amazon Cognito 이벤트........................................................................................................... 376 vi Amazon Cognito 개발자 안내서 보안 .............................................................................................................................................. 380 데이터 보호............................................................................................................................ 380 데이터 암호화................................................................................................................. 381 ID 및 액세스 관리 ................................................................................................................... 381 대상 .............................................................................................................................. 381 자격 증명을 통한 인증..................................................................................................... 382 정책을 사용하여 액세스 관리 ............................................................................................ 384 Amazon Cognito에서 IAM을 사용하는 방법......................................................................... 385 자격 증명 기반 정책 예제................................................................................................. 392 문제 해결....................................................................................................................... 394 서비스 연결 역할 사용..................................................................................................... 396 인증 .............................................................................................................................. 399 로깅 및 모니터링 ..................................................................................................................... 406 CloudWatch 및 Service Quotas에서 할당량 및 사용량 추적 .................................................... 406 AWS CloudTrail을 사용하여 Amazon Cognito API 호출 로깅.................................................. 412 규정 준수 검증 ........................................................................................................................ 425 복원성................................................................................................................................... 425 리전 데이터 고려 사항..................................................................................................... 426 인프라 보안............................................................................................................................ 426 구성 및 취약성 분석 ................................................................................................................ 426 AWS 관리형 정책 .................................................................................................................... 427 정책 업데이트................................................................................................................. 427 리소스에 태그 지정........................................................................................................................ 429 지원되는 리소스...................................................................................................................... 429 태그 제한............................................................................................................................... 429 콘솔을 사용하여 태그 관리 ....................................................................................................... 430 AWS CLI 예제........................................................................................................................ 430 태그 할당....................................................................................................................... 431 태그 보기....................................................................................................................... 431 태그 제거....................................................................................................................... 432 리소스를 생성할 때 태그 적용 ........................................................................................... 432 API 작업................................................................................................................................ 433 사용자 풀 태그에 대한 API 작업 ........................................................................................ 433 자격 증명 풀 태그에 대한 API 작업 .................................................................................... 433 할당량........................................................................................................................................... 434 작업 할당량............................................................................................................................ 434 할당량 분류.................................................................................................................... 434 특별 요청 속도 처리가 포함된 Amazon Cognito 사용자 풀 API 작업......................................... 434 Monthly active users(월별 활성 사용자).............................................................................. 435 Amazon Cognito 사용자 풀 API 작업 범주 및 요청 속도 할당량............................................... 435 할당량 사용량 추적 ......................................................................................................... 439 할당량 요구 사항 파악..................................................................................................... 440 할당량 최적화................................................................................................................. 440 할당량 증가 요청 ............................................................................................................. 441 Amazon Cognito 자격 증명 풀(페더레이션 자격 증명) API연산 요청 속도 할당량 ........................ 441 리소스 할당량......................................................................................................................... 442 API 참조........................................................................................................................................ 446 호스트된 UI 및 OIDC 엔드포인트 참조....................................................................................... 446 권한 부여 엔드포인트...................................................................................................... 447 Token 엔드포인트........................................................................................................... 452 UserInfo 엔드포인트........................................................................................................ 456 Login 엔드포인트............................................................................................................ 458 Logout 엔드포인트.......................................................................................................... 459 취소 엔드포인트.............................................................................................................. 461 사용자 풀 API 참조................................................................................................................. 462 자격 증명 풀 API 참조 ............................................................................................................. 462 Cognito Sync API 참조............................................................................................................ 463 vii Amazon Cognito 개발자 안내서 문서 기록....................................................................................................................................... 464 viii Amazon Cognito 개발자 안내서 Amazon Cognito란 무엇입니까? Amazon Cognito는 웹 및 모바일 앱에 대한 인증, 권한 부여 및 사용자 관리를 제공합니다. 사용자는 사용자 이름과 암호를 사용하여 직접 로그인하거나 Facebook, Amazon, Google 또는 Apple 같은 타사를 통해 로그 인할 수 있습니다. Amazon Cognito의 두 가지 주요 구성 요소는 사용자 풀과 자격 증명 풀입니다. 사용자 풀은 앱 사용자의 가 입 및 로그인 옵션을 제공하는 사용자 디렉터리입니다. 자격 증명 풀을 통해 사용자에게 기타 AWS 서비스에 액세스할 수 있는 권한을 부여할 수 있습니다. 자격 증명 풀과 사용자 풀을 별도로 또는 함께 사용할 수 있습 니다. Amazon Cognito 사용자 풀 및 자격 증명 풀을 함께 사용 아래 일반적인 Amazon Cognito 시나리오 다이어그램을 참조하세요. 목표는 사용자 인증 이후 다른 AWS 서 비스에 대한 사용자 액세스 권한을 부여하는 것입니다. 1. 첫 번째 단계에서 앱 사용자는 사용자 풀을 통해 로그인하여 인증 성공 이후 사용자 풀 토큰을 받습니다. 2. 다음으로 앱은 자격 증명 풀을 통해 사용자 풀 토큰을 AWS 자격 증명으로 교환합니다. 3. 마지막으로 앱 사용자는 AWS 자격 증명을 사용하여 Amazon S3, DynamoDB 등 다른 AWS 서비스에 액세스할 수 있습니다. 자격 증명 풀과 사용자 풀 사용에 대한 예제는 일반적인 Amazon Cognito 시나리오 (p. 9) 단원을 참조하 십시오. Amazon Cognito는 SOC 1-3, PCI DSS, ISO 27001을 준수하며, HIPAA-BAA 적격 서비스입니다. 자세한 내 용은 범위 내 AWS 서비스를 참조하세요. 또한 리전 데이터 고려 사항 (p. 426) 단원도 참조하십시오. 주제 • Amazon Cognito의 기능 (p. 2) 1 Amazon Cognito 개발자 안내서 Amazon Cognito의 기능 • Amazon Cognito 시작하기 (p. 2) • 리전별 가용성 (p. 3) • Amazon Cognito 요금 (p. 3) • Amazon Cognito 콘솔 사용 (p. 3) Amazon Cognito의 기능 사용자 풀 사용자 풀은 Amazon Cognito의 사용자 디렉터리입니다. 사용자 풀에서 사용자는 Amazon Cognito를 통해, 또는 서드 파티 자격 증명 공급자(IdP)를 통해 페더레이션하여 웹 또는 모바일 앱에 로그인할 수 있습니다. 사 용자가 직접 또는 타사를 통해 로그인하는지 여부와 무관하게 사용자 풀의 모든 멤버는 디렉터리 프로필을 보유하며, SDK를 통해 액세스할 수 있습니다. 사용자 풀 제공 사항: • 가입 및 로그인 서비스. • 사용자 로그인을 위한 내장 사용자 지정 웹 UI. • Facebook, Google, Login with Amazon 및 Sign in with Apple을 통한 소셜 로그인 및 사용자 풀의 SAML 및 OIDC 자격 증명 공급자를 통한 로그인. • 사용자 디렉터리 관리 및 사용자 프로필. • 멀티 팩터 인증(MFA), 이상 있는 자격 증명 확인, 계정 탈취 보호, 전화 및 이메일 확인과 같은 보안 기능. • AWS Lambda 트리거를 통한 사용자 지정 워크플로우 및 사용자 마이그레이션. 사용자 풀에 대한 자세한 내용은 사용자 풀 시작하기 (p. 22) 및 Amazon Cognito 사용자 풀 API 참조를 참 조하세요. 자격 증명 풀 자격 증명 풀로 사용자는 임시 AWS 자격 증명을 얻어 Amazon S3, DynamoDB 등의 다른 AWS 서비스에 액 세스할 수 있습니다. 자격 증명 풀은 익명 게스트 사용자는 물론 자격 증명에 대한 사용자 인증에 사용할 수 있는 다음 자격 증명 공급자를 지원합니다. • Amazon Cognito user pools • Facebook, Google, Login with Amazon 및 Sign in with Apple을 통한 소셜 로그인 • OpenID Connect(OIDC) 공급자 • SAML 자격 증명 공급자 • 개발자 인증 자격 증명 사용자 프로필 정보를 저장하려면 자격 증명 풀이 사용자 풀에 통합되어야 합니다. 자격 증명 풀에 대한 자세한 내용은 Amazon Cognito 자격 증명 풀(페더레이션 자격 증명) 시작하 기 (p. 279) 및 Amazon Cognito 자격 증명 풀 API 참조를 참조하세요. Amazon Cognito 시작하기 주요 작업 및 시작 지점 가이드는 Amazon Cognito 시작하기 (p. 6) 단원을 참조하십시오. 동영상, 기사, 설명서, 샘플 앱은 Amazon Cognito 개발자 리소스를 참조하세요. 2

Description:
Amazon Pinpoint 분석 설정 지정(AWS CLI 및 AWS API) . 디바이스 기억 기능이 [Always]로, [Do you want to use a remembered device to suppress
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.