이 페이지에서는 프로젝트의 서비스 계정에 연결된 해시 기반 메시지 인증 코드(HMAC) 키를 생성, 사용 중지, 삭제하는 방법을 보여줍니다.
시작하기 전에
Cloud Storage에서 이 기능을 사용하려면 다음 요건을 충족해야 합니다.
선택한 프로젝트에서 HMAC 키를 사용할 수 있는 충분한 권한이 있어야 합니다.
프로젝트의 소유자라면 필요한 권한을 가지고 있을 가능성이 높습니다.
프로젝트에 대해
storage.hmacKeys
라는 프리픽스가 붙은 IAM 권한이 있어야 합니다. 이러한 권한이 있는 스토리지 HMAC 키 관리자와 같은 역할을 가져오는 방법은 IAM 권한 사용을 참조하세요.
프로젝트에 HMAC 키를 만들 서비스 계정이 있어야 합니다. 현재 서비스 계정이 없는 경우 서비스 계정 만들기를 참조하세요.
HMAC 키 인증에
restrictAuthTypes
제약조건이 사용 중지되어 있습니다. 제약조건을 확인하고 사용 중지하는 방법은 조직 정책 만들기 및 관리를 참조하세요.
HMAC 키 만들기
서비스 계정의 HMAC 키를 만들려면 다음 안내를 따르세요.
콘솔
- Google Cloud 콘솔에서 Cloud Storage 설정 페이지로 이동합니다.
상호 운용성 탭을 선택합니다.
add_box 서비스 계정의 키 만들기를 클릭합니다.
HMAC 키와 연결할 서비스 계정을 선택합니다.
키 만들기를 클릭합니다.
Google Cloud 콘솔에서 실패한 Cloud Storage 작업에 대한 자세한 오류 정보를 가져오는 방법은 문제 해결을 참조하세요.
명령줄
hmac create
명령어를 사용합니다.
gcloud storage hmac create SERVICE_ACCOUNT_EMAIL
여기서 SERVICE_ACCOUNT_EMAIL
는 서비스 계정에 연결된 이메일 주소입니다. 예를 들면 service-7550275089395@my-pet-project.iam.gserviceaccount.com
입니다.
성공하면 응답에 accessId
및 secret
값을 포함한 HMAC 키 리소스가 포함됩니다.
클라이언트 라이브러리
C++
자세한 내용은 Cloud Storage C++ API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
C#
자세한 내용은 Cloud Storage C# API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
자세한 내용은 Cloud Storage Go API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
자세한 내용은 Cloud Storage Java API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
자세한 내용은 Cloud Storage Node.js API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
자세한 내용은 Cloud Storage PHP API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
자세한 내용은 Cloud Storage Python API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
자세한 내용은 Cloud Storage Ruby API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Terraform
Terraform 리소스를 사용하여 HMAC 키를 만들 수 있습니다. 이 샘플에는 서비스 계정을 만들 리소스도 포함됩니다.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여POST
hmacKeys 요청으로 JSON API를 호출합니다.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys?serviceAccountEmail=SERVICE_ACCOUNT_EMAIL"
각 항목의 의미는 다음과 같습니다.
PROJECT_IDENTIFIER
는 생성할 키와 연결된 프로젝트의 ID 또는 번호입니다. 예를 들면my-pet-project
입니다.SERVICE_ACCOUNT_EMAIL
은 서비스 계정과 연결된 이메일 주소입니다. 예를 들면service-7550275089395@my-pet-project.iam.gserviceaccount.com
입니다.
XML API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여POST
HMAC 키 요청으로 XML API를 호출합니다.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=CreateAccessKey&UserName=SERVICE_ACCOUNT_EMAIL"
여기서
SERVICE_ACCOUNT_EMAIL
는 서비스 계정에 연결된 이메일 주소입니다. 예를 들면service-7550275089395@my-pet-project.iam.gserviceaccount.com
입니다.
HMAC 키 정보 가져오기
프로젝트의 HMAC 키를 나열하고 키에 대한 정보를 가져오려면 다음 안내를 따르세요.
콘솔
- Google Cloud 콘솔에서 Cloud Storage 설정 페이지로 이동합니다.
상호 운용성 탭을 선택합니다.
연결된 HMAC 키가 있는 서비스 계정이 서비스 계정 HMAC 섹션의 서비스 계정 액세스 키 하위 섹션에 표시됩니다.
특정 서비스 계정의 이름을 클릭하여 연결된 HMAC 키와 해당 키 상태를 확인합니다.
명령줄
hmac list
명령어를 사용하여 프로젝트의 hmac 키를 나열합니다.gcloud storage hmac list
성공하면 이 명령어는 각 키의 상태 및 각 키와 연결된 서비스 계정과 함께 hmac 키 액세스 ID 목록을 반환합니다.
hmac describe
명령어를 사용하여 특정 키의 메타데이터를 검색합니다.gcloud storage hmac describe KEY_ACCESS_ID
여기서
KEY_ACCESS_ID
는 원하는 키의 액세스 ID입니다.
클라이언트 라이브러리
C++
자세한 내용은 Cloud Storage C++ API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 프로젝트와 관련된 HMAC 키 목록을 검색합니다.
다음 샘플은 특정 HMAC 키에 대한 정보를 검색합니다.
C#
자세한 내용은 Cloud Storage C# API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 프로젝트와 관련된 HMAC 키 목록을 검색합니다.
다음 샘플은 특정 HMAC 키에 대한 정보를 검색합니다.
Go
자세한 내용은 Cloud Storage Go API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 프로젝트와 관련된 HMAC 키 목록을 검색합니다.
다음 샘플은 특정 HMAC 키에 대한 정보를 검색합니다.
Java
자세한 내용은 Cloud Storage Java API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 프로젝트와 관련된 HMAC 키 목록을 검색합니다.
다음 샘플은 특정 HMAC 키에 대한 정보를 검색합니다.
Node.js
자세한 내용은 Cloud Storage Node.js API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 프로젝트와 관련된 HMAC 키 목록을 검색합니다.
다음 샘플은 특정 HMAC 키에 대한 정보를 검색합니다.
PHP
자세한 내용은 Cloud Storage PHP API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 프로젝트와 관련된 HMAC 키 목록을 검색합니다.
다음 샘플은 특정 HMAC 키에 대한 정보를 검색합니다.
Python
자세한 내용은 Cloud Storage Python API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 프로젝트와 관련된 HMAC 키 목록을 검색합니다.
다음 샘플은 특정 HMAC 키에 대한 정보를 검색합니다.
Ruby
자세한 내용은 Cloud Storage Ruby API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 프로젝트와 관련된 HMAC 키 목록을 검색합니다.
다음 샘플은 특정 HMAC 키에 대한 정보를 검색합니다.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여LIST
hmacKeys 요청으로 JSON API를 호출합니다.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys"
여기서
PROJECT_IDENTIFIER
는 나열할 키와 연결된 프로젝트의 ID 또는 번호입니다. 예를 들면my-pet-project
입니다.
XML API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여GET
HMAC 키 요청으로 XML API를 호출합니다.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=ListAccessKeys&UserName=SERVICE_ACCOUNT_EMAIL"
여기서
SERVICE_ACCOUNT_EMAIL
는 서비스 계정에 연결된 이메일 주소입니다. 예를 들면service-7550275089395@my-pet-project.iam.gserviceaccount.com
입니다.
HMAC 키의 상태 업데이트
HMAC 키를 활성 또는 비활성 상태로 전환하려면 다음 안내를 따르세요.
콘솔
- Google Cloud 콘솔에서 Cloud Storage 설정 페이지로 이동합니다.
상호 운용성 탭을 선택합니다.
서비스 계정의 액세스 키 하위 섹션에서 상태를 업데이트하려는 HMAc 키와 연결된 서비스 계정의 이름을 클릭합니다.
업데이트할 키의 상태를 클릭합니다.
키 상태를 비활성에서 활성으로 변경하는 경우 표시된 창에서 비활성화를 클릭합니다.
키 상태를 활성에서 비활성으로 변경하는 경우에는 추가 단계가 필요하지 않습니다.
명령줄
hmac update
명령어를 사용합니다.
gcloud storage hmac update ACCESS_KEY_ID STATE
각 항목의 의미는 다음과 같습니다.
ACCESS_KEY_ID
는 업데이트하려는 키와 연결된 액세스 ID입니다.STATE
은--activate
또는--deactivate
입니다.
성공하면 이 명령어는 HMAC 키의 업데이트된 메타데이터를 반환합니다.
클라이언트 라이브러리
C++
자세한 내용은 Cloud Storage C++ API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 HMAC 키를 비활성화합니다.
다음 샘플은 HMAC 키를 활성화합니다.
C#
자세한 내용은 Cloud Storage C# API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 HMAC 키를 비활성화합니다.
다음 샘플은 HMAC 키를 활성화합니다.
Go
자세한 내용은 Cloud Storage Go API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 HMAC 키를 비활성화합니다.
다음 샘플은 HMAC 키를 활성화합니다.
Java
자세한 내용은 Cloud Storage Java API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 HMAC 키를 비활성화합니다.
다음 샘플은 HMAC 키를 활성화합니다.
Node.js
자세한 내용은 Cloud Storage Node.js API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 HMAC 키를 비활성화합니다.
다음 샘플은 HMAC 키를 활성화합니다.
PHP
자세한 내용은 Cloud Storage PHP API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 HMAC 키를 비활성화합니다.
다음 샘플은 HMAC 키를 활성화합니다.
Python
자세한 내용은 Cloud Storage Python API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 HMAC 키를 비활성화합니다.
다음 샘플은 HMAC 키를 활성화합니다.
Ruby
자세한 내용은 Cloud Storage Ruby API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 HMAC 키를 비활성화합니다.
다음 샘플은 HMAC 키를 활성화합니다.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.다음 정보를 포함하는 JSON 파일을 만듭니다.
{"state": "STATE"}
여기서
STATE
는 키에 대해 원하는 상태입니다. 예를 들면INACTIVE
입니다.cURL
을 사용하여PUT
hmacKeys 요청으로 JSON API를 호출합니다.curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys/ACCESS_KEY_ID"
각 항목의 의미는 다음과 같습니다.
JSON_FILE_NAME
은 2단계에서 만든 파일의 경로입니다.PROJECT_IDENTIFIER
는 업데이트할 키와 연결된 프로젝트의 ID 또는 번호입니다. 예를 들면my-pet-project
입니다.ACCESS_KEY_ID
는 업데이트하려는 키와 연결된 액세스 ID입니다.
XML API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여POST
HMAC 키 요청으로 XML API를 호출합니다.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=UpdateAccessKey&AccessKeyId=ACCESS_KEY_ID&Status=STATUS"
각 항목의 의미는 다음과 같습니다.
ACCESS_KEY_ID
는 업데이트하려는 키와 연결된 액세스 ID입니다.STATUS
는 키에 대해 원하는 상태입니다. 예를 들면Inactive
입니다.
HMAC 키 상태를 변경할 때 상태 변경사항이 Cloud Storage 시스템 전체로 전파되려면 최대 3분까지 소요됩니다. 따라서 HMAC 키를 비활성화하고 키를 삭제하려면 최소 3분 이상 기다려야 합니다.
HMAC 키 삭제
HMAC 키는 비활성 상태여야 삭제할 수 있습니다. 비활성 HMAC 키를 삭제하려면 다음 안내를 따르세요.
콘솔
- Google Cloud 콘솔에서 Cloud Storage 설정 페이지로 이동합니다.
상호 운용성 탭을 선택합니다.
서비스 계정의 액세스 키 하위 섹션에서 삭제할 HMAC 키와 연결된 서비스 계정의 이름을 클릭합니다.
삭제할 키와 연결된 휴지통 아이콘을 클릭합니다.
표시된 대화상자에서 창에 제공된 대로 액세스 키 ID의 처음 10자를 입력합니다.
삭제를 클릭합니다.
명령줄
hmac delete
명령어를 사용합니다.
gcloud storage hmac delete ACCESS_KEY_ID
ACCESS_KEY_ID
는 삭제할 키와 연결된 액세스 ID입니다.
성공하면 이 명령어는 응답을 반환하지 않습니다.
클라이언트 라이브러리
C++
자세한 내용은 Cloud Storage C++ API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
C#
자세한 내용은 Cloud Storage C# API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
자세한 내용은 Cloud Storage Go API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
자세한 내용은 Cloud Storage Java API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
자세한 내용은 Cloud Storage Node.js API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
자세한 내용은 Cloud Storage PHP API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
자세한 내용은 Cloud Storage Python API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
자세한 내용은 Cloud Storage Ruby API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여DELETE
hmacKeys 요청으로 JSON API를 호출합니다.curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys/ACCESS_KEY_ID"
각 항목의 의미는 다음과 같습니다.
PROJECT_IDENTIFIER
는 삭제할 키와 연결된 프로젝트의 ID 또는 번호입니다. 예를 들면my-pet-project
입니다.ACCESS_KEY_ID
은 삭제할 키와 연결된 액세스 ID입니다.
XML API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여POST
HMAC 키 요청으로 XML API를 호출합니다.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=DeleteAccessKey&AccessKeyId=ACCESS_KEY_ID"
ACCESS_KEY_ID
는 삭제할 키와 연결된 액세스 ID입니다.
다음 단계
- 사용자 계정 HMAC 키에서 서비스 계정 HMAC 키로 마이그레이션하는 방법에 대한 가이드라인 따르기
- 인증된 요청에 HMAC 키 사용