Secret Manager를 Google SecOps와 통합
이 문서에서는 Secret Manager를 Google Security Operations와 통합하는 방법을 설명합니다.
사용 사례
Secret Manager 통합은 Google SecOps 기능을 사용하여 다음 사용 사례를 지원합니다.
- 사용자 인증 정보 관리 중앙 집중화: Google SecOps 구성 파일 및 스크립트에 삽입된 하드 코딩된 애플리케이션 사용자 인증 정보를 Google Cloud내에서 중앙 집중식으로 저장, 감사, 관리하여 제거합니다.
- 매개변수 동기화: 백그라운드 동기화 작업을 사용하여 Google Cloud Secret Manager에서 항목을 가져오고 통합 인스턴스, 커넥터, 작업을 업데이트하여 구성 관리를 자동화합니다.
시작하기 전에
Google SecOps 플랫폼에서 통합을 구성하기 전에 다음 단계를 사용하여 환경을 구성했는지 확인합니다.
- 서비스 계정을 만듭니다.
- 프로젝트에 필요한 API를 사용 설정합니다.
- 다음 인증 방법 중 하나를 선택하고 구성합니다.
- 옵션 1: JSON 키: 이 방법은 정적이고 수명이 긴 보안 비밀 키 파일을 사용합니다. 사용자 환경에서 워크로드 아이덴티티를 사용할 수 없는 경우에만 이 방법을 사용하세요.
- 옵션 2: 워크로드 아이덴티티 (권장): 이 방법은 서비스 계정 가장을 사용하여 단기 임시 액세스 토큰을 사용하므로 보안 비밀을 저장할 필요가 없습니다.
서비스 계정 만들기
통합을 위한 서비스 계정을 만들려면 다음 단계를 완료하세요.
Google Cloud 콘솔에서 IAM 및 관리자 > 서비스 계정으로 이동하여 프로젝트를 선택합니다.
서비스 계정 만들기를 클릭합니다.
이름과 설명을 입력하고 완료를 클릭하여 계정을 만듭니다.
선택한 인증 방법에 따라 서비스 계정에 필요한 IAM 권한을 부여합니다.
- 서비스 계정 키 인증의 경우 다음 역할을 부여합니다.
- Secret Manager 보안 비밀 접근자 (
roles/secretmanager.secretAccessor): 통합이 보안 비밀 페이로드에 액세스할 수 있도록 허용합니다. - Secret Manager 뷰어 (
roles/secretmanager.viewer)는 *핑 작업에서 연결을 테스트하는 데 필요한secretmanager.secrets.list권한을 제공합니다*.
- Secret Manager 보안 비밀 접근자 (
- 워크로드 아이덴티티 인증의 경우:
- 가장되는 대상 서비스 계정에 Secret Manager 보안 비밀 접근자 (
roles/secretmanager.secretAccessor) 및 Secret Manager 뷰어 (roles/secretmanager.viewer) 역할을 모두 부여합니다. - 런타임 환경 ID에 서비스 계정 토큰 생성자 (
roles/iam.serviceAccountTokenCreator) 역할이 있는지 확인합니다.
- 가장되는 대상 서비스 계정에 Secret Manager 보안 비밀 접근자 (
- 서비스 계정 키 인증의 경우 다음 역할을 부여합니다.
프로젝트에 필요한 API 사용 설정
Google Cloud 콘솔에서 API 및 서비스로 이동합니다.
API 및 서비스 사용 설정을 클릭합니다.
프로젝트에서 Secret Manager API를 검색하여 사용 설정합니다.
JSON 키 구성
정적 JSON 키 파일 또는 워크로드 아이덴티티를 사용하여 통합을 인증할 수 있습니다. 환경 보안을 극대화하려면 워크로드 아이덴티티 메서드를 사용합니다. 정적 키는 수동 순환이 필요하고 사용자 인증 정보 노출 위험을 증가시키므로 인프라에서 워크로드 아이덴티티가 지원되지 않는 경우에만 JSON 키 메서드를 사용하세요.
통합을 인증하는 데 필요한 JSON 키 파일을 생성하려면 다음 단계를 완료합니다.
Google Cloud 콘솔에서 IAM 및 관리자 > 서비스 계정으로 이동하고 만든 서비스 계정을 선택합니다.
키 탭으로 이동합니다.
키 추가를 클릭합니다.
새 키 만들기를 선택합니다.
키 유형에 JSON을 선택하고 만들기를 클릭합니다. JSON 파일이 컴퓨터에 다운로드됩니다.
이 파일의 전체 콘텐츠를 복사하여 통합 구성 중에
Service Account JSON에 붙여넣습니다.
Secret Manager 권한 구성
다음 절차에 따라 통합에서 보안 비밀 자료에 액세스하고 Google Cloud 프로젝트 내에서 연결을 검증하는 데 필요한 관리 권한을 부여합니다.
- Google Cloud 콘솔에서 IAM 및 관리자 > IAM으로 이동합니다.
- 주 구성원 목록에서 만든 서비스 계정을 찾고 수정 주 구성원 수정을 클릭합니다.
- 다른 역할 추가를 클릭합니다.
- 역할 선택 필드에서 다음 역할을 검색하여 선택합니다.
- 저장을 클릭합니다.
워크로드 아이덴티티 사용자 인증 정보 구성
이 방법 또는 JSON 키 방법을 선택하여 통합을 인증합니다. 워크로드 아이덴티티는 서비스 계정 가장을 사용하여 단기 임시 액세스 토큰을 사용하므로 장기 보안 사용자 인증 정보 노출 위험을 최소화하는 더 안전한 접근 방식입니다.
고유한 인스턴스 ID 식별
워크로드 아이덴티티를 사용하려면 Google SecOps 인스턴스에 서비스 계정을 가장할 수 있는 권한을 부여해야 합니다. 이 단계를 통해 인스턴스가 Google Cloud 리소스에 안전하게 액세스할 수 있습니다.
Google SecOps에서 콘텐츠 허브 > 응답 통합으로 이동합니다.
구성 중인 통합을 선택하고
Workload Identity Email에 서비스 계정 이메일을 입력합니다.저장 > 테스트를 클릭합니다. 테스트가 실패할 것으로 예상됩니다.
테스트 오른쪽에 있는 close_small를 클릭하고 오류 메시지에서
gke-init-python@...또는soar-python@...로 시작하는 ID 이메일을 검색합니다.이 고유 이메일 주소를 복사합니다.
Google Cloud에서 인스턴스 ID 승인
Google SecOps 인스턴스의 고유 ID를 검색한 후에는 Google Cloud 리소스에 액세스할 수 있도록 승인해야 합니다. 이 단계에서는 서비스 계정 가장을 사용 설정하여 플랫폼에서 정적 키 없이 단기 토큰을 생성하고 사용자를 대신하여 작동할 수 있습니다.
Google Cloud 콘솔에서 IAM 및 관리자 > 서비스 계정으로 이동합니다.
대상 서비스 계정을 선택하고 권한 > 액세스 권한 부여로 이동합니다.
고유 이메일 주소를 새 주 구성원 필드에 붙여넣고 서비스 계정 토큰 생성자 역할(
roles/iam.serviceAccountTokenCreator)을 할당합니다.
통합 매개변수
Secret Manager 통합에는 다음 구성 매개변수가 필요합니다.
| 매개변수 | 설명 |
|---|---|
Service Account JSON |
(선택사항) Secret Manager에 인증하는 데 사용되는 서비스 계정 키 JSON 파일의 콘텐츠입니다. 이 파라미터 또는 워크로드 아이덴티티 이메일을 구성할 수 있습니다. |
Project ID |
(선택사항) 보안 비밀이 저장된 Google Cloud 프로젝트 ID입니다. 값이 제공되지 않으면 통합은 |
Workload Identity Email |
(선택사항) 워크로드 아이덴티티 (애플리케이션 기본 사용자 인증 정보)를 사용하여 인증할 때 가장할 서비스 계정 이메일 주소입니다. Google SecOps 플랫폼 또는 원격 에이전트가 워크로드 아이덴티티가 사용 설정된 Google Cloud 내에서 실행되는 경우 |
Verify SSL |
필수 입력란입니다. 선택하면 통합에서 Secret Manager에 대한 연결을 설정할 때 SSL 인증서를 검증합니다. 기본적으로 사용 설정됩니다 ( |
Google SecOps에서 통합을 구성하는 방법에 대한 안내는 통합 구성을 참조하세요.
필요한 경우 이후 단계에서 변경할 수 있습니다. 통합 인스턴스를 구성한 후 플레이북에서 사용할 수 있습니다. 여러 인스턴스를 구성하고 지원하는 방법에 관한 자세한 내용은 다중 인스턴스 지원을 참고하세요.
작업
작업에 대한 자세한 내용은 Workdesk의 대기 중인 작업에 응답 및 케이스에서 수동 작업 실행을 참고하세요.
핑
핑 작업을 사용하여 연결을 검증하고 대상 Secret Manager 인스턴스에 대해 구성 매개변수를 확인합니다.
이 작업은 주로 콘텐츠 허브의 통합 구성 페이지에서 즉각적인 연결 테스트를 위해 사용되며 개별 Google Cloud 항목에서는 실행되지 않습니다.
작업 입력
이 작업에는 입력 매개변수가 필요하지 않습니다.
작업 출력
핑 작업은 다음 출력을 제공합니다.
| 작업 출력 유형 | 가용성 |
|---|---|
| 케이스 월 연결 | 사용 불가 |
| 케이스 월 링크 | 사용 불가 |
| 케이스 월 테이블 | 사용 불가 |
| 보강 테이블 | 사용 불가 |
| JSON 결과 | 사용 불가 |
| 출력 메시지 | 사용 가능 |
| 스크립트 결과 | 사용 가능 |
출력 메시지
Ping 작업은 다음 출력 메시지를 반환할 수 있습니다.
| 출력 메시지 | 메시지 설명 |
|---|---|
|
작업이 성공했으며 사용자 인증 정보가 유효합니다. |
Failed to connect to Secret Manager! Error is
ERROR_REASON |
작업이 실패했습니다. 사용자 인증 정보, 프로젝트 ID 구성, IAM 권한 또는 네트워크 연결을 확인하세요. 서비스 계정에 |
스크립트 결과
다음 표에는 Ping 작업을 사용할 때의 스크립트 결과 출력 값이 나와 있습니다.
| 스크립트 결과 이름 | 값 |
|---|---|
is_success |
true 또는 false |
작업
작업에 대한 자세한 내용은 새 작업 구성 및 고급 예약을 참조하세요.
통합 사용자 인증 정보 동기화 작업
Secret Manager - 통합 사용자 인증 정보 동기화 작업을 사용하여 Secret Manager 항목의 구성 매개변수를 체계적으로 동기화하여 플랫폼 통합 인스턴스, 커넥터, 백그라운드 작업 구성을 자동으로 업데이트합니다.
이 백그라운드 동기화 작업은 전역적으로 작동하며 개별 항목에서 실행되지 않습니다.
작업 동작
이 작업은 구조화된 구성 객체를 파싱하여 보안 비밀 정의를 쿼리하고, 두 가지 버전 참조 스타일을 처리합니다.
- 암시적 표기법:
projects/<project_id>/secrets/<secret_name>형식입니다. 동기화 작업은 처리 중에 Secret Manager에서 최신 활성 버전을 동적으로 확인하고 검색합니다. - 명시적 표기법:
projects/<project_id>/secrets/<secret_name>/versions/<version_id>형식입니다. 동기화 작업은 상태가 Google Cloud에서 비활성으로 표시되더라도 정확한 고정 버전 항목을 검색합니다.
Secret Manager 내의 각 타겟팅된 보안 비밀 경로에는 매개변수 키를 해당 사용자 인증 정보 값에 직접 매핑하는 유효한 JSON 객체 문자열이 포함되어야 합니다.
사용자 인증 정보 매핑 구성 예시
{
"integration_instances": {
"AzureActiveDirectory_1": {
"Client ID": "projects/154371241292/secrets/AzureActiveDirectory"
}
},
"connectors": {
"Crowdstrike - Alerts Connector": {
"Client Secret": "projects/154371241292/secrets/CrowdstrikeConnectorSecret",
"Client ID": "projects/154371241292/secrets/CrowdstrikeConnectorID"
},
"Microsoft Graph Mail Connector": {
"Client Secret": "projects/154371241292/secrets/GraphConnectorSecret",
"Client ID": "projects/154371241292/secrets/GraphConnectorID/versions/3"
}
},
"jobs": {
"Sync Incidents": {
"API Root": "projects/154371241292/secrets/API_Root/versions/2"
}
}
}
작업 입력
통합 사용자 인증 정보 동기화 작업에는 다음 구성 매개변수가 필요합니다.
| 매개변수 | 설명 |
|---|---|
Environment Name |
필수 입력란입니다. 대상 구성을 쿼리할 환경 컨텍스트의 이름입니다. 기본값은 |
Credential Mapping |
필수 입력란입니다. 통합 인스턴스, 커넥터, 작업이 명시적 Secret Manager 리소스 좌표에 매핑되는 타겟 위치를 구조화하는 유효한 JSON 문자열입니다. |
Service Account JSON |
(선택사항) 이 백그라운드 동기화 작업을 승인하는 데 전용으로 사용되는 서비스 계정 키 JSON 콘텐츠입니다. |
Project ID |
(선택사항) 대상 리소스를 호스팅하는 기본 Google Cloud 프로젝트 ID 범위입니다. |
Workload Identity Email |
(선택사항) 활성 워크로드 아이덴티티가 있는 Google Cloud 인프라 내에서 실행되는 경우 가장할 애플리케이션 기본 사용자 인증 정보 서비스 계정 이메일입니다. |
Verify SSL |
필수 입력란입니다. 동기화 작업 중에 SSL 인증서 엔드포인트를 검증합니다. 기본적으로 사용 설정됩니다( |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.