이 페이지에서는 API 키 API를 사용하여 API 키를 만들고 관리하는 방법을 설명합니다.
Google Cloud API에 대한 API에 API 키를 사용하는 방법에 대한 자세한 내용은 API 키 사용을 참조하세요.
시작하기 전에
이 페이지에서는 oauth2l 명령줄 도구와 함께 curl
를 사용하여 API 키의 API에 요청을 보냅니다. API를 설정하기 위한 자세한 내용은
API 키 시작하기를
참조하세요.
API 키 만들기
CreateKey
메서드를 사용하여 API 키를 만들 수 있습니다. 이 메서드에는 Key
매개변수가 필요합니다.
Key
객체의 displayName
및 restrictions
필드만 지정할 수 있습니다.
CreateKey
는 동기식 메서드가 아닙니다. 대신 CreateKey
에 대한 호출을 실행하면 장기 실행 작업이 시작됩니다. 다음 예에서는 CreateKey
호출을 실행하여 제한사항 없이 API 키를 만듭니다.
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys -X POST -d '{"displayName" : "Example API key"}'
성공하면 메서드가 응답에 장기 실행 작업을 반환합니다. 장기 실행 작업 폴링에서 설명한 대로 name
의 값을 사용하여 operations.get
호출을 반복해서 수행합니다. } 필드에 입력합니다. operations.get
의 응답에 "done": true
가 포함된 경우 response
객체에는 다음과 비슷한 Key
이 포함됩니다.
{ "name": "operations/akmf.p7-103621867718-06f94db2-7e91-4c58-b826-e6b80e4dc3eb", "done": true, "response": { "@type": "type.googleapis.com/google.api.apikeys.v2.Key", "name": "projects/PROJECT_NUMBER/locations/global/keys/aecd7943-98ff-4ce2-a876-ec1b37c671ca", "displayName": "Example API key", "keyString": "----REDACTED----", "createTime": "2021-03-23T17:39:46.721099Z", "uid": "aecd7943-98ff-4ce2-a876-ec1b37c671ca", "updateTime": "2021-03-23T17:39:47.046746Z", "etag": "k0bsYGkIvSxDVwNxyw49NQ==" } }
response
객체에서 다음을 수행합니다.
name
필드에는 API 키의 고유 식별자가 포함됩니다. 키 이름이 필요한 다른 메서드의name
필드 값을 사용합니다. 이 값은 Google Cloud Console에 표시되지 않지만ListKeys
메서드를 호출하여 모든 API 키에 대해names
를 가져올 수 있습니다.Key.name
필드의 형식은 항상projects/PROJECT_NUMBER/locations/global/keys/KEY_ID
입니다.displayName
필드는 Cloud Console의Name
필드에 매핑되므로CreateKey
호출 시displayName
를 제공하는 것이 좋습니다.keyString
필드에는 API 키가 필요한 API로 전송되는 문자열이 포함됩니다.keyString
은 Cloud Console의API key
필드에 매핑됩니다.GetKeyString
메서드를 호출하여 API 키에keyString
를 가져올 수 있습니다.etag
필드에는 키의 현재 값을 기반으로 서버에서 계산된 체크섬이 포함됩니다.UpdateKey
및DeleteKey
메서드를 호출할 때etag
값을 전달하세요.
사용자 지정 키 ID
keyId
를 CreateKey
메서드에 대한 쿼리 매개변수로 지정할 수 있습니다. 이 값을 지정하면 값은 Key.name
의 마지막 구성요소가 됩니다.
예를 들어 CreateKey
에 대한 다음 호출을 고려해 보세요.
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?keyId=my-test-key1 -X POST -d '{"displayName" : "Example API key"}'
이 예시의 Key.name
필드 값은 다음과 같습니다.
"name": "projects/PROJECT_NUMBER/locations/global/keys/my-test-key1"
API 키 클론
동일한 Cloud 프로젝트에서 API 키의 사본을 만들려면 CloneKey
메서드를 사용합니다. CloneKey
를 호출하면 원래의 키와 동일한 displayName
및 restrictions
가 포함된 키를 만드는 새로운 장기 실행 작업이 시작되어 새로운 name
및 keyString
값.
다음 예에서는 CloneKey
를 호출하는 방법을 보여줍니다.
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID/:clone -X POST
operations.get
의 응답에 "done": true
가 포함된 경우 response
는 새 Key
객체를 포함합니다.
새 키의 displayName
와 restrictions
는 원래의 키와 동일하지만 새로운 name
및 keyString
입니다.
표시 이름 업데이트
API 키의 displayName
을 변경하거나, API 키를 만들지 않고 생성된 API 키에 displayName
를 추가하려면 UpdateKey
메서드를 호출합니다. UpdateKey
를 호출하면 키를 업데이트하는 장기 실행 작업이 시작됩니다.
다음 예에서는 UpdateKey
를 호출하는 방법을 보여줍니다.
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID?updateMask=displayName -X PATCH -d '{"displayName": "New display name", "etag" : "ETAG"}'
operations.get
의 응답에 "done": true
가 포함된 경우 response
는 업데이트된 displayName
를 포함하는 Key
객체를 포함합니다.
API 키 삭제
API 키를 삭제하려면 DeleteKey
메서드를 사용합니다. DeleteKey
를 호출하면 키를 DELETED
로 표시하는 장기 실행 작업을 시작합니다.
다음 예에서는 DeleteKey
를 호출하는 방법을 보여줍니다.
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID?etag="ETAG" -X DELETE
operations.get
의 응답에 "done": true
가 포함된 경우 response
는 다음과 유사합니다.
{ "name": "operations/akmf.cdabc4df-cbff-4420-8c7e-65dc832c945d", "done": true, "response": { "@type": "type.googleapis.com/google.api.apikeys.v2.Key" "name": "projects/PROJECT_NUMBER/locations/global/keys/aecd7943-98ff-4ce2-a876-ec1b37c671ca", "displayName": "Example API key", "keyString": "----REDACTED----", "createTime": "2021-03-23T17:39:46.721099Z", "uid": "aecd7943-98ff-4ce2-a876-ec1b37c671ca", "updateTime": "2021-03-23T17:39:47.046746Z", "deleteTime": "2021-03-24T22:35:37.290544Z", "etag": "k0bsYGkIvSxDVwNxyw49NQ==" } }
DELETED
로 표시된 API 키는 사용할 수 없지만 Google 시스템에서 완전히 삭제되지는 않습니다. 30일이 지나면 API 키가 영구적으로 삭제됩니다. ListKeys
메서드에 필터를 추가하여 DELETED
로 표시된 API 키를 반환할 수 있습니다.
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID?filter=state:DELETED
API 키 복원
API 키가 영구적으로 삭제되기 전에 복원하려면 UndeleteKey
메서드를 호출하세요. UndeleteKey
를 호출하면 키를 ACTIVE
로 표시하는 장기 실행 작업을 시작합니다.
다음 예에서는 UndeleteKey
를 호출하는 방법을 보여줍니다.
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID/:undelete -X POST