Home
home

Lab - AWS IAM - ConsoleMe 테스트

ConsoleMe 테스트는 아래와 같은 시나리오에 따라 확인해 보겠습니다.
Cognito 사용자 등록
ConsoleMe 접근 및 사용
Congnito 그룹 생성 및 역할 정의
IAM 권한 요청 및 승인 프로세스 체험
Weep CLI 활용하는 방법
리소스 탐색 및 권한 요청
정책 롤백 확인

1. Cognito 사용자 등록

Cognito 사용자 등록 방법은 셀프 서비스 가입에 따라 구분할 수 있습니다.
셀프 서비스 가입 비활성화 (현재 상태)
관리자가 사용자를 생성하고 관리 → 임시 비밀번호 전달 후 사용자 변경 (초대 메시지 전송 여부)
AWS 관리 콘솔을 통한 사용자 생성
CLI를 통한 사용자 생성
IaC 도구를 통한 사용자 생성
Lambda 트리거 사용
셀프 서비스 가입 활성화
메시지를 자동으로 전송하지 않고 동작 → 관리자가 직접 사용자 계정을 확인
Cognito가 자동으로 메시지를 전송하여 검증
SMS 전송
이메일 전송
셀프 서비스 가입 비활성화 - AWS 관리 콘솔
Amazon Cognito → 사용자 풀 → 대상 선택 → 인증 → 가입
⇒ 현재 셀프 서비스 가입에 셀프 등록은 비활성화 상태입니다.
Amazon Cognito → 사용자 풀 → 대상 선택 → 사용자 관리 → 사용자 → 사용자 생성
⇒ 초대 메시지 전송 여부를 결정할 수 있습니다.
⇒ 대상 이메일 주소를 지정하고 임시 암호를 설정하거나 사용자가 암호를 생성하게 할 수 있습니다.
⇒ 등록된 사용자 정보를 확인할 수 있는데 현재 암호 강제 변경이 필요한 상태입니다. (아직 임시 암호로 사용자 암호가 정의되지 않음)
설정한 도메인 주소로 접근하면 Cognito 로그인 페이지로 리다이렉트됩니다.
⇒ 셀프 서비스 등록이 비활성화로 Sign up 영역이 존재하지 않습니다.
⇒ 임시 암호를 입력하고 로그인합니다.
⇒ 임시 암호이기 때문에 사용자 암호로 명시된 조건에 따라 변경합니다.
⇒ 로그인 성공
⇒ 사용자에 대한 확인 상태가 확인됨으로 변경되었습니다.
셀프 서비스 가입 비활성화 - AWS CLI
# 테스트용 메일과 임시 비밀번호 지정 USER_EMAIL="ongja0707@gmail.com" TEMP_PW="TempPass123!" # Congnito 사용자 생성 aws cognito-idp admin-create-user \ --user-pool-id ${USER_POOL_ID} \ --username "${USER_EMAIL}" \ --temporary-password "${TEMP_PW}" \ --user-attributes Name="email",Value="${USER_EMAIL}" Name="email_verified",Value="true" ========================================= OUTPUT: { "User": { "Username": "c428dd4c-20a1-70a4-43fe-3da49363970b", "Attributes": [ { "Name": "email", "Value": "ongja0707@gmail.com" }, { "Name": "email_verified", "Value": "true" }, { "Name": "sub", "Value": "c428dd4c-20a1-70a4-43fe-3da49363970b" } ], "UserCreateDate": "2024-11-25T15:58:39.499000+00:00", "UserLastModifiedDate": "2024-11-25T15:58:39.499000+00:00", "Enabled": true, "UserStatus": "FORCE_CHANGE_PASSWORD" } } :END # Cognito 사용자 풀에 사용자 확인 (이메일, 상태) aws cognito-idp list-users \ --user-pool-id ${USER_POOL_ID} \ --query 'Users[*].[Attributes[0].Name, Attributes[0].Value, UserStatus]' \ --output table ========================================= OUTPUT: ----------------------------------------------------------- | ListUsers | +-------+-----------------------+-------------------------+ | email| ongja@cloudneta.net | CONFIRMED | | email| ongja0707@gmail.com | FORCE_CHANGE_PASSWORD | +-------+-----------------------+-------------------------+ :END
Bash
복사
⇒ 앞서 생성한 사용자와 신규 사용자가 확인됩니다. (신규 사용자는 아직 임시 암호 사용 중)
⇒ 두 번째 사용자가 임시 암호를 사용자 암호로 변경 후 Cognito 사용자 정보를 확인할 수 있습니다.
셀프 서비스 가입 활성화
# 셀프 서비스 가입 설정 확인 (true = 셀프 서비스 가입 비활성화 상태) aws cognito-idp describe-user-pool --user-pool-id ${USER_POOL_ID} | jq \ '.UserPool.AdminCreateUserConfig.AllowAdminCreateUserOnly' ========================================= OUTPUT: true :END # 셀프 서비스 가입 활성화 설정 aws cognito-idp update-user-pool \ --user-pool-id ${USER_POOL_ID} \ --admin-create-user-config AllowAdminCreateUserOnly=false
Bash
복사
셀프 서비스 가입 비활성화는 오직 관리자만 사용자를 생성할 수 있습니다.
셀프 서비스 가입 활성화는 사용자도 직접 생성할 수 있습니다.
Amazon Cognito → 사용자 풀 → 대상 선택 → 인증 → 가입
⇒ 셀프서비스 가입에 셀프 등록이 활성화 되었습니다.
⇒ 다시 로그인 페이지로 진입하면 Sign up 링크가 확인됩니다.
⇒ 다음과 같이 새로운 사용자를 셀프 등록 요청할 수 있습니다.
⇒ 사용자 등록 승인이 되지 않아 로그인이 불가합니다.
사용자를 셀프로 등록해도 바로 사용할 수 있는 것은 아닙니다.
Cognito 지원 확인으로 메시지를 자동 전송하거나 전송하지 않고 관리자가 직접 확인해서 승인할 수 있습니다.
Amazon Cognito → 사용자 풀 → 대상 선택 → 인증 → 가입 → 속성 확인 및 사용자 계정 확인
⇒ 현재 별도의 메시지를 자동으로 전송하지 않고 관리자가 직접 검증 후 승인하는 형태입니다.
⇒ 세 번째 사용자 정보가 올라왔지만 확인되지 않음 상태입니다.
⇒ 계정 확인을 클릭하면 확인됨 상태로 전환되어 사용자가 접근이 가능합니다.
# Cognito 사용자 풀에 사용자 확인 (모두 승인된 상태) aws cognito-idp list-users \ --user-pool-id ${USER_POOL_ID} \ --query 'Users[*].[Attributes[0].Name, Attributes[0].Value, UserStatus]' \ --output table ========================================= OUTPUT: ----------------------------------------------- | ListUsers | +-------+-----------------------+-------------+ | email| ongja@cloudneta.net | CONFIRMED | | email| ongja0707@gmail.com | CONFIRMED | | email| test@cloudneta.net | CONFIRMED | +-------+-----------------------+-------------+ :END
Bash
복사

2. ConsoleMe 접근 및 사용

작성 중…