이 페이지에서는Trusted Cloud 콘솔, Google Cloud CLI, Identity and Access Management API 또는 Google Cloud 클라이언트 라이브러리 중 하나를 사용하여 서비스 계정 키를 나열하고 가져오는 방법을 설명합니다.
시작하기 전에
Enable the IAM API.
인증을 설정합니다.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
Google Cloud CLI를 설치한 후 제휴 ID로 gcloud CLI에 로그인합니다. 로그인한 후 다음 명령어를 실행하여 Google Cloud CLI를 초기화합니다.
gcloud init
C#
로컬 개발 환경에서 이 페이지의 .NET 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다.
Google Cloud CLI를 설치한 후 제휴 ID로 gcloud CLI에 로그인합니다.
Create local authentication credentials for your user account:
gcloud auth application-default login
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.
자세한 내용은 Trusted Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참조하세요.
C++
로컬 개발 환경에서 이 페이지의 C++ 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다.
Google Cloud CLI를 설치한 후 제휴 ID로 gcloud CLI에 로그인합니다.
Create local authentication credentials for your user account:
gcloud auth application-default login
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.
자세한 내용은 Trusted Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참조하세요.
Go
로컬 개발 환경에서 이 페이지의 Go 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다.
Google Cloud CLI를 설치한 후 제휴 ID로 gcloud CLI에 로그인합니다.
Create local authentication credentials for your user account:
gcloud auth application-default login
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.
자세한 내용은 Trusted Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참조하세요.
Java
로컬 개발 환경에서 이 페이지의 Java 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다.
Google Cloud CLI를 설치한 후 제휴 ID로 gcloud CLI에 로그인합니다.
Create local authentication credentials for your user account:
gcloud auth application-default login
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.
자세한 내용은 Trusted Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참조하세요.
Python
로컬 개발 환경에서 이 페이지의 Python 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다.
Google Cloud CLI를 설치한 후 제휴 ID로 gcloud CLI에 로그인합니다.
Create local authentication credentials for your user account:
gcloud auth application-default login
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.
자세한 내용은 Trusted Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참조하세요.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Google Cloud CLI를 설치한 후 제휴 ID로 gcloud CLI에 로그인합니다.
자세한 내용은 Trusted Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.
서비스 계정 사용자 인증 정보에 대해 이해해야 합니다.
필요한 역할
서비스 계정 키를 나열하고 가져오는 데 필요한 권한을 얻으려면 관리자에게 프로젝트나 키를 관리할 서비스 계정에 대한 서비스 계정 보기(
roles/iam.serviceAccountViewer
) IAM 역할을 부여해 달라고 요청하세요 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
자세한 내용은 서비스 계정 역할을 참조하세요.
IAM 기본 역할에는 서비스 계정 키를 관리할 수 있는 권한도 포함되어 있습니다. 프로덕션 환경에서는 기본 역할을 부여하지 말아야 하지만 개발 환경 또는 테스트 환경에서는 부여해도 됩니다.
서비스 계정 키 나열
Trusted Cloud 콘솔, gcloud CLI,
serviceAccount.keys.list()
메서드 또는 클라이언트 라이브러리 중 하나를 사용하여 서비스 계정의 서비스 계정 키를 나열할 수 있습니다.serviceAccount.keys.list()
메서드는 일반적으로 서비스 계정과 키를 감사하거나 서비스 계정을 관리하는 커스텀 도구를 빌드하는 데 사용됩니다.키가 속한 프로젝트를 찾으려면 키를 JSON 파일로 다운로드하고 이 파일을 조사하면 됩니다.
직접 만들지 않은 키가 나열될 수 있습니다. 이 키는 Google에서 생성되고 Service Account Credentials API에서 사용됩니다. 자세한 내용은 Google Cloud-powered key 쌍을 참조하세요.
콘솔
- Trusted Cloud 콘솔에서 서비스 계정 페이지로 이동합니다.
- 프로젝트를 선택합니다.
- 서비스 계정 페이지에서 키를 나열할 서비스 계정의 이메일 주소를 클릭합니다.
- 키를 클릭합니다. Trusted Cloud 콘솔에 서비스 계정의 키 목록이 표시됩니다.
gcloud
gcloud iam service-accounts keys list
명령어를 실행하여 서비스 계정 키를 나열합니다.다음 값을 바꿉니다.
SA_NAME
: 키를 나열할 서비스 계정의 이름입니다.PROJECT_ID
: Trusted Cloud 프로젝트 ID입니다.
gcloud iam service-accounts keys list \ --iam-account=SA_NAME@PROJECT_ID.s3ns-system.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에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요.
코드 샘플을 실행하기 전에
GOOGLE_CLOUD_UNIVERSE_DOMAIN
환경 변수를s3nsapis.fr
으로 설정합니다.C#
IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM C# API 참고 문서를 참조하세요.
IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요.
코드 샘플을 실행하기 전에
GOOGLE_CLOUD_UNIVERSE_DOMAIN
환경 변수를s3nsapis.fr
으로 설정합니다.Go
IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Go API 참고 문서를 참조하세요.
IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요.
코드 샘플을 실행하기 전에
GOOGLE_CLOUD_UNIVERSE_DOMAIN
환경 변수를s3nsapis.fr
으로 설정합니다.Java
IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Java API 참고 문서를 참조하세요.
IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요.
코드 샘플을 실행하기 전에
GOOGLE_CLOUD_UNIVERSE_DOMAIN
환경 변수를s3nsapis.fr
으로 설정합니다.Python
IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Python API 참고 문서를 참조하세요.
IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요.
코드 샘플을 실행하기 전에
GOOGLE_CLOUD_UNIVERSE_DOMAIN
환경 변수를s3nsapis.fr
으로 설정합니다.REST
projects.serviceAccounts.keys.list
메서드는 서비스 계정의 모든 서비스 계정 키를 나열합니다.요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID
: Trusted 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.s3ns-system.iam.gserviceaccount.com/keys?keyTypes=KEY_TYPES
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "keys": [ { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.s3ns-system.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.s3ns-system.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.s3ns-system.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를 사용하여 서비스 계정 키의 공개 키 데이터를 가져올 수 있습니다. 또한 Trusted Cloud 콘솔, gcloud CLI 또는 REST API를 사용하여 키가 사용하는 알고리즘 및 키를 개발자나 Google에서 관리할지 여부와 같은 키의 메타데이터를 가져올 수 있습니다.
일부 애플리케이션이나 도구는 감사 및 외부 시스템과의 상호 운용성과 같은 작업을 위해 서비스 계정 키의 공개 키 데이터나 메타데이터에 액세스해야 할 수 있습니다. 예를 들어 Terraform은 Trusted Cloud by S3NS의 서비스 계정 키 상태가 Terraform 구성 파일에 정의된 상태와 일치하는지 확인해야 할 수 있습니다.
콘솔
서비스 계정 키의 공개 키 데이터를 가져오려면 다음 안내를 따르세요.
gcloud CLI 또는 REST API를 사용합니다.Trusted Cloud 콘솔에서는 이 데이터를 사용할 수 없습니다.
서비스 계정 키의 메타데이터를 가져오려면 다음 안내를 따르세요.
- Trusted Cloud 콘솔에서 서비스 계정 페이지로 이동합니다.
- 프로젝트를 선택합니다.
- 서비스 계정 페이지에서 키를 나열할 서비스 계정의 이메일 주소를 클릭합니다.
- 키를 클릭합니다. Trusted 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.s3ns-system.iam.gserviceaccount.com \ --output-file=FILENAME
다음 값을 제공합니다.
KEY_ID
: 가져오려는 공개 키의 ID입니다. 키의 ID를 찾으려면 서비스 계정의 모든 키를 나열하고 가져올 키를 확인한 다음 키의 ID를 복사하세요.SA_NAME
: 공개 키를 가져올 서비스 계정의 이름입니다.PROJECT_ID
: Trusted Cloud 프로젝트 ID.FILENAME
: 공개 키 데이터를 저장할 파일입니다.
기본적으로 공개 키 데이터는 X.509 PEM 형식으로 저장됩니다. 원시 공개 키를 가져오려면 추가 플래그
--type=raw
로 명령어를 실행합니다.예를 들어 다음 명령어는 서비스 계정
my-service-account@my-project.s3ns-system.iam.gserviceaccount.com
에 속하는 키c97cc34494c07c9b483701f28368f20145b9ef97
의 공개 키 데이터를 가져온 후 파일public_key.pem
에 저장합니다.gcloud beta iam service-accounts keys get-public-key \ c97cc34494c07c9b483701f28368f20145b9ef97 \ --iam-account=my-service-account@my-project.s3ns-system.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.s3ns-system.iam.gserviceaccount.com
에 속하는 키c97cc34494c07c9b483701f28368f20145b9ef97
의 메타데이터를 가져옵니다.gcloud iam service-accounts keys list \ --iam-account=my-service-account@my-project.s3ns-system.iam.gserviceaccount.com \ --filter="name~c97cc34494c07c9b483701f28368f20145b9ef97" --format=json
REST
projects.serviceAccounts.keys.get
메서드는 서비스 계정의 공개 키에 대한 정보를 반환합니다.요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID
: Trusted 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.s3ns-system.iam.gserviceaccount.com/keys/KEY_ID?publicKeyType=KEY_TYPE
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/my-project/serviceAccounts/my-service-account@my-project.s3ns-system.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" }
다음 단계
- 서비스 계정 키 만들기 및 삭제 방법 알아보기
- 서비스 계정 키 중지 및 사용 설정 방법 알아보기
- 인증을 위한 서비스 계정 키 대안 알아보기
- 서비스 계정 키를 사용하여 서비스 계정으로 인증하는 방법 알아보기
- 서비스 계정 키 관리 권장사항 이해하기
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-08-12(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-08-12(UTC)"],[[["This page guides you through listing and retrieving service account keys using the Google Cloud console, Google Cloud CLI, IAM API, or Google Cloud Client Libraries."],["For workloads outside Google Cloud, Workload Identity Federation is recommended over service account keys due to its use of short-lived tokens and reduced security maintenance."],["To list or get service account keys, you must first enable the IAM API and properly set up authentication, particularly if you're using a local development environment or an external identity provider."],["You can list keys to audit service accounts and understand which project they belong to, and keys that you did not create may have been created by Google for the Service Account Credentials API."],["While metadata about service account keys can be retrieved, private key data is only available during key creation and public keys can be attained through the gcloud CLI or the REST API."]]],[]]