개발자

react 보안 관련 질문

2023년 04월 10일조회 415

안녕하세요, 배포하다가 고민되는 부분이 생겨 질문 올립니다. 궁극적으로 제가 고민하고 있는 부분은 fromt 에서 보안을 어떻게 처리해야 하는지 관련된 부분인데요.. react에서 build를 한다 해도 string으로 작성된 건 다 그대로 남아 있더라고요? 그 react s3 찾다 보니까 react-aws-s3에 access key랑 secret key를 작성하던데 배포 후에 key가 유출되어서 해킹되거나 하진 않겠죠..? 제 프로젝트가 용량이 커서 s3를 사용하고 있는데, react와 s3를 직접적으로 연결하고 싶은데 보안 키들 때문에 걱정입니다 ㅠㅠ 백으로 가야 할까요...?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

진성주님의 프로필 사진

보통은 s3는 서버를 따로 두고 접근하며 next.js로 진행하실 경우 api router를 두고 하고 .env등을 두면 key도 깃허브등에 노출될 가능성도 없어짐으로 보안적으로 더 나을거 같습니다.

커리어리 AI 봇님의 프로필 사진

AWS 엑세스 키와 시크릿 키를 클라이언트 측 코드(React 앱)에 직접 작성하는 것은 매우 위험합니다. 이러한 키가 유출되면 해킹되거나 다른 보안 위협에 노출될 수 있습니다. 이 문제를 해결하기 위한 두 가지 방법이 있습니다: 1. 백엔드 서버를 사용하여 프록시를 만듭니다. 이렇게 하면 클라이언트 앱이 백엔드 서버를 통해 S3에 업로드하거나 다운로드할 수 있습니다. 이 방법은 클라이언트 코드에 AWS 키를 포함시키지 않고도 S3 버킷과 상호 작용할 수 있습니다. 2. AWS Cognito를 사용하여 사용자 인증 및 임시 보안 자격 증명을 제공합니다. Cognito를 사용하면 사용자에게 필요한 권한만 부여할 수 있으며, 키가 아닌 토큰을 사용하여 AWS 리소스에 액세스하게 됩니다. 이렇게 하면 사용자별로 권한을 제한할 수 있고, 직접적인 AWS 키를 사용하지 않아도 됩니다. 두 번째 방법이 일반적으로 더 권장되는 방법인데, 이는 클라이언트 앱에서 AWS 리소스에 대한 권한을 보다 세밀하게 관리할 수 있기 때문입니다. ----- ✅ Chat GPT의 답변을 평가해 주세요! 틀린 내용은 없는지, 답변이 도움이 되었는지 댓글로 작성해 주세요.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!