지정한 만료 시간 전에 Amazon S3 버킷에 대해 미리 서명된 URL이 만료되는 이유는 무엇인가요?

2분 분량
0

임시 토큰을 사용하여 Amazon Simple Storage Service(S3) 버킷에 대해 미리 서명된 URL을 생성했습니다. 그러나 지정한 만료 시간 전에 URL이 만료되었습니다. 왜 이런 문제가 발생하나요? 더 오랫동안 유효한 미리 서명된 URL을 생성하려면 어떻게 해야 하나요?

해결 방법

임시 토큰을 사용하여 미리 서명된 URL을 만든 경우 토큰이 만료되면 URL이 만료됩니다. URL이 만료 시간이 지난 후에 생성된 경우에도 URL이 만료됩니다.

미리 서명된 URL을 생성하는 데 사용할 수 있는 자격 증명에는 다음 사항이 포함됩니다.

  • AWS Identity and Access Management(IAM) 인스턴스 프로파일: 최대 6시간 동안 유효합니다.
  • AWS Security Token Service(STS): AWS Identity and Access Management(IAM) 사용자가 서명한 경우 최대 36시간 동안 유효하며, 루트 사용자가 서명한 경우 최대 1시간 동안 유효합니다.
  • IAM 사용자: AWS Signature 버전 4를 사용할 경우 최대 7일 동안 유효합니다.

최대 7일 동안 유효한 미리 서명된 URL을 생성하려면, SDK에 IAM 사용자 자격 증명(액세스 키 및 보안 액세스 키)을 지정합니다. 그런 다음, AWS Signature 버전 4를 사용하여 미리 서명된 URL을 생성합니다. 예를 들어, AWS Signature 버전 4의 서명 계산을 참조하세요.

미리 서명된 URL을 생성할 때는 다음 사항에 유의합니다.

  • 역할을 수임하는 서비스(예: AWS Lambda 실행 역할)가 역할의 세션 기간 설정을 준수할 필요는 없습니다.
  • 미리 서명된 URL은 URL이 있는 모든 사용자에게 Amazon S3 버킷 액세스 권한을 부여하므로 적절하게 보호할 수 있는 모범 사례입니다.
  • 임시 토큰을 사용하여 미리 서명된 URL을 만든 경우 토큰이 만료되면 URL이 만료됩니다. URL이 만료 시간이 지난 후에 생성된 경우에도 마찬가지입니다.

사용자가 7일 이상 Amazon S3 버킷의 객체에 액세스할 수 있도록 허용하려면 다음 옵션 중 하나를 사용하는 것이 좋습니다.


관련 정보

미리 서명된 URL을 사용하여 객체 공유

GetSessionToken

인스턴스 메타데이터에서 보안 인증 정보 검색

요청 인증: 쿼리 파라미터 사용(AWS Signature 버전 4)

Boto 3 설명서: S3

AWS 공식
AWS 공식업데이트됨 2년 전
댓글 없음