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

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

개요

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

Dataproc Serverless 일괄 워크로드를 실행할 때 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://가 포함됩니다. Secret Manager에서 사용자 인증 정보를 검색하려면 gsm:// 스키마를 사용하세요.
  • 대체 점 연산자: 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...

다음을 바꿉니다.