하나의 새로운 S3 호환 저장 블록 저장소 구성합니다. v2.0 리소스 keyVault 객체 추가합니다. S3 호환 저장 블록 저장소 이 객체 사용하여 HashiCorp Vault에서 AWS 자격 증명 읽습니다. 자세한 학습 은 스냅샷 저장소 자격 증명을 위한 HashiCorp Vault를 참조하세요.
기본 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v2.0/admin/backup
Resource
POST /snapshot/s3Configs
요청 경로 매개변수
이 엔드포인트는 HTTP 요청 경로 매개변수를 사용하지 않습니다.
요청 쿼리 매개변수
다음 쿼리 매개변수는 선택 사항입니다.
요청 본문 매개변수
이름 | 유형 | 필요성 | 설명 |
|---|---|---|---|
acceptTos | 부울 | 필수 사항 | MongoDB Ops Manager에서 S3호환 저장소를 사용하기 위한 서비스 약관에 동의했는지 여부를 나타내는 플래그입니다. S3호환 저장 스토어를 만들려면 이것을 이 값을 |
AssignmentEnabled | 부울 | 옵션 | 이 데이터 저장소에 백업 작업을 할당할 수 있는지 여부를 나타내는 플래그. |
AWS 액세스 키 | 문자열 | 조건부 | s3BucketName에 지정된 S3호환 저장 버킷에 액세스 할 수 있는AWS 액세스 키 ID .
|
AWS 비밀 키 | 문자열 | 조건부 |
|
customCertificates | 배열 | 옵션 | 연결된 S3 호환 저장소 버킷에 적용되는 유효한 인증 기관 인증서 목록입니다. |
customCertificates[n].filename | 문자열 | 옵션 | 인증 기관 PEM 파일을 식별하는 이름입니다. |
customCertificates[n].certString | 문자열 | 옵션 | 인증 기관 체인을 구성하는 인증 기관 PEM 파일의 콘텐츠입니다. |
disableProxyS3 | 부울 | 필수 사항 | S3호환 저장 에 연결할 때 HTTP proxy 사용할지 여부를 나타냅니다. HTTP proxy 사용하도록 Ops Manager 구성하지 않은 경우에도 S3 호환 저장 블록 저장소 생성하거나 업데이트 하려면 모든 요청 에 이 필드 포함해야 합니다. |
암호화된 자격증명 | 부울 | 옵션 | 이 S3 호환 저장소 블록 저장소의 사용자 이름과 비밀번호가 credentialstool을 사용하여 암호화되었는지 여부를 나타내는 플래그입니다. |
id | 문자열 | 필수 사항 | 이 S3 스냅샷 저장소를 고유하게 식별하는 이름입니다. |
labels | 문자열 배열 | 옵션 | Ops Manager 어떤 S3 블록 저장소에 할당할 수 있는 백업 작업을 관리 위한 태그 배열입니다. Setting these tags limits which backup jobs this S3-compatible storage blockstore can process. 생략하면 이 S3 호환 저장소 블록 저장소는 레이블을 사용하여 작업을 필터링하지 않는 프로젝트의 백업 작업만 처리할 수 있습니다. |
부하 계수 | 숫자 | 옵션 | 이 스냅샷 저장소 가 다른 스냅샷 저장소와 비교하여 수행하는 백업 작업의 양을 나타내는 0이 아닌 양의 정수입니다. 이 옵션은 둘 이상의 스냅샷 저장소를 사용 중인 경우에만 필요합니다. Load Factor 에 학습 보려면 기존 블록 저장소 1개 편집을 참조하세요. |
objectLockEnabled | 부울 | 옵션 | S3 버킷의 객체가 삭제되지 않도록 객체 잠금 활성화할지 여부를 나타내는 플래그입니다. |
OIDC | 객체 | 옵션 | 선택 사항. 이 저장 에 대한OIDC 인증 설정입니다.
저장 OIDC에서 다른 인증 메커니즘 으로 전환하려면 |
경로 스타일 액세스 활성화 | 부울 | 필수 사항 | 이 엔드포인트의 스타일을 나타내는 플래그입니다.
S3호환 저장 버킷 URL 규칙을 검토 하려면 AWS S3 문서를 참조하세요. |
s3AuthMethod | 문자열 | 옵션 | s3BucketName 에 지정된 S3 호환 스토리지 버킷에 대한 액세스 권한을 부여하는 데 사용되는 메서드입니다. 이 옵션에 허용되는 값은 다음과 같습니다.
|
s3BucketEndpoint | 문자열 | 필수 사항 | 이 S3 호환 저장 버킷에 액세스 데 사용되는URL . |
S3 버킷 이름 | 문자열 | 필수 사항 | S3 호환 스토리지 블록 저장소를 호스팅하는 S3 호환 스토리지 버킷의 이름입니다. |
S3 최대 연결 | 숫자 | 필수 사항 | 이 S3 호환 저장소 블록 저장소에 대한 최대 연결 수를 나타내는 양의 정수입니다. |
s3RegionOverride | 문자열 | 조건부 | S3 호환 스토리지 버킷이 있는 리전입니다. 이 필드 S3호환 저장 저장소의 s3BucketEndpoint가 리전 범위를 지원 하지 않는 경우에만 사용합니다. 이 필드 AWS S3 버킷과 함께 사용하지 마세요. |
sseEnabled | 부울 | 필수 사항 | 이 S3호환 저장 블록 저장소 서버 측 암호화활성화하는지 여부를 나타내는 플래그입니다. |
ssl | 부울 | 옵션 | 이 S3 호환 저장 블록 저장소 TLS를 사용하여 암호화됨 연결만 허용하는지 여부를 나타내는 플래그입니다. |
uri | 문자열 | 필수 사항 | |
쓰기 고려 | 문자열 | 옵션 | 이 블록 저장소에 사용되는 쓰기 고려 (write concern)입니다. Ops Manager는 다음 값을 허용합니다.
MongoDB 의 쓰기 (write) 승인 수준에 학습 보려면 쓰기 고려를 참조하세요 . |
참고
s3AuthMethod 가 KEYS인 경우 다음 자격 증명 소스 중 하나만 정확히 제공합니다. keyVault 객체 또는 awsAccessKey 과 awsSecretKey 모두. s3AuthMethod 가 IAM_ROLE인 경우에는 keyVault 객체를 제공하지 마십시오. 그러면 Ops Manager가 오류를 반환하고 awsAccessKey 과 awsSecretKey 값은 무시됩니다.
v2.0 리소스에 다음 키 보고 매개변수가 추가됩니다.
이름 | 유형 | 필요성 | 설명 |
|---|---|---|---|
keyVault | 객체 | 조건부 | 이 S3호환 스냅샷 저장소에 대한 Vault 기반 자격 증명 소스입니다. |
keyVault.vaultId | 문자열 | 조건부 | 자격 증명이 저장되는 키 보고 구성의 고유 식별자입니다. 이 값은 키 보고 구성의 |
keyVault.awsAccessKeyPath | 문자열 | 조건부 |
|
keyVault.awsSecretKeyPath | 문자열 | 조건부 | 키 볼트에 있는 AWS 비밀 키의 경로입니다. |
응답
이름 | 유형 | 설명 |
|---|---|---|
acceptTos | 부울 | MongoDB Ops Manager에서 S3호환 저장을 사용하기 위한 서비스 약관에 동의했는지 여부를 나타내는 플래그입니다. S3호환 저장 스토어를 만들려면 이것을 |
AssignmentEnabled | 부울 | 이 데이터 저장소에 백업 작업을 할당할 수 있는지 여부를 나타내는 플래그. |
AWS 액세스 키 | 문자열 | s3BucketName에 지정된 S3호환 저장 버킷에 액세스 할 수 있는AWS 액세스 키 ID . |
AWS 비밀 키 | 문자열 | s3BucketName에 지정된 S3호환 저장 버킷에 액세스 할 수 있는AWS 시크릿 액세스 키입니다. |
customCertificates | 배열 | 연결된 S3 호환 저장소 버킷에 적용되는 유효한 인증 기관 인증서 목록입니다. |
customCertificates[n].filename | 문자열 | 인증 기관 PEM 파일을 식별하는 이름입니다. |
customCertificates[n].certString | 문자열 | 인증 기관 체인을 구성하는 인증 기관 PEM 파일의 콘텐츠입니다. |
disableProxyS3 | 부울 | S3호환 저장소에 연결할 때 HTTP proxy를 사용해야 하는지 여부를 나타내는 플래그입니다. |
암호화된 자격증명 | 부울 | 이 S3 호환 저장소 블록 저장소의 사용자 이름과 비밀번호가 credentialstool을 사용하여 암호화되었는지 여부를 나타내는 플래그입니다. |
id | 문자열 | 이 S3 호환 저장소 블록 저장소를 고유하게 식별하는 이름입니다. |
labels | 문자열 배열 | Ops Manager 어떤 S3 블록 저장소에 할당할 수 있는 백업 작업을 관리 위한 태그 배열입니다. |
링크 | 객체 배열 | 하위 리소스 또는 관련 리소스에 대한 하나 이상의 링크입니다. 응답의 모든 |
부하 계수 | integer | 이 스냅샷 저장소 가 다른 스냅샷 저장소와 비교하여 수행하는 백업 작업의 양을 나타내는 0이 아닌 양의 정수입니다. 이 옵션은 둘 이상의 스냅샷 저장소를 사용 중인 경우에만 필요합니다. Load Factor 에 학습 보려면 기존 블록 저장소 1개 편집을 참조하세요. |
objectLockEnabled | 부울 | S3 버킷의 객체가 삭제되지 않도록 객체 잠금 활성화할지 여부를 나타내는 플래그입니다. |
OIDC | 객체 | 이 저장 에 대한OIDC 인증 설정입니다.
|
경로 스타일 액세스 활성화 | 부울 | 이 엔드포인트의 스타일을 나타내는 플래그입니다.
S3호환 저장 버킷 URL 규칙을 검토 하려면 AWS S3 문서를 참조하세요. |
s3AuthMethod | 문자열 |
이 옵션에 허용되는 값은
|
s3BucketEndpoint | 문자열 | Ops Manager 이 S3 호환 저장 버킷에 액세스 데 사용하는URL 입니다. |
S3 버킷 이름 | 문자열 | S3 호환 스토리지 블록 저장소를 호스팅하는 S3 호환 스토리지 버킷의 이름입니다. |
S3 최대 연결 | integer | 이 S3 호환 저장소 블록 저장소에 대한 최대 연결 수를 나타내는 양의 정수입니다. |
s3RegionOverride | 문자열 | |
sseEnabled | 부울 | 이 S3호환 저장 블록 저장소 서버 측 암호화활성화하는지 여부를 나타내는 플래그입니다. |
ssl | 부울 | 이 S3 호환 저장 블록 저장소 TLS를 사용하여 암호화됨 연결만 허용하는지 여부를 나타내는 플래그입니다. |
uri | 문자열 | |
쓰기 고려 | 문자열 | 이 블록 저장소에 사용되는 쓰기 고려 (write concern)입니다. Ops Manager는 다음 값 중 하나를 반환합니다.
MongoDB 의 쓰기 (write) 승인 수준에 학습 보려면 쓰기 고려를 참조하세요 . |
v2.0 리소스는 다음 키 볼트 필드를 추가합니다.
이름 | 유형 | 설명 |
|---|---|---|
keyVault | 객체 | 이 S3호환 스냅샷 저장소의 Vault 기반 자격 증명 소스. MongoDB Ops Manager는 스냅샷 저장소가 키 보관소에서 자격 증명을 읽을 때에만 이 객체를 반환합니다. |
keyVault.vaultId | 문자열 | 자격 증명을 저장하는 키 보관소 구성의 고유 식별자. |
keyVault.awsAccessKeyPath | 문자열 | 키 볼트에 있는 AWS 액세스 키의 경로입니다. |
keyVault.awsSecretKeyPath | 문자열 | 키 볼트에 있는 AWS 비밀 키의 경로입니다. |
요청 예시
curl --user '{PUBLIC-KEY}:{PRIVATE-KEY}' --digest \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --include \ --request POST 'https://<OpsManagerHost>:<Port>/api/public/v2.0/admin/backup/snapshot/s3Configs?pretty=true' \ --data '{ "id": "{S3-BLOCKSTORE-CONFIG-ID}", "assignmentEnabled": true, "pathStyleAccessEnabled": false, "acceptedTos": true, "encryptedCredentials": false, "loadFactor": 1, "s3AuthMethod": "KEYS", "s3BucketEndpoint": "s3.amazonaws.com", "s3BucketName": "bucketname", "s3MaxConnections": 50, "sseEnabled": true, "uri": "mongodb://127.0.0.1:27017", "ssl": false, "writeConcern": "ACKNOWLEDGED", "keyVault": { "vaultId": "{KEY-VAULT-ID}", "awsAccessKeyPath": "path/to/awsAccessKey", "awsSecretKeyPath": "path/to/awsSecretKey" } }'
curl --user '{PUBLIC-KEY}:{PRIVATE-KEY}' --digest \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --include \ --request POST 'https://<OpsManagerHost>:<Port>/api/public/v2.0/admin/backup/snapshot/s3Configs?pretty=true' \ --data '{ "id": "{S3-BLOCKSTORE-CONFIG-ID}", "assignmentEnabled": true, "pathStyleAccessEnabled": false, "awsAccessKey": "<access>", "awsSecretKey": "<secret>", "acceptedTos": true, "encryptedCredentials": false, "loadFactor": 1, "s3AuthMethod": "KEYS", "s3BucketEndpoint": "s3.amazonaws.com", "s3BucketName": "bucketname", "s3MaxConnections": 50, "sseEnabled": true, "uri": "mongodb://127.0.0.1:27017", "ssl": false, "writeConcern": "ACKNOWLEDGED" }'
curl --user '{PUBLIC-KEY}:{PRIVATE-KEY}' --digest \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --include \ --request POST 'https://<OpsManagerHost>:<Port>/api/public/v2.0/admin/backup/snapshot/s3Configs?pretty=true' \ --data '{ "id": "{S3-BLOCKSTORE-CONFIG-ID}", "assignmentEnabled": true, "pathStyleAccessEnabled": false, "acceptedTos": true, "encryptedCredentials": false, "loadFactor": 1, "s3AuthMethod": "IAM_ROLE", "s3BucketEndpoint": "s3.amazonaws.com", "s3BucketName": "bucketname", "s3MaxConnections": 50, "sseEnabled": true, "uri": "mongodb://127.0.0.1:27017", "ssl": false, "writeConcern": "ACKNOWLEDGED" }'
응답 예시
응답 헤더
401 Unauthorized Content-Type: application/json;charset=ISO-8859-1 Date: {dateInUnixFormat} WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false Content-Length: {requestLengthInBytes} Connection: keep-alive
200 OK Vary: Accept-Encoding Content-Type: application/json Strict-Transport-Security: max-age=300 Date: {dateInUnixFormat} Connection: keep-alive Content-Length: {requestLengthInBytes} X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
응답 본문
{ "acceptedTos": true, "assignmentEnabled": true, "encryptedCredentials": false, "id": "{S3-BLOCKSTORE-CONFIG-ID}", "keyVault": { "vaultId": "{KEY-VAULT-ID}", "awsAccessKeyPath": "path/to/awsAccessKey", "awsSecretKeyPath": "path/to/awsSecretKey" }, "links": [ { "href": "https://<OpsManagerHost>:<Port>/api/public/v2.0/admin/backup/snapshot/s3Configs", "rel": "self" } ], "loadFactor": 1, "pathStyleAccessEnabled": false, "s3AuthMethod": "KEYS", "s3BucketEndpoint": "s3.amazonaws.com", "s3BucketName": "bucketname", "s3MaxConnections": 50, "sseEnabled": true, "ssl": false, "uri": "mongodb://127.0.0.1:27017", "writeConcern": "ACKNOWLEDGED" }