이 페이지에서는Google Cloud 콘솔, Google Cloud CLI, Identity and Access Management API 또는 Google Cloud 클라이언트 라이브러리 중 하나를 사용하여 서비스 계정 키를 나열하고 가져오는 방법을 설명합니다.
시작하기 전에
- Enable the IAM API. - Roles required to enable APIs - To enable APIs, you need the Service Usage Admin IAM role ( - roles/serviceusage.serviceUsageAdmin), which contains the- serviceusage.services.enablepermission. Learn how to grant roles.
- 인증을 설정합니다. - Select the tab for how you plan to use the samples on this page: - Console- When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication. - gcloud- In the Google Cloud console, activate Cloud Shell. - At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize. - C#- 로컬 개발 환경에서 이 페이지의 .NET 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다. - Google Cloud CLI를 설치합니다. - 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다. - If you're using a local shell, then create local authentication credentials for your user account: - gcloud auth application-default login - You don't need to do this if you're using Cloud Shell. - If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity. - 자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참조하세요. - C++- 로컬 개발 환경에서 이 페이지의 C++ 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다. - Google Cloud CLI를 설치합니다. - 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다. - If you're using a local shell, then create local authentication credentials for your user account: - gcloud auth application-default login - You don't need to do this if you're using Cloud Shell. - If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity. - 자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참조하세요. - Go- 로컬 개발 환경에서 이 페이지의 Go 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다. - Google Cloud CLI를 설치합니다. - 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다. - If you're using a local shell, then create local authentication credentials for your user account: - gcloud auth application-default login - You don't need to do this if you're using Cloud Shell. - If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity. - 자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참조하세요. - 자바- 로컬 개발 환경에서 이 페이지의 Java 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다. - Google Cloud CLI를 설치합니다. - 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다. - If you're using a local shell, then create local authentication credentials for your user account: - gcloud auth application-default login - You don't need to do this if you're using Cloud Shell. - If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity. - 자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참조하세요. - Python- 로컬 개발 환경에서 이 페이지의 Python 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다. - Google Cloud CLI를 설치합니다. - 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다. - If you're using a local shell, then create local authentication credentials for your user account: - gcloud auth application-default login - You don't need to do this if you're using Cloud Shell. - If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity. - 자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참조하세요. - REST- 로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다. - Google Cloud CLI를 설치합니다. - 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다. - 자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요. - 서비스 계정 사용자 인증 정보에 대해 이해해야 합니다. - 필요한 역할- 서비스 계정 키를 나열하고 가져오는 데 필요한 권한을 얻으려면 관리자에게 프로젝트나 키를 관리할 서비스 계정에 대한 서비스 계정 보기( - roles/iam.serviceAccountViewer) IAM 역할을 부여해 달라고 요청하세요 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.- 커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다. - 자세한 내용은 서비스 계정 역할을 참조하세요. - IAM 기본 역할에는 서비스 계정 키를 관리할 수 있는 권한도 포함되어 있습니다. 프로덕션 환경에서는 기본 역할을 부여하지 말아야 하지만 개발 환경 또는 테스트 환경에서는 부여해도 됩니다. - 서비스 계정 키 나열- Google Cloud 콘솔, gcloud CLI, - serviceAccount.keys.list()메서드 또는 클라이언트 라이브러리 중 하나를 사용하여 서비스 계정의 서비스 계정 키를 나열할 수 있습니다.- serviceAccount.keys.list()메서드는 일반적으로 서비스 계정과 키를 감사하거나 서비스 계정을 관리하는 커스텀 도구를 빌드하는 데 사용됩니다.- 키가 속한 프로젝트를 찾으려면 키를 JSON 파일로 다운로드하고 이 파일을 조사하면 됩니다. - 직접 만들지 않은 키가 나열될 수 있습니다. 이 키는 Google에서 생성되고 Service Account Credentials API에서 사용됩니다. 자세한 내용은 Google-owned and managed key 쌍을 참조하세요. - 콘솔-  Google Cloud 콘솔에서 서비스 계정 페이지로 이동합니다.
    
    
    
    
   
    
나머지 단계는 Google Cloud 콘솔에 표시됩니다. 
- 프로젝트를 선택합니다.
- 서비스 계정 페이지에서 키를 나열할 서비스 계정의 이메일 주소를 클릭합니다.
- 키를 클릭합니다. Google Cloud 콘솔에 서비스 계정의 키 목록이 표시됩니다.
 - gcloud- gcloud iam service-accounts keys list명령어를 실행하여 서비스 계정 키를 나열합니다.- 다음 값을 바꿉니다. - SA_NAME: 키를 나열할 서비스 계정의 이름입니다.
- PROJECT_ID: Google Cloud 프로젝트 ID입니다.
 - gcloud iam service-accounts keys list \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com- 출력: - KEY_ID - CREATED_AT - EXPIRES_AT - 사용 중지됨 - DISABLE_REASON - EXTENDED_STATUS - 8e6e3936d7024646f8ceb39792006c07f4a9760c - 2021-01-01T21:01:42Z - 9999-12-31T23:59:59Z - 937c98f870f5c8db970af527aa3c12fd88b1c20a - 2021-01-01T20:55:40Z - 9999-12-31T23:59:59Z - 참 - USER INITIATED - 937c98f870f5c8db970af527aa3c12fd88b1c20a - 2021-01-01T20:55:40Z - 9999-12-31T23:59:59Z - 참 - EXPOSED - ['key':'SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED' 'value':'{exposure URL}'] - C++- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM C++ API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - C#- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM C# API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Go- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Go API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Java- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Java API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Python- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Python API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - REST- projects.serviceAccounts.keys.list메서드는 서비스 계정의 모든 서비스 계정 키를 나열합니다.- 요청 데이터를 사용하기 전에 다음을 바꿉니다. - PROJECT_ID: Google Cloud 프로젝트 ID. 프로젝트 ID는- my-project와 같은 영숫자 문자열입니다.
- SA_NAME: 키를 나열하려는 서비스 계정의 이름입니다.
- KEY_TYPES: 선택사항. 응답에 포함할 키 유형의 쉼표로 구분된 목록입니다. 키 유형은 키가 사용자 관리(- USER_MANAGED)인지 시스템 관리(- SYSTEM_MANAGED)인지를 나타냅니다. 비워두면 모든 키가 반환됩니다.
 - HTTP 메서드 및 URL: - GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys?keyTypes=KEY_TYPES - 요청을 보내려면 다음 옵션 중 하나를 펼칩니다. - 다음과 비슷한 JSON 응답이 표시됩니다. - { "keys": [ { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/90c48f61c65cd56224a12ab18e6ee9ca9c3aee7c", "validAfterTime": "2020-03-04T17:39:47Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }, { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/e5e3800831ac1adc8a5849da7d827b4724b1fce8", "validAfterTime": "2020-03-31T23:50:09Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }, { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/b97699f042b8eee6a846f4f96259fbcd13e2682e", "validAfterTime": "2020-05-17T18:58:13Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED", "disabled": true "disable_reason": "SERVICE_ACCOUNT_KEY_DISABLE_REASON_EXPOSED" "extended_status": "SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED" "extended_status_message": "exposed at: https://www.github.com/SomePublicRepo" } ] }- 서비스 계정 키 받기- gcloud CLI나 REST API를 사용하여 서비스 계정 키의 공개 키 데이터를 가져올 수 있습니다. 또한 Google Cloud 콘솔, gcloud CLI 또는 REST API를 사용하여 키가 사용하는 알고리즘 및 키를 개발자나 Google에서 관리할지 여부와 같은 키의 메타데이터를 가져올 수 있습니다. - 일부 애플리케이션이나 도구는 감사 및 외부 시스템과의 상호 운용성과 같은 작업을 위해 서비스 계정 키의 공개 키 데이터나 메타데이터에 액세스해야 할 수 있습니다. 예를 들어 Terraform은 Google Cloud의 서비스 계정 키 상태가 Terraform 구성 파일에 정의된 상태와 일치하는지 확인해야 할 수 있습니다. - 콘솔- 서비스 계정 키의 공개 키 데이터를 가져오려면 다음 안내를 따르세요. - gcloud CLI 또는 REST API를 사용합니다.Google Cloud 콘솔에서는 이 데이터를 사용할 수 없습니다. - 서비스 계정 키의 메타데이터를 가져오려면 다음 안내를 따르세요. -  Google Cloud 콘솔에서 서비스 계정 페이지로 이동합니다.
    
    
    
    
   
    
나머지 단계는 Google Cloud 콘솔에 표시됩니다. 
- 프로젝트를 선택합니다.
- 서비스 계정 페이지에서 키를 나열할 서비스 계정의 이메일 주소를 클릭합니다.
- 키를 클릭합니다. Google Cloud 콘솔에 각 키의 메타데이터를 포함한 서비스 계정의 키 목록이 표시됩니다.
 - gcloud- 서비스 계정 키의 공개 키 데이터를 가져오려면 다음 안내를 따르세요. - gcloud beta iam service-accounts keys get-public-key명령어를 실행합니다.- gcloud beta iam service-accounts keys get-public-key KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --output-file=FILENAME - 다음 값을 제공합니다. - KEY_ID: 가져오려는 공개 키의 ID입니다. 키의 ID를 찾으려면 서비스 계정의 모든 키를 나열하고 가져올 키를 확인한 다음 키의 ID를 복사하세요.
- SA_NAME: 공개 키를 가져올 서비스 계정의 이름입니다.
- PROJECT_ID: Google Cloud 프로젝트 ID.
- FILENAME: 공개 키 데이터를 저장할 파일입니다.
 - 기본적으로 공개 키 데이터는 X.509 PEM 형식으로 저장됩니다. 원시 공개 키를 가져오려면 추가 플래그 - --type=raw로 명령어를 실행합니다.- 예를 들어 다음 명령어는 서비스 계정 - my-service-account@my-project.iam.gserviceaccount.com에 속하는 키- c97cc34494c07c9b483701f28368f20145b9ef97의 공개 키 데이터를 가져온 후 파일- public_key.pem에 저장합니다.- gcloud beta iam service-accounts keys get-public-key \ c97cc34494c07c9b483701f28368f20145b9ef97 \ --iam-account=my-service-account@my-project.iam.gserviceaccount.com \ --output-file=public_key.pem- 서비스 계정 키의 메타데이터를 가져오려면 다음 안내를 따르세요. - gcloud iam service-accounts keys list명령어를 실행합니다.- gcloud iam service-accounts keys list --iam-account=SA_NAME \ --filter="name~KEY_ID" --format=json - 다음 값을 제공합니다. - SA_NAME: 키 메타데이터를 원하는 서비스 계정의 이름입니다.
- KEY_ID: 메타데이터를 원하는 키의 ID입니다.
 - 예를 들어 다음 명령어는 서비스 계정 - my-service-account@my-project.iam.gserviceaccount.com에 속하는 키- c97cc34494c07c9b483701f28368f20145b9ef97의 메타데이터를 가져옵니다.- gcloud iam service-accounts keys list \ --iam-account=my-service-account@my-project.iam.gserviceaccount.com \ --filter="name~c97cc34494c07c9b483701f28368f20145b9ef97" --format=json- REST- projects.serviceAccounts.keys.get메서드는 서비스 계정의 공개 키에 대한 정보를 반환합니다.- 요청 데이터를 사용하기 전에 다음을 바꿉니다. - PROJECT_ID: Google Cloud 프로젝트 ID. 프로젝트 ID는- my-project와 같은 영숫자 문자열입니다.
- SA_NAME: 공개 키를 가져올 서비스 계정의 이름입니다.
- 
    KEY_ID: 가져오려는 공개 키의 ID입니다. 키의 ID를 찾으려면 서비스 계정의 모든 키를 나열하고 가져올 키를 찾은 다음name필드의 끝에서 키 ID를 복사합니다. 키의 ID는keys/이후의 모든 문자입니다.
- KEY_TYPE: 공개 키를 반환할 형식입니다. X.509 PEM 형식에는- TYPE_X509_PEM_FILE을, 원시 공개 키에는- TYPE_RAW_PUBLIC_KEY를 사용합니다. 이 쿼리 매개변수를 생략하면 메서드는 키의 메타데이터를 반환하지만 공개 키 데이터를 반환하지 않습니다.
 - HTTP 메서드 및 URL: - GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys/KEY_ID?publicKeyType=KEY_TYPE - 요청을 보내려면 다음 옵션 중 하나를 펼칩니다. - 다음과 비슷한 JSON 응답이 표시됩니다. - { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/f4a83933ac07cf52bb74e0e66d99662a09f51a36", "validAfterTime": "2021-12-10T17:32:06Z", "validBeforeTime": "9999-12-31T23:59:59Z", "publicKeyData": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvRENDQWVTZ0F3SUJBZ0lJT2lCdm9hR09nV0F3RFFZSktvWklodmNOQVFFRkJRQXdJREVlTUJ3R0ExVUUKQXhNVk1UQXhNVGsxTlRFMk5UWXlPRGszTmpFek1qQXpNQ0FYRFRJeE1USXhNREUzTXpJd05sb1lEems1T1RreApNak14TWpNMU9UVTVXakFnTVI0d0hBWURWUVFERXhVeE1ERXhPVFUxTVRZMU5qSTRPVGMyTVRNeU1ETXdnZ0VpCk1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQzdzeDBFcXVUMGNwSXhlczl1SW0yRy9DS3EKdnc4YTl2a2JkaWZZbDZHSDh1ZUxEWDhGNHVUeEVQMkNzU3JLTHZtOFo2My9IVUxnWjBtQXByb0JlM08vaVR1ZwpmYVZ0NVNtakhvWm9YQ1lpbjR0MS93SkpvdDhrRFdPeDZhOEdieUdqZ215ak8yYk1XdEtaQ2dqeGZ3cUV0MmN3CklnajA5VzJKYTlHTWRsdVA0VGVubTRKSkJoaFpFbTJ1bVAwYVZZdkRnUWF5d0RCYnJuNG8yY0EzSWplRDZGM1gKK0VHRDNKU0s4VW02Sk5sM21adGp6VWNZSHBrYkF0U1A2ZDI5d1RmZkdIRFY0THJRWlM3bG15d3hsb3p5WnpaawpCOFpHckMzSkF1MVNVRTdQOTN6bWtFb1B6MlRUNWhaYXZMWFQ5TGM2SExiRklRVHFnVEJVWHlNMkpIcGZBZ01CCkFBR2pPREEyTUF3R0ExVWRFd0VCL3dRQ01BQXdEZ1lEVlIwUEFRSC9CQVFEQWdlQU1CWUdBMVVkSlFFQi93UU0KTUFvR0NDc0dBUVVGQndNQ01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQkhPNXlpUDY3NkE4UEN2RjdRSzdFMApYZVljbzdsSStFZkowaGJrWVlmdUtnSENPcXcvd3FBbCtOSithanljT2FPWDFPMlRZN3ZOc05pR2t3eWc2QXdqCklhL1NHVjd3NkxpS2JldFRuSVp4UlhRY25lcnVvZEwycUR5eWphMDJJSXJVTmVKY1o0MVJBNXRTL3NkcTFGNm4KM0NjSXFoZTI1OTA4TUNna3cwaFB1K0VLbFF6R1B5T3pVRHBLdXg0cnRBaHJTYTBUVW1wbEMxdTJnUk1YRkF6aApWUjU0V2dNa2tabURyalBNeWdBS3JmNkd0bHo2VHRTYTVLb1BWdGpsWExUQkxaSnlhdk4zc1F2dFlBK1NFQWpWCnA1N1ZabFBYZmR0dWN4ekJaOC9zS25SOHNyYU5hVWFjamg1NEE1Nm1URTE3b0IyUWkrTHBJUTYvNnVqVnNXaUYKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }- 다음 단계- 서비스 계정 키 만들기 및 삭제 방법 알아보기
- 서비스 계정 키 중지 및 사용 설정 방법 알아보기
- 인증을 위한 서비스 계정 키 대안 알아보기
- 서비스 계정 키를 사용하여 서비스 계정으로 인증하는 방법 알아보기
- 서비스 계정 키 관리 권장사항 이해하기
 - 직접 사용해 보기- Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다. 무료로 시작하기- 달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다. - 최종 업데이트: 2025-10-21(UTC)