문서 메뉴

문서 홈MongoDB Ops Manager

API로 키 파일 회전

이 페이지의 내용

  • 전제 조건
  • 자동화 구성 API 리소스용 변수
  • 절차

프로젝트의 자동화 구성을 업데이트하여 프로그래밍 방식으로 키 파일을 회전할 수 있습니다.

Ops Manager API를 사용하여 키 파일을 순환하려면 다음을 수행합니다.

  1. 현재 구성을 조회합니다.

  2. auth.newKey 설정에 사용할 새 키 파일을 추가합니다.

  3. PUT 을(를) 사용하여 전체 구성을 바꿉니다. 반드시 PUT 를 사용해야 합니다. PATCH 을(를) 사용 하지 마세요 .

모든 MongoDB 에이전트가 새 키를 사용하는 경우, Ops Manager는 auth.key 값을 사용자가 auth.newKey 에 제공한 새 키로 대체하고 자동화 구성에서 auth.newKey 를 제거합니다.

  • API 에 대한 액세스 권한이 있어야 합니다. 자세한 내용은 API 액세스 구성을 참조하세요.

  • API 키에는 Project Automation Admin 또는 Project Owner 역할이 있어야 합니다.

  • 인증을 활성화해야 합니다.

  • 프로젝트에서 하나 이상의 cluster를 keyFile 또는 sendKeyFile 로 설정된 clusterAuthMode 옵션으로 구성해야 합니다.

  • 프로젝트의 모든 cluster는 MongoDB 버전 4.2 이상을 실행 중이어야 합니다.

API 리소스는 이러한 변수 중 하나 이상을 사용합니다. 이러한 API 리소스를 호출하기 전에 이러한 변수를 원하는 값으로 바꿉니다.

이름
유형
설명
PUBLIC-KEY
문자열
API 자격 증명에 대한 공개 API 키입니다.
PRIVATE-KEY
문자열
API 자격 증명에 대한 비공개 API 키 입니다.
<OpsManagerHost>:<Port>
문자열
Ops Manager 인스턴스의 URL 입니다.
GROUP-ID
문자열
프로젝트 설정에 있는 프로젝트의 고유 식별자입니다.
CLUSTER-ID
문자열
cluster의 고유 식별자입니다.
1
  1. AutomationConfig 리소스를 사용하여 구성을 검색합니다. 다음 명령을 실행하여 자리 표시자를 자동화 구성 API 리소스용 변수로 바꿉니다.

    curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
    --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \
    --output currentAutomationConfig.json
  2. 다운로드한 자동화 구성 파일의 유효성을 검사합니다.

    currentAutomationConfig.jsonversion 필드와 자동화 구성 백업 파일 mms-cluster-config-backup.json 의 필드를 비교합니다. version 값은 두 JSON 문서 모두에서 마지막 요소입니다. 다음의 MongoDB Agent를 실행하는 모든 호스트에서 이 파일을 찾을 수 있습니다.

    • Linux 및 macOS: /var/lib/mongodb-mms-automation/mms-cluster-config-backup.json

    • Windows: %SystemDrive%\MMSAutomation\versions\mms-cluster-config-backup.json

    version 값이 일치하면 자동화 구성 파일의 현재 버전으로 작업하고 있는 것입니다.

2
  1. 원하는 텍스트 편집기에서 currentAutomationConfig.json 을(를) 엽니다.

  2. auth.newKey 필드를 추가합니다. 이 필드의 값을 Ops Manager에서 사용할 새 키 파일로 설정합니다.

    참고

    아래의 샘플 구성은 가독성을 위해 잘립니다.

    {
    "auth": {
    "disabled": "false",
    "key": "<your-old-key>",
    "newKey": "<your-new-key>"
    }
    }

MongoDB Agent를 업데이트하는 경우 이 절차를 계속하기 전에 에이전트 버전 업데이트 를 참조하세요.

3

AutomationConfig 리소스를 사용하여 업데이트된 자동화 구성을 보냅니다.

업데이트된 구성 문서의 경로와 함께 다음 명령을 실행하고 자리 표시자를 자동화 구성 API 리소스에 대한 변수로 바꿉니다.

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Content-Type: application/json"
--request PUT "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \
--data @currentAutomationConfig.json

구성이 성공적으로 업데이트되면 API는 요청이 성공했음을 나타내는 HTTP 200 OK 상태 코드를 반환합니다.

4

Ops Manager에서 자동화 구성을 검색하고 변경 사항이 포함되어 있는지 확인합니다. 구성을 검색하려면 다음 명령을 실행하여 자리 표시자를 자동화 구성 API 리소스용 변수로 바꿉니다.

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true"
5

AutomationStatus 리소스를 사용하여 배포서버 상태를 조회합니다. 다음 명령을 실행하여 자리 표시자를 자동화 구성 API 리소스용 변수로 바꿉니다.

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationStatus?pretty=true"

processes 배열에 있는 모든 lastGoalVersionAchieved 필드의 값이 goalVersion 필드와 일치하는지 확인합니다. 배포 상태에 대해 알아보려면 최신 플랜의 자동화 상태 가져오기를 참조하세요.

← 자동화 구성 업데이트