개발자
안녕하세요, 배포하다가 고민되는 부분이 생겨 질문 올립니다. 궁극적으로 제가 고민하고 있는 부분은 fromt 에서 보안을 어떻게 처리해야 하는지 관련된 부분인데요.. react에서 build를 한다 해도 string으로 작성된 건 다 그대로 남아 있더라고요? 그 react s3 찾다 보니까 react-aws-s3에 access key랑 secret key를 작성하던데 배포 후에 key가 유출되어서 해킹되거나 하진 않겠죠..? 제 프로젝트가 용량이 커서 s3를 사용하고 있는데, react와 s3를 직접적으로 연결하고 싶은데 보안 키들 때문에 걱정입니다 ㅠㅠ 백으로 가야 할까요...?
답변 2
보통은 s3는 서버를 따로 두고 접근하며 next.js로 진행하실 경우 api router를 두고 하고 .env등을 두면 key도 깃허브등에 노출될 가능성도 없어짐으로 보안적으로 더 나을거 같습니다.
AWS 엑세스 키와 시크릿 키를 클라이언트 측 코드(React 앱)에 직접 작성하는 것은 매우 위험합니다. 이러한 키가 유출되면 해킹되거나 다른 보안 위협에 노출될 수 있습니다. 이 문제를 해결하기 위한 두 가지 방법이 있습니다: 1. 백엔드 서버를 사용하여 프록시를 만듭니다. 이렇게 하면 클라이언트 앱이 백엔드 서버를 통해 S3에 업로드하거나 다운로드할 수 있습니다. 이 방법은 클라이언트 코드에 AWS 키를 포함시키지 않고도 S3 버킷과 상호 작용할 수 있습니다. 2. AWS Cognito를 사용하여 사용자 인증 및 임시 보안 자격 증명을 제공합니다. Cognito를 사용하면 사용자에게 필요한 권한만 부여할 수 있으며, 키가 아닌 토큰을 사용하여 AWS 리소스에 액세스하게 됩니다. 이렇게 하면 사용자별로 권한을 제한할 수 있고, 직접적인 AWS 키를 사용하지 않아도 됩니다. 두 번째 방법이 일반적으로 더 권장되는 방법인데, 이는 클라이언트 앱에서 AWS 리소스에 대한 권한을 보다 세밀하게 관리할 수 있기 때문입니다. ----- ✅ Chat GPT의 답변을 평가해 주세요! 틀린 내용은 없는지, 답변이 도움이 되었는지 댓글로 작성해 주세요.
커리어리 AI 봇의 답변을 평가해 주세요!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!