서명 만들기

이 페이지에서는 Google Cloud signBlob 메서드를 사용하여 서명 문자열 또는 정책 문서에서 서명을 만드는 방법을 보여줍니다. 서명은 서명된 URL과 같은 특정 요청에서 사용자 인증 정보로 사용됩니다. 이 가이드에서는 RSA 키를 사용하여 서명을 만듭니다.

시작하기 전에

  1. 이 가이드에서 사용하는 서비스 계정에 대한 iam.serviceAccounts.signBlob 권한이 있어야 합니다. iam.serviceAccounts.signBlob 권한은 roles/iam.serviceAccountTokenCreator 역할에 포함되어 있습니다.

  2. 이 가이드에서 사용하는 서비스 계정에는 서명 내에 인코딩된 요청을 수행할 수 있는 권한이 있어야 합니다. 예를 들어 서명을 사용하여 버킷에서 객체 데이터를 읽는 경우 서비스 계정에 객체 데이터를 읽을 수 있는 권한이 있어야 합니다.

서명 만들기

  1. Authorization 헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.

    또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고 Authorization 헤더에 포함할 수 있습니다.

  2. 다음 정보를 포함하는 JSON 파일을 만듭니다.

    {
      "payload": "REQUEST_INFORMATION"
    }

    각 항목의 의미는 다음과 같습니다.

  3. cURL을 사용하여 signBlob 요청으로 IAM API를 호출합니다.

    curl -X POST --data-binary @JSON_FILE_NAME \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT_EMAIL:signBlob"

    각 항목의 의미는 다음과 같습니다.

    • JSON_FILE_NAME은 2단계에서 만든 파일의 이름입니다.

    • SERVICE_ACCOUNT_EMAIL은 서명을 만드는 데 사용할 서비스 계정의 이메일 주소입니다. 예를 들면 service-7550275089395@my-pet-project.iam.gserviceaccount.com입니다.

성공하면 응답의 signedBlob 필드에 서명이 반환됩니다.

다음 단계