이 방법을 사용하여 Google IAM 서비스 계정에 대한 액세스 토큰을 생성 할 수없는 문제가 있습니다. 다음을 사용하여 개인 OAuth2 액세스 토큰을 얻었습니다.gcloud auth application-default print-access-token
필요한 모든 역할 ( roles/iam.serviceAccountTokenCreator
)이 있지만 API를 cURL하면 항상 오류 응답이 표시됩니다.
{
"error": {
"code": 400,
"message": "Request contains an invalid argument.",
"status": "INVALID_ARGUMENT"
}
}
전체 컬 요청은 다음과 같습니다.
curl -X POST --header 'Content-Type: application/json' --header 'authorization: Bearer ya29.AASDSADASDASDi9C1yAXXXXXXZzLtDDrCAzblqF_qi5sKvMZcHieBADASDASDTNJiOKrqJBffb4Moh3gTgiTbDgMIF1XDQU5JZ31aACs0aUbI4wgeqV2Q' https://iamcredentials.googleapis.com/v1/projects/<PROJECT_NAME>/serviceAccounts/<SA_NAME>@<PROJECT_NAME>.iam.gserviceaccount.com:generateAccessToken -d '{"scope": ["https://www.googleapis.com/auth/cloud-platform"]}'
감사
API 호출에 두 가지 문제가 있습니다.
@
문자가 유효하지 않습니다. %40
대신 사용하십시오 (올바른 인코딩의 예).PROJECT_NAME
. 이것은 올바르지 않습니다. -
(하이픈 / 대시 문자) 를 사용해야합니다 . 예 projects/-/serviceAccounts
.또한 iam.serviceAccounts.getAccessToken
이 API 요청에서 요청 액세스 토큰 사용을 생성 한 계정에 할당 된 역할 중 하나에 연결된 권한이 있어야합니다 . 잘못된 경우 다른 오류가 발생합니다. 다음 단계로 넘어가는 팁입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다