Secret Manager 사용자 인증 정보 제공 프로그램

이 문서에서는 Secret Manager를 Dataproc Serverless와 함께 사용자 인증 정보 저장소로 사용하여 서버리스 워크로드에서 처리되는 민감한 정보를 안전하게 저장하고 액세스하는 방법을 설명합니다.

개요

Secret Manager는 API 키, 비밀번호, 인증서와 같은 민감한 정보를 보호할 수 있습니다. 이를 사용하여 Google Cloud에서 보안 비밀을 관리하고 액세스하고 감사할 수 있습니다.

Dataproc 서버리스 일괄 워크로드를 실행할 때 Dataproc Secret Manager 사용자 인증 정보 제공업체를 사용하여 Secret Manager 보안 비밀을 사용하도록 구성할 수 있습니다.

가용성

이 기능은 Spark를 위한 Dataproc Serverless 런타임 버전 1.2.29 이상, 2.2.29 이상 또는 이후 주요 런타임 버전에서 사용할 수 있습니다.

용어

다음 표에서는 이 문서에 사용된 용어를 설명합니다.

용어 설명
Secret Secret Manager 보안 비밀은 메타데이터 및 보안 비밀 버전 모음이 포함된 전역 프로젝트 객체입니다. 보안 비밀을 바이너리 blob 또는 텍스트 문자열로 저장, 관리, 액세스할 수 있습니다.
Credential Hadoop 및 기타 Dataproc 워크로드에서 사용자 인증 정보는 사용자 인증 정보 이름 (ID)과 사용자 인증 정보 값 (비밀번호)으로 구성됩니다. 사용자 인증 정보 ID와 값은 Secret Manager 보안 비밀 ID 및 보안 비밀 값 (보안 비밀 버전)에 매핑됩니다.

사용

Dataproc Serverless 워크로드를 제출할 때 다음 속성을 설정하여 Secret Manager에서 작동하도록 지원되는 Hadoop 및 기타 OSS 구성요소를 구성할 수 있습니다.

  • 제공 프로그램 경로(필수): 제공 프로그램 경로 속성 hadoop.security.credential.provider.path는 사용자 인증 정보를 확인하기 위해 전달되는 하나 이상의 사용자 인증 정보 제공 프로그램 URI의 쉼표로 구분된 목록입니다.

    --properties=hadoop.security.credential.provider.path=gsm://projects/PROJECT_ID
    
    • 제공업체 경로의 scheme는 사용자 인증 정보 제공 프로그램 유형을 나타냅니다. Hadoop 스키마에는 jceks://, user://,localjceks://가 포함됩니다. gsm:// 스키마를 사용하여 Secret Manager에서 사용자 인증 정보를 검색합니다.
  • 대체 점 연산자 : Secret Manager 서비스는 보안 비밀 이름에 점 (.)을 허용하지 않습니다. 그러나 일부 오픈소스 소프트웨어(OSS) 구성요소는 사용자 인증 정보 키에 점(.)을 사용합니다. 이 제한사항을 해결하려면 이 속성을 사용 설정하여 사용자 인증 정보 이름에서 점 (.)을 하이픈 (-)으로 바꿉니다. 이렇게 하면 이름에 점(.)이 있는 OSS 사용자 인증 정보를 Secret Manager에서 올바르게 저장하고 검색할 수 있습니다.

    예를 들어 OSS 사용자 인증 정보 키가 a.b.c인 경우 Secret Manager에 저장할 때 이를 a-b-c로 수정해야 합니다.

    --properties=hadoop.security.credstore.google-secret-manager.secret-id.substitute-dot-operator=true
    

    이 속성은 선택사항입니다. 기본값은 false입니다. 사용자 인증 정보 이름에 점 (.) 연산자가 없는 사용자 인증 정보 키의 경우 이 속성을 무시해도 됩니다.

  • 보안 비밀 버전 : Secret Manager의 보안 비밀에는 여러 버전 (값)이 있을 수 있습니다. 이 속성을 사용하여 프로덕션 환경에서 안정적으로 액세스할 수 있도록 특정 보안 비밀 버전에 액세스합니다.

    --properties=hadoop.security.credstore.google-secret-manager.secret-version=1
    

    이 속성은 선택사항입니다. 기본적으로 Secret Manager는 런타임 시 보안 비밀의 최신 값으로 확인되는 LATEST 버전에 액세스합니다. 보안 비밀의 LATEST 버전에 항상 액세스하는 것이 사용 사례인 경우 이 속성은 무시해도 됩니다.

Secret Manager 사용자 인증 정보 제공 프로그램으로 일괄 워크로드 실행

Secret Manager 인증 관리자를 사용하는 일괄 워크로드를 제출하려면 로컬 또는 Cloud Shell에서 다음 명령어를 실행합니다.

gcloud dataproc batches submit spark \
    --region=REGION \
    --jars=JARS \
    --class=MAIN_CLASS \
    --properties="spark.hive.hadoop.security.credential.provider.path=gsm://projects/PROJECT_ID,spark.hive.hadoop.security.credstore.google-secret-manager.secret-id.substitute-dot-operator=true" \
    ...other flags as needed...

다음을 바꿉니다.