Web

[웹] 구글 HTTP Temp 메소드?

JJANG-JOON 2023. 9. 21. 16:35
반응형

 

 

 

 

 

 

 

HTTP temp 메소드

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Google Cloud Storage에서 temp 메소드는 객체에 대한 임시 URL을 생성하는 데 사용되는 HTTP 메소드이다. 임시 URL은 지정된 만료 시간까지 유효하므로, 객체에 대한 액세스 권한을 제한하는 데 사용할 수 있다.

temp 메소드의 요청 URL은 다음과 같다.

https://storage.googleapis.com/v1//?temp_url_expires=

여기서:

  • <bucket_name>은 객체가 포함된 버킷 이름이다.
  • <object_name>은 객체 이름이다.
  • <expiration_time>은 임시 URL의 만료 시간(밀리초)이다.

temp 메소드의 응답은 다음과 같다.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "expiration": <expiration_time>,
  "signedUrl": <signed_url>
}

여기서:

  • <expiration_time>은 임시 URL의 만료 시간(밀리초)이다.
  • <signed_url>은 임시 URL이다.

 

 

임시 URL은 지정된 만료 시간까지 유효하며 임시 URL이 만료되면 더 이상 객체에 액세스할 수 없다.

temp 메소드는 다음과 같은 경우에 유용하다.

  • 객체에 대한 단기 액세스 권한을 제공해야 하는 경우
  • 객체에 대한 액세스 권한을 제한해야 하는 경우
  • 객체에 대한 액세스 로그를 유지해야 하는 경우

 

 

예를 들어, 다음 코드는 temp 메소드를 사용하여 객체에 대한 임시 URL을 생성한다.

import requests

def get_temporary_url(bucket_name, object_name, temp_url_expires):
  """Gets a temporary URL for an object in Google Cloud Storage.

  Args:
    bucket_name: The name of the bucket that contains the object.
    object_name: The name of the object to get the URL for.
    temp_url_expires: The expiration time of the temporary URL in milliseconds.

  Returns:
    The temporary URL.
  """

  url = "https://storage.googleapis.com/v1/{}/{}?temp_url_expires={}".format(
      bucket_name, object_name, temp_url_expires)
  response = requests.post(url)
  if response.status_code == 200:
    return response.json()["signedUrl"]
  else:
    raise ValueError(
        "Failed to get temporary URL: {}".format(response.status_code))


if __name__ == "__main__":
  bucket_name = "testbucket"
  object_name = "test.jsp"
  temp_url_expires = 1695278524257

  temporary_url = get_temporary_url(bucket_name, object_name, temp_url_expires)
  print(temporary_url)
 

이 코드는 다음과 같은 출력을 생성합니다.

https://storage.googleapis.com/v1/testbucket/test.jsp?token=...

이 임시 URL은 1695278524257밀리초까지 유효합니다. 임시 URL을 사용하여 객체의 콘텐츠를 요청할 수 있다.

 

 

 

 

보안적 이점

 

구글 스토리지의 temp 메소드를 사용한 파일 다운로드 방법은 보안적으로 안전하며 temp 메소드는 객체에 대한 임시 URL을 생성하는 데 사용되며, 임시 URL은 지정된 만료 시간까지 유효하다. 임시 URL이 만료되면 더 이상 객체에 액세스할 수 없으므로 임시 URL을 악용하여 객체에 무단으로 액세스하는 것은 불가능하다.

또한, temp 메소드는 요청에 대한 서명(signature)을 사용하여 보안을 강화한다. 서명은 요청의 일부 정보와 사용자의 인증 정보로 생성되므로 서명이 유효하지 않은 요청은 처리되지 않는다.

따라서, 구글 스토리지의 temp 메소드를 사용한 파일 다운로드 방법은 다음과 같은 측면에서 보안적으로 안전하다.

  • 임시 URL은 지정된 만료 시간까지만 유효
  • 임시 URL에는 서명이 포함되어 있다.

물론, 보안은 여러 요소에 의해 결정되므로, temp 메소드를 사용한 파일 다운로드 방법을 사용하는 경우에도 다음과 같은 보안 조치를 취하는 것이 좋다.

  • 임시 URL을 안전한 방법으로 저장하고 관리한다.
  • 임시 URL을 공유하는 경우 신중하게 선택한다.

구체적인 보안 조치는 사용 환경에 따라 다를 수 있다.

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

반응형