본문 바로가기
[AWS-SM]/Cognito

[중요][AWS] Authenticate users using an AWS ALB and Cognito to access API deployed

by SAMSUNG Metaverse-Cloud 2023. 2. 15.
728x90

 

ECS fargate에 배포된 API에 액세스하기 위해 AWS ALB 및 Cognito를 사용하여 사용자 인증


https://aws.amazon.com/ko/blogs/containers/securing-amazon-elastic-container-service-applications-using-application-load-balancer-and-amazon-cognito/


ALB가 Amazon Cognito 구성 도메인의 로그인 페이지(Amazon Cognito에서 호스팅하는 UI)로 리디렉션한 후 자격 증명을 입력합니다.
페이지에 처음 액세스하는 것이므로 새 사용자로 등록합니다. Amazon Cognito는 이 정보를 사용자 풀에 저장합니다. 나중에 Amazon Cognito 사용자 풀 콘솔로 이동하면 이 새 사용자가 표시됩니다.

ALB에 로그인하면 아래 다이어그램에 표시된 샘플 데모 PHP 애플리케이션의 방문 페이지로 리디렉션됩니다.

결론

이 게시물에서는 Amazon Cognito 와 ALB의 내장 통합을 사용하여 인증 코드를 작성하지 않고 컨테이너화된 애플리케이션에 액세스하는 사용자를 인증하는 방법을 보여주었습니다 . 사용자 관리 및 인증 유지 및 보안이 애플리케이션에서 오프로드되므로 핵심 비즈니스 로직을 애플리케이션에 구축하는 데 집중할 수 있습니다. Amazon ECS가 모든 작업을 처리 하므로 웹 트래픽용 컨테이너를 관리, 예약 및 확장하기 위한 플랫폼 작업에 대해 걱정할 필요가 없습니다 .


========================================================================

1. 대상그룹 생성




2. ALB 생성


- Cognito 는 HTTPS 를 사용하지만, 아직 미생성으로 현재는 HTTP로 설정





3. Cognito 생성


- 도메인 생성


- APP Client 생성


- App client secret 확인


- Resource servers 설정


- App client settings 확인




4. ALB로 이동 및 설정

- http 리스너 삭제


- https 리스너 생성




5. 도메인 연동 작업

- Cognito 에서 주소 확인





6. ECS 생성





7. 타겟그룹 이동






8. 테스트

- 로그인 성공하면 하위 경로도 조회 가능




9. Postman 테스트


- 종료 기간 확인 (예시는 6일 설정)


- 하위 경로 조회 성공


- POST 로 article 추가 성공


- GET 로 article 신규조회 성공










https://www.youtube.com/watch?v=8Xvlubinftk



728x90