게시글
질문&답변
2020.08.14
API Key를 request.heade에 넣으면...
안녕하세요. 정확한 말씀입니다. 보안성이 중요하지 않은 정보에 대한 GET Method라면 API Key가 클라이언트에게 노출되는 경우가 있습니다. 예를 들어 비로그인 사용자에게 백엔드에서 받아오는 동적 컨테츠를 보여줘야 한다거나, 구글 맵 API같이 클라이언트 앱마다 Key를 지정하여 접속을 허가하거나 사용량을 관리해야 하는 경우가 있겠지요. 하지만 중요정보의 Get 그리고 그 외의 모든 API 요청에 대해 모든 클라이언트가 단일 Key를 사용한다는 것은 말씀하신것처럼 보안측면에서 현실적이지 않습니다. 그래서 강의초반에 칸반보드에 로그인 기능을 구현하고 토큰을 발행한다거나 하는 내용을 다루어야 할지 고민이였는데 아무래도 AWS서비스 설명 대비 프론트/백엔드 프로그래밍 비중이 점점 커지는 것 같아 다루지는 못했습니다. 다만 말씀해주신 내용을 듣고 다시 생각해보니, 하다못해 강의 후반에 CloudFront URL을 생성하고 람다 함수마다 CORS - Access-Control-Allow-Origin에 해당 URL를 명시해주고, 다루지 못한 내용에 대해서는 간략하게나마 말씀을 드렸다면 좀 더 흐름이 매끄러웠을텐데하는 아쉬움이 남습니다. 강의 리뉴얼을 하게 된다면 말씀하신 내용을 감안하도록 하겠습니다. 참고로 API Gateway에서는 Lambda 또는 Cognito 서비스로 접속제어를 하는 방법이 있습니다. 추후에 관심이 있으시다면 아래 링크를 참고해주시면 좋겠습니다. https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html 제가 업무상 최근 진행했던 프로젝트들에서는 싱글 사인온(SSO)이라면 SAML, OAuth를 사용하고, 모든게 다 커스텀이라면 개별 사용자마다 램덤키(Salt)를 DB에 저장한 후, 사용자 인증이 되면 Salt와 Private Key를 섞고, 토큰 만료시간을 담아 JWT를 생성 후 클라이언트에 발행하고, API요청시마다 해당 토큰을 첨부하도록 하여 해당 사용자로부터 온 요청이 정말 맞는지, 요청에 접근권한이 있는지, 키가 만료는 안되었는지 등을 보고 인가하는 방식을 쓰고 있습니다. API 접근제어에 대한 방법론은 다양하기도 하고 꾸준히 발전하고 있습니다. AWS 상에서 모든 것을 구현한다면 Amazon Cognito나 AWS Single Sign-on 서비스로 구현하면 될 것인데 이후 강좌에서 기회가 된다면 다루어 보도록 하겠습니다. 좋은 코멘트 남겨주셔서 다시 한번 감사드립니다.
- 0
- 2
- 193
질문&답변
2020.08.14
index.html 소스내의 script tag 의 style attribute 오타
네 type의 오타가 맞습니다. 대부분의 웹브라우저에서 아마 정상적으로 처리는 되겠지만 소스코드를 꼼꼼하게 확인하지 못해서 죄송합니다.
- 0
- 2
- 196
질문&답변
2020.07.26
X-Ray 부분에서 하위 세그먼트들이 보이지 않네요 ㅠ
안녕하세요. Passive 모드인 람다함수가 다른 함수에 의해 호출될때 Initialization, Invocation, Overhead 등의 서브세그먼트 정보가 나타나지 않는 부분을 알려주셨습니다. 람다함수의 실행역할(IAM Role)로 사용 중인 'Lambda_Kanba_Role'에 X-Ray에 정보를 보낼 수 있는 권한이 부여되지 않아 생긴 문제로 여겨지며, 이를 간단하게 해결하기 위해서는 4개의 람다 함수 중 아무 곳에서 1. AWS X-Ray 항목의 '활성 추적'을 클릭해주세요. 2. 클릭시, 하단에 붉은 글씨로 '...자동으로 역할에 해당 권한을 추가합니다.' 라는 안내문이 나옵니다. (참조: 하단 첫번째 이미지) 3. 저장 버튼을 누릅니다. 에러 없이 저장이 되었다면 IAM에서 Lambda_Kanba_Role 역할을 확인시 X-Ray관련 권한이 추가된 것을 확인할 수 있습니다. (참조: 하단 두번째 이미지) - xray: PutTracesSegments 와 xray:PutTelemetryRecords 라는 권한이 새로운 정책이나 기존 정책에 포함된 것이 확인되어야 합니다. 4. 상기 1번에 클릭한 '활성 추적' 부분은 필요하지 않으니 다시 클릭하여 해제하시고 저장 버튼을 누릅니다. 5. 'Lambda_Kanba_Role ' 역할의 X-Ray권한이 살아있는한 동일한 역할을 사용하는 나머지 람다 함수에서도 관련 세그먼트 정보가 X-ray 에서 정상적으로 나타나야 합니다. ** 강의 촬영 당시엔 API Gateway에서 X-Ray 추적 활성화시(Active) 호출되는 Passive 람다함수의 실행역할에 해당 정책이 자동으로 추가되었던것 같은데 변경이 있었던 것 같습니다. 그게 아니면 녹화 외 시간에 제가 상기 1-4번을 수행했다는 것인데 확실치가 않네요(이번에 처음 알게 된 것이라..). ** 해당 내용 알려주셔서 감사합니다. (사진) (사진)
- 1
- 1
- 266
질문&답변
2020.07.02
현재 aws console에는 [ 실행 역할 ] 부분이 보이지 않는데?
람다 콘솔환경의 UI 변경이 있었네요. 현재 시점에서 실행 역할 수정을 위해서는 1) 윤종석님 말씀대로 상단의 권한 탭 -> 실행 역할 섹션의 편집 버튼을 누르시거나 2) 구성 탭(초기화면) 화면에서 하단에 있는 기본설정 섹션의 편집 버튼을 누르시면 가능합니다. 첨부한 영상을 참고 부탁드리겠습니다. (사진)
- 0
- 2
- 324
질문&답변
2020.04.29
SAM 강의는 언제쯤 들을 수 있을까요?
강의가 모두 업로드되었습니다. 기다려주셔서 감사합니다.
- 0
- 2
- 243
질문&답변
2020.04.20
SAM 강의는 언제쯤 들을 수 있을까요?
당초 계획보다 늦어졌습니다. 현재 다시 녹화 중이라 곧 끝날 예정입니다만 완료되면 여기에 다시 답변드리겠습니다.
- 0
- 2
- 243
질문&답변
2020.03.10
준비중 강의
안녕하세요. SAM은 이번주 / 다음주말간 완료할 계획입니다. 늦어져서 죄송합니다.
- 0
- 2
- 153