다음을 통해 공유


테넌트 간 CMK 문제 해결 가이드

적용 대상: NoSQL MongoDB Cassandra Gremlin 테이블

이 문서는 테넌트 간 CMK 오류 문제를 해결하는 데 도움이 됩니다.

공용 설명서 링크

Cosmos DB 계정이 해지 상태임

  • Key Vault가 삭제되었나요?
    • 예이면 휴지통에서 키 자격 증명 모음을 복구합니다.
  • Key Vault 키를 사용할 수 없나요?
    • 예이면 키를 다시 사용하도록 설정합니다.
  • Key Vault 확인 -> 네트워킹 -> 방화벽 및 가상 네트워크는 “모든 네트워크에서 공용 액세스 허용” 또는 “특정 가상 네트워크 및 IP 주소에서 공용 액세스 허용”으로 설정됩니다. 나중에 선택한 경우 방화벽 허용 목록이 올바르게 구성되었는지, “신뢰할 수 있는 Microsoft 서비스가 이 방화벽을 바이패스하도록 허용”을 선택했는지 확인합니다.
  • Cosmos DB 고객 관리형 키 설명서에 따라 Key Vault의 액세스 정책에 래핑/래핑 해제/가져오기 권한이 없는지 확인합니다.
    • 예인 경우 액세스 권한을 다시 부여합니다.
  • 기본 ID에 사용된 다중 테넌트 앱이 실수로 삭제됨
  • 기본 ID에 사용된 UserAssigned ID가 실수로 삭제된 경우
    • 예인 경우 UserAssigned ID는 한번 삭제되면 복구할 수 없습니다. 고객은 db 계정에 새 UserAssigned ID를 만든 다음, 프로비전 중에 다중 테넌트 앱을 사용하여 FedereatedCrdential 설정과 같은 정확히 동일한 구성 단계를 따라야 합니다. 마지막으로 고객은 db 계정의 기본 ID를 새 UserAssigned ID로 업데이트해야 합니다.
      • 예: _az cosmosdb update --resource-group \<rg\> --name \<dbname\> --default-identity "UserAssignedIdentity=\<New\_UA\_Resource\_ID1\>&FederatedClientId=00000000-0000-0000-0000-000000000000"_.
      • 또한 고객은 Azure에서 삭제된 Cosmos DB 계정에서 이전 UserAssigned ID를 삭제해야 합니다. 샘플 명령: az cosmosdb identity remove --resource-group \<rg\> --name \<dbname\> --identities \<OLD\_UA\_Resource\_ID\>
    • 계정이 해지 상태에서 복구될 때까지 1시간 정도 기다립니다.
    • SDK/REST API 요청을 만들거나 Azure Portal Data Explorer를 통해 문서를 확인하여 Cosmos DB 데이터 평면에 액세스해 봅니다.

1. 기본 컨트롤 플레인 만들기/업데이트 오류 사례


1.1


시나리오

고객은 Key Vault 방화벽 구성 “신뢰할 수 있는 Microsoft 서비스가 이 방화벽을 바이패스하도록 허용”을 선택하지 않은 상태로 Azure CLI/ARM 템플릿을 통해 CMK db 계정을 만듭니다.

오류 메시지

Database account creation failed. Operation Id: 00000000-0000-0000-0000-000000000000, Error: {\"error\":{\"code\":\"Forbidden\",\"message\":\"Client address is not authorized and caller was ignored **because bypass is set to None** \\r\\nClient address: xx.xx.xx.xx\\r\\nCaller: name=Unknown/unknown;appid=00001111-aaaa-2222-bbbb-3333cccc4444;oid=ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0\\r\\nVault: mykeyvault;location=eastus\",\"innererror\":{\"code\":\" **ForbiddenByFirewall** \"}}}\r\nActivityId: 00000000-0000-0000-0000-000000000000,

상태 코드

사용할 수 없음(403)

근본 원인

Key Vault가 VNet/신뢰할 수 있는 서비스 바이패스를 허용하도록 올바르게 구성되지 않았습니다. 프로비전은 키 자격 증명 모음에 액세스할 수 없다는 것을 감지하여 오류를 throw합니다. | | 완화 | Azure Portal -> Key Vault -> 네트워킹 -> 방화벽 및 가상 네트워크로 이동 -> “특정 가상 네트워크 및 IP 주소에서 공용 액세스 허용”이 선택되어 있는지 확인하고 “신뢰할 수 있는 Microsoft 서비스가 이 방화벽을 바이패스하도록 허용”이 선택되어 있는지 확인 -> 저장

공용 액세스를 허용하는 네트워크 설정.


1.2


시나리오

  1. 고객이 테넌트에서 존재하지 않는 Key Vault 키 URI를 사용하여 CMK 계정을 만들려고 합니다.
  2. 고객이 서로 다른 테넌트에서 db 계정 및 키 자격 증명 모음을 사용하여 테넌트 간 CMK 계정을 만들려고 하지만 고객이 기본 ID에 “&FederatedClientId=<00000000-0000-0000-0000-000000000000>”을 포함하는 것을 잊어버렸습니다.

예: az cosmosdb create -n mydb -g myresourcegroup --key-uri "https://myvault.vault.azure.net/keys/mykey" --assign-identity "/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/myresourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuserassignedidentity" --default-identity "UserAssignedIdentity=/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/myresourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuserassignedidentity"

기본 ID에 “&FederatedClientId=<00000000-0000-0000-0000-000000000000>”이 없습니다.

  1. 고객은 기본 ID의 “&FederatedClientId=<00000000-0000-0000-0000-000000000000>”으로 다른 테넌트에서 db 계정 및 키 자격 증명 모음을 사용하여 테넌트 간 CMK 계정을 만들려고 합니다. 그러나 다중 테넌트 앱이 없거나 삭제되었습니다.

오류 메시지

Database account creation failed. Operation Id: 00000000-0000-0000-0000-000000000000, Error: Error contacting the Azure Key Vault resource. Please try again.

상태 코드

ServiceUnavailable(503)

근본 원인

시나리오 1: 예상

시나리오 2: “&FederatedClientId=<00000000-0000-0000-0000-000000000000>”이 누락되면 시스템에서 키 자격 증명 모음이 db 계정과 동일한 테넌트에 있다고 생각하게 하지만 고객에게 동일한 테넌트에 동일한 이름의 키 자격 증명 모음이 없을 수 있으므로 이 오류가 발생합니다.

시나리오 3: 다중 테넌트 앱이 없거나 삭제된 것으로 보입니다.

완화 방법

시나리오 1: 고객이 Key Vault 키 URI를 검색하려면 고객 관리형 키 설정 설명서의 Azure Key Vault 인스턴스 구성 섹션을 수행해야 합니다.

시나리오 2의 경우 고객은 누락된 “&FederatedClientId=<00000000-0000-0000-0000-000000000000>”을 기본 ID에 추가해야 합니다.

시나리오 3: 고객은 올바른 FederatedClientId를 사용하거나 애플리케이션 복원 설명서를 사용하여 다중 테넌트 앱을 복원해야 합니다.


1.3


시나리오

고객은 잘못된 Key Vault 키 URI를 사용하여 CMK 계정을 만들고 업데이트하려고 시도합니다.

오류 메시지

Provided KeyVaultKeyUri http://mykeyvault.vault1.azure2.net3/keys4/mykey is Invalid. ActivityId: 00000000-0000-0000-0000-000000000000, Microsoft.Azure.Documents.Common/2.14.0

상태 코드

BadRequest(400)

근본 원인

입력 Key Vault 키 URI가 잘못되었습니다.

완화 방법

고객은 고객 관리형 키 설정 설명서에 따라 포털에서 올바른 Key Vault 키 URI를 검색해야 합니다.


1.4


시나리오

  1. 고객이 “2019-12-12” 이하의 API 버전을 사용하는 동안 “keyVaultKeyUri”로 CMK 계정을 만들려고 합니다.
  2. 고객은 “2019-12-12” 이하의 API 버전을 사용하는 동안 CMK 계정의 “keyVaultKeyUri”를 업데이트합니다.
  3. 고객은 null이 아닌 “keyVaultKeyUri”를 사용하여 기존 CMK 계정에서 “keyVaultKeyUri”를 null 값으로 업데이트하려고 합니다. (CMK 계정을 비 CMK 계정으로 변환)

오류 메시지

ActivityId: 00000000-0000-0000-0000-000000000000

상태 코드

BadRequest(400)

근본 원인

  1. 고객은 KeyVaultKeyUri를 업데이트할 때 “2019-12-12” 이하의 API 버전을 사용합니다.
  2. CMK 계정을 비 CMK 계정으로 변환은 현재 지원되지 않습니다.

완화 방법

해당 없음, 현재 지원되지 않습니다.


1.5


시나리오

고객이 해지 상태인 Cosmos DB CMK 계정을 업데이트하려고 합니다. 고객이 업데이트해도 기본 ID가 업데이트되지 않으며 관리형 서비스 ID도 할당/할당 취소되지 않습니다.

오류 메시지

No Update is allowed on Database Account with Customer Managed Key in Revoked Status
ActivityId: 00000000-0000-0000-0000-000000000000, Microsoft.Azure.Documents.Common/2.14.0

상태 코드

BadRequest(400)

근본 원인

해지 상태 중에는 계정에서 기본 ID를 업데이트하거나 관리형 서비스 ID를 할당/할당 취소하는 것만 허용됩니다. db 계정이 해지 상태에서 복구될 때까지 다른 업데이트는 사용할 수 없습니다.

완화 방법

고객은 “Key Vault 해지 상태 문제 해결 가이드”에 따라 키 자격 증명 모음 액세스 권한을 다시 부여해야 합니다.


1.6


시나리오

고객이 SystemAssigned를 기본 ID로 사용하여 CMK db 계정을 만들려고 합니다.

샘플 명령: az cosmosdb create -n mydb -g myresourcegroup --key-uri "https://myvault.vault.azure.net/keys/mykey" --assign-identity "[system]" --default-identity "SystemAssignedIdentity&FederatedClientId=00000000-0000-0000-0000-000000000000" --backup-policy-type Continuous

오류 메시지

Database account creation failed. Operation Id: 00000000-0000-0000-0000-000000000000, Error: Updating default identity not allowed. Cannot set SystemAssignedIdentity as the default identity during provision. ActivityId: 00000000-0000-0000-0000-000000000000

상태 코드

BadRequest(400)

근본 원인

기본 ID로 SystemAssigned ID를 사용하는 것은 현재 db 계정 만들기에서 지원되지 않습니다. 기본 ID로 SystemAssigned ID를 사용하는 것은 고객이 기본 ID를 SystemAssignedidentity &로 업데이트하고 키 자격 증명 모음과 db 계정이 동일한 테넌트에 있는 경우에만 지원됩니다.

완화 방법

고객이 지속적인 백업/Synapse Link/전체 충실도 변경 피드/구체화된 뷰가 사용하도록 설정된 CMK 계정을 만들려는 경우 현재 유일하게 지원되는 기본 ID는 UserAssigned ID입니다. 기본 ID SystemAssignedIdentity는 고객이 기본 ID를 SystemAssigned ID로 업데이트하고 키 자격 증명 모음과 db 계정이 동일한 테넌트에 있는 경우에만 지원됩니다.

UserAssigned ID를 사용하여 db 계정을 만들기 위한 샘플 명령입니다. (“UserAssigned Identity를 통해 테넌트 간 CMK 계정 프로비전” 참조).


1.7


시나리오

고객이 기존 테넌트 간 CMK db 계정의 KeyVaultKeyUri를 이전 Key Vault와 테넌트가 다른 새 키 자격 증명 모음으로 업데이트하려고 합니다.

오류 메시지

The tenant for the new Key Vault 00000000-0000-0000-0000-000000000000 does not match the one in the old Key Vault 00000000-0000-0000-0000-000000000001. New Key Vaults must be on the same tenant as the old ones.

상태 코드

BadRequest(400)

근본 원인

“FedereatedClientId”를 사용하여 기본 ID를 테넌트 간으로 설정하면 Key Vault 키 URI를 이전 Key Vault와 테넌트가 동일한 새 ID로만 업데이트할 수 있습니다. 보안상의 이유로 키 자격 증명 모음 키 URI를 다른 테넌트로 업데이트할 수 없습니다.

완화 방법

해당 없음(지원되지 않음)


1.8


시나리오

고객이 기존 테넌트 간 CMK 계정의 기본 ID를 “UserAssignedIdentity=<UA_Resource_ID>&FederatedClientId=00000000-0000-0000-0000-000000000000”에서 “SystemAssignedIdentity&FederatedClientId=00000000-0000-0000-0000-000000000000”으로 변경하려고 합니다.

오류 메시지

Cross-tenant CMK is not supported with System Assigned identities as Default identities. Please use a User Assigned Identity instead.

상태 코드

BadRequest(400)

근본 원인

SystemAssigned ID는 현재 테넌트 간 CMK 시나리오에서 지원되지 않습니다.

완화 방법

해당 없음(지원되지 않음)


1.9


시나리오

• 고객이 FirstPartyIdentity를 기본 ID로 사용하여 테넌트 간 CMK 계정을 프로비전하려고 합니다.

• 고객이 기존 테넌트 간 CMK 계정의 기본 ID를 “UserAssignedIdentity=<UA_Resource_ID>&FederatedClientId=00000000-0000-0000-0000-000000000000”에서 “FirstPartyIdentity”로 변경하려고 합니다.

오류 메시지

Cross-tenant CMK is not supported with First Party identities as Default identities. Please use a User Assigned identity instead

상태 코드

BadRequest(400)

근본 원인

현재 테넌트 간 CMK 시나리오에서는 자사 ID가 지원되지 않습니다.

완화 방법

해당 없음(지원되지 않음)


2. 데이터 평면 오류 사례


2.1


시나리오

고객이 DB 계정이 해지 상태인 동안 SDK/DocumentDBStudio/Portal의 DataExplorer를 사용하여 Cosmos DB DataPlane을 통해 SQL 문서/테이블 엔터티/그래프 꼭짓점을 쿼리하려고 합니다.

오류 메시지

{"Errors":["Request is blocked due to Customer Managed Key not being accessible."]} ActivityId: 00000000-0000-0000-0000-000000000000, Request URI: /apps/00000000-0000-0000-0000-000000000000/services/00000000-0000-0000-0000-000000000000/partitions/00000000-0000-0000-0000-000000000000/replicas/1234567p/, RequestStats: Microsoft.Azure.Cosmos.Tracing.TraceData.ClientSideRequestStatisticsTraceDatum, SDK

상태 코드

사용할 수 없음(403)

근본 원인

db 계정이 해지 상태가 되는 이유에는 여러 가지가 있을 수 있습니다. “Key Vault 해지 상태 문제 해결 가이드”의 “6가지 검사 항목”을 참조하세요.

완화 방법

고객은 “Key Vault 해지 상태 문제 해결 가이드”에 따라 해지 상태에서 복구해야 합니다.


2.2


시나리오

고객이 DB 계정이 해지 상태인 동안 SDK/DocumentDBStudio/Portal의 DataExplorer를 사용하여 Cosmos DB DataPlane을 통해 Cassandra 행을 쿼리하려고 합니다.

오류 메시지

{"readyState":4,"responseText":"","status":401,"statusText":"error"}

상태 코드

권한 없음(401)

근본 원인

db 계정이 해지 상태가 되는 이유에는 여러 가지가 있을 수 있습니다. “Key Vault 해지 상태 문제 해결 가이드”의 “6가지 검사 항목”을 참조하세요.

완화 방법

고객은 “Key Vault 해지 상태 문제 해결 가이드”에 따라 해지 상태에서 복구해야 합니다.


2.3


시나리오

고객이 DB 계정이 해지 상태인 동안 SDK/DocumentDBStudio/Portal의 DataExplorer를 사용하여 Cosmos DB DataPlane을 통해 Mongo API를 쿼리하려고 합니다.

오류 메시지

Error querying documents: An exception occurred while opening a connection to the server., Payload: {<redacted>}

상태 코드

내부 서버 오류(500)

근본 원인

db 계정이 해지 상태가 되는 이유에는 여러 가지가 있을 수 있습니다. “Key Vault 해지 상태 문제 해결 가이드”의 “6가지 검사 항목”을 참조하세요.

완화 방법

고객은 “Key Vault 해지 상태 문제 해결 가이드”에 따라 해지 상태에서 복구해야 합니다.


2.4


시나리오

고객이 DB 계정이 해지 상태인 동안 SDK/DocumentDBStudio/Portal의 DataExplorer를 사용하여 Cosmos DB DataPlane을 통해 컬렉션/문서(또는 API에 따라 다른 이름 지정)를 만들거나 수정하려고 합니다.

오류 메시지

Request timed out.

상태 코드

요청 시간 초과(408)

근본 원인

db 계정이 해지 상태가 되는 이유에는 여러 가지가 있을 수 있습니다. “Key Vault 해지 상태 문제 해결 가이드”의 “6가지 검사 항목”을 참조하세요.

완화 방법

고객은 “Key Vault 해지 상태 문제 해결 가이드”에 따라 해지 상태에서 복구해야 합니다.



3.1


시나리오

  1. 고객은 지속적인 백업 모드와 여러 쓰기 위치를 모두 사용하도록 설정된 db 계정을 만들려고 합니다.
  2. 고객은 여러 쓰기 위치가 사용하도록 설정된 기존 db 계정에서 지속적인 백업 모드를 사용하도록 설정하려고 합니다.
  3. 고객은 지속적인 백업 모드가 사용하도록 설정된 기존 db 계정에서 여러 쓰기 위치를 사용하도록 설정하려고 합니다.

오류 메시지

Continuous backup mode and multiple write locations cannot be enabled together for a global database account
ActivityId: 00000000-0000-0000-0000-000000000000

상태 코드

BadRequest(400)

근본 원인

지속적인 백업 모드 및 여러 쓰기 위치는 함께 사용할 수 없음

완화 방법

해당 없음, 현재 지원되지 않습니다.


3.2


시나리오

  1. 고객은 자사를 기본 ID로 사용하여 지속적인 백업/Azure Synapse Link/전체 충실도 변경 피드/구체화된 뷰가 포함된 CMK db 계정을 만듭니다.
  2. 고객은 자사를 기본 ID로 사용하여 기존 계정에서 지속적인 백업/Azure Synapse Link/전체 충실도 변경 피드/구체화된 뷰를 사용하도록 설정합니다.

샘플 명령: az cosmosdb create -n mydb -g myresourcegroup --key-uri "https://myvault.vault.azure.net/keys/mykey" --assign-identity "[system]" --default-identity "FirstPartyIdentity" --backup-policy-type Continuous

오류 메시지

Setting Non-FPI default identity is required for dedicated storage account features. Please set a valid System or User Assigned Identity to default and retry the request.\r\nActivityId: 00000000-0000-0000-0000-000000000000

상태 코드

BadRequest(400)

근본 원인

지속적인 백업/Azure Synapse Link/전체 충실도 변경 피드/구체화된 뷰 기능에는 FirstPartyIdentity를 기본 ID로 지원하지 않는 전용 스토리지 계정이 필요합니다.

완화 방법

고객이 지속적인 백업/Synapse Link/전체 충실도 변경 피드/구체화된 뷰가 사용하도록 설정된 CMK 계정을 만들려는 경우 현재 유일하게 지원되는 기본 ID는 UserAssigned ID입니다. 기본 ID로 SystemAssignedIdentity를 사용하는 것은 고객이 기본 ID를 SystemAssigned ID &로 업데이트하고 키 자격 증명 모음과 db 계정이 동일한 테넌트에 있는 경우에만 지원됩니다.

UserAssigned ID를 사용하여 db 계정을 만들기 위한 샘플 명령입니다. az cosmosdb create -n mydb -g myresourcegroup --key-uri "https://myvault.vault.azure.net/keys/mykey" --assign-identity "/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/myresourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuserassignedidentity" --default-identity "UserAssignedIdentity=/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/myresourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuserassignedidentity&FederatedClientId=00000000-0000-0000-0000-000000000000"


3.3


시나리오

고객은 지속적인 백업/Synapse Link/ 전체 충실도 변경 피드/구체화된 뷰가 이미 사용하도록 설정된 CMK가 아닌 기존 계정에서 CMK를 사용하도록 설정하려고 합니다.

오류 메시지

Customer Managed Key enablement on an existing Analytical Store/Continuous Backup/Materialized View/Full Fidelity Change Feed enabled Account is not supported ActivityId: 00000000-0000-0000-0000-000000000000

상태 코드

BadRequest(400)

근본 원인

지속적인 백업/Azure Synapse Link/전체 충실도 변경 피드/구체화된 뷰가 이미 사용하도록 설정된 CMK가 아닌 기존 계정에서 CMK를 사용하도록 설정하는 것은 현재 개발 중이며 아직 지원되지 않습니다.

완화 방법

해당 없음, 현재 지원되지 않습니다.


3.4


시나리오

고객은 Azure Synapse Link가 이미 사용하도록 설정된 기존 db 계정에서 Azure Synapse Link(분석 스토리지라고도 함)를 해제하려고 합니다.

오류 메시지

EnableAnalyticalStorage cannot be disabled once it is enabled on an account.\r\nActivityId: 00000000-0000-0000-0000-000000000000, Microsoft.Azure.Documents.Common/2.14.0

상태 코드

BadRequest(400)

근본 원인

현재 Azure Synapse Link를 한번 설정하면 해제할 수 없습니다.

완화 방법

해당 없음, 현재 지원되지 않습니다.


3.5


시나리오

고객은 지속적인 백업 모드가 이미 사용하도록 설정된 기존 db 계정에서 지속적인 백업 모드(PITR이라고도 함)를 해제하려고 합니다.

오류 메시지

Continuous backup mode cannot be disabled once it is enabled on the account.\\r\\nActivityId: 00000000-0000-0000-0000-000000000000, Microsoft.Azure.Documents.Common/2.14.0\

상태 코드

BadRequest(400)

근본 원인

현재 지속적인 백업 모드는 한번 설정하면 해제할 수 없습니다.

완화 방법

해당 없음, 현재 지원되지 않습니다.


3.6


시나리오

고객은 구체화된 뷰가 이미 사용하도록 설정된 기존 db 계정에서 구체화된 뷰를 해제하려고 합니다.

오류 메시지

EnableMaterializedViews cannot be disabled once it is enabled on an account.\r\nActivityId: 00000000-0000-0000-0000-000000000000

상태 코드

BadRequest(400)

근본 원인

현재 구체화된 뷰는 한번 설정하면 해제할 수 없습니다.

완화 방법

해당 없음, 현재 지원되지 않습니다.


3.7


시나리오

고객은 다른 속성으로 지속적인 백업 모드를 사용하도록 설정하려고 합니다. 예: az cosmosdb update -n mydb -g myresourcegroup --backup-policy-type Continuous --enable-analytical-storage

오류 메시지

Cannot update continuous backup mode and other properties at the same time. ActivityId: 00000000-0000-0000-0000-000000000000

상태 코드

BadRequest(400)

근본 원인

기존 계정의 다른 속성으로 지속적인 백업 모드를 사용하도록 설정하는 것은 지원되지 않습니다.

완화 방법

기존 계정의 다른 속성 없이 지속적인 백업 모드를 사용하도록 설정합니다.


3.8


시나리오

고객은 지속적인 백업(PITR이라고도 함) 및 Azure Synapse Link(분석 스토리지라고도 함)가 모두 사용하도록 설정된 CMK 계정을 만들려고 합니다.

오류 메시지

Continuous backup mode cannot be enabled together with Storage Analytics feature.

상태 코드

BadRequest(400)

근본 원인

지속적인 백업(PITR이라고도 함) 및 Azure Synapse Link(분석 스토리지라고도 함)는 만드는 동안 동시에 사용할 수 없습니다. 그러나 고객은 지속적인 백업이 사용하도록 설정된 기존 db 계정에서 Azure Synapse Link를 사용하도록 설정할 수 있습니다.

완화 방법

해당 없음, 현재 지원되지 않습니다.


3.9


시나리오

고객은 전체 충실도 변경 피드가 사용하도록 설정된 CMK 계정을 만들려고 합니다.

오류 메시지

Customer Managed Key and Full Fidelity Change Feed cannot be enabled together for a global database account\r\nActivityId: 00000000-0000-0000-0000-000000000000

상태 코드

BadRequest(400)

근본 원인

현재 전역 데이터베이스 계정에서 고객 관리형 키 및 전체 충실도 변경 피드를 함께 사용할 수 없습니다.

완화 방법

해당 없음, 현재 지원되지 않습니다.


3.10


시나리오

고객은 지속적인 백업 모드가 이미 사용하도록 설정된 기존 db 계정에서 구체화된 뷰를 사용하도록 설정하려고 합니다.

오류 메시지

Cannot enable Materialized View when continuous backup mode is already enabled.\r\nActivityId: 00000000-0000-0000-0000-000000000000

상태 코드

BadRequest(400)

근본 원인

지속적인 백업 모드가 이미 사용하도록 설정된 경우 구체화된 뷰를 사용하도록 설정하는 것은 지원되지 않습니다.

완화 방법

해당 없음, 현재 지원되지 않습니다.


3.11


시나리오

고객은 구체화된 뷰가 사용하도록 설정된 기존 계정에서 지속적인 백업 모드를 사용하도록 설정하려고 합니다.

오류 메시지

Cannot enable continuous backup mode when Materialized View is already enabled.\r\nActivityId: 00000000-0000-0000-0000-000000000000

상태 코드

BadRequest(400)

근본 원인

구체화된 뷰가 이미 사용하도록 설정된 경우 지속적인 백업 모드를 사용하도록 설정할 수 없습니다.

완화 방법

해당 없음, 현재 지원되지 않습니다.


3.12


시나리오

고객은 구체화된 뷰가 사용하도록 설정된 기존 계정에서 전체 충실도 변경 피드를 사용하도록 설정하려고 합니다.

오류 메시지

Cannot enable full fidelity change feed when materialized view is already enabled.\r\nActivityId: 00000000-0000-0000-0000-000000000000

상태 코드

BadRequest(400)

근본 원인

구체화된 뷰가 이미 사용하도록 설정된 경우 전체 충실도 변경 피드를 사용하도록 설정할 수 없습니다.

완화 방법

해당 없음, 현재 지원되지 않습니다.



4.1


시나리오

  1. 구체화된 뷰가 사용하도록 설정된 Mongo/Gremlin/Table CMK db 계정을 프로비전합니다.
  2. Mongo/Gremlin/Table CMK db 계정에서 구체화된 뷰를 사용하도록 설정합니다.

오류 메시지

MaterializedViews is not supported on this account type.\r\nActivityId: 00000000-0000-0000-0000-000000000000

상태 코드

BadRequest(400)

근본 원인

SQL 및 Cassandra API 모드만 구체화된 뷰와 호환됩니다. Mongo, Gremlin, Table API는 현재 지원되지 않습니다.

완화 방법

  1. SQL 및 Cassandra API만 사용하도록 설정된 구체화된 뷰를 사용하여 CMK db 계정을 프로비전합니다.
  2. SQL 및 Cassandra API만 사용하여 CMK 계정에서 구체화된 뷰를 사용하도록 설정합니다.

4.2


시나리오

  1. 고객은 지속적인 백업 모드가 사용하도록 설정된 Cassandra API를 사용하여 CMK db 계정을 만듭니다.
  2. 고객은 Cassandra API를 사용하여 CMK db 계정에서 지속적인 백업 모드를 사용하도록 설정합니다.

오류 메시지

Continuous backup mode cannot be enabled together with Cassandra database account\r\nActivityId: e2b1b7c8-211a-4fa5-bd9c-253e6c65d6f0, Microsoft.Azure.Documents.Common/2.14.0

상태 코드

BadRequest(400)

근본 원인

Cassandra 데이터베이스와 지속적인 백업 모드는 동시에 사용하도록 설정할 수 없습니다.

완화 방법

해당 없음(현재 지원되지 않음)


4.3


시나리오

  1. 고객은 Gremlin V1 및 지속적인 백업 모드가 모두 사용하도록 설정된 db 계정을 만들려고 합니다.
  2. 고객은 Gremlin API를 사용하여 기존 db 계정에서 지속적인 백업 모드를 사용하도록 설정하려고 합니다.

오류 메시지

Continuous backup mode cannot be enabled together with Gremlin V1 enabled database account\\r\\nActivityId: 00000000-0000-0000-0000-000000000000

상태 코드

BadRequest(400)

근본 원인

현재 Gremlin V1 계정과 함께 지속적인 백업 모드를 사용하도록 설정할 수 없습니다.

완화 방법

예상 동작.


4.4


시나리오

  1. 고객은 Table API 및 지속적인 백업 모드가 모두 사용하도록 설정된 db 계정을 만들려고 합니다.
  2. 고객은 Table API를 사용하여 기존 db 계정에서 지속적인 백업 모드를 사용하도록 설정하려고 합니다.

오류 메시지

Continuous backup mode cannot be enabled together with table enabled database account\\r\\nActivityId: 00000000-0000-0000-0000-000000000000

상태 코드

BadRequest(400)

근본 원인

지속적인 백업 모드는 테이블 지원 데이터베이스 계정과 함께 사용할 수 없습니다.

완화 방법

예상 동작.



5.1


시나리오

고객이 Azure Synapse Link를 사용하여 Azure Synapse Link가 사용하도록 설정한 Cosmos DB CMK 계정의 데이터를 쿼리하려고 하지만 동시에 키 자격 증명 모음 액세스가 손실됩니다.

예를 들어 고객은 Azure Synapse Studio의 Spark Notebook을 사용하여 Azure Synapse Link를 통해 Cosmos DB 데이터를 쿼리하려고 하는 동시에 Key Vault 액세스 정책에서 현재 기본 ID의 “GET/WRAP/Unwrap” 권한을 일시적으로 제거했습니다.

오류 메시지

Py4JJavaError                             Traceback (most recent call last)
<ipython-input-30-668efb4> in <module>
----> 1 df = spark.read.format("cosmos.olap").option("spark.synapse.linkedService", "CosmosDb1").option("spark.cosmos.container", "cc").load()
      2 
      3 display(df.limit(10))

/opt/spark/python/lib/pyspark.zip/pyspark/sql/readwriter.py in load(self, path, format, schema, **options)
    162             return self._df(self._jreader.load(self._spark._sc._jvm.PythonUtils.toSeq(path)))
    163         else:
--> 164             return self._df(self._jreader.load())
    165 
    166     def json(self, path, schema=None, primitivesAsString=None, prefersDecimal=None,

~/cluster-env/env/lib/python3.8/site-packages/py4j/java_gateway.py in __call__(self, *args)
   1319 
   1320         answer = self.gateway_client.send_command(command)
-> 1321         return_value = get_return_value(
   1322             answer, self.gateway_client, self.target_id, self.name)
   1323 

/opt/spark/python/lib/pyspark.zip/pyspark/sql/utils.py in deco(*a, **kw)
    109     def deco(*a, **kw):
    110         try:
--> 111             return f(*a, **kw)
    112         except py4j.protocol.Py4JJavaError as e:
    113             converted = convert_exception(e.java_exception)

~/cluster-env/env/lib/python3.8/site-packages/py4j/protocol.py in get_return_value(answer, gateway_client, target_id, name)
    324             value = OUTPUT_CONVERTER[type](answer[2:], gateway_client)
    325             if answer[1] == REFERENCE_TYPE:
--> 326                 raise Py4JJavaError(
    327                     "An error occurred while calling {0}{1}{2}.\n".
    328                     format(target_id, ".", name), value)

Py4JJavaError: An error occurred while calling o1292.load.
: org.apache.hadoop.fs.azure.AzureException: java.util.NoSuchElementException: An error occurred while enumerating the result, check the original exception for details.
	at org.apache.hadoop.fs.azure.AzureNativeFileSystemStore.retrieveMetadata(AzureNativeFileSystemStore.java:2223)
...
**Caused by: com.microsoft.azure.storage.StorageException: The key vault key is not found to unwrap the encryption key.**
	at com.microsoft.azure.storage.StorageException.translateException(StorageException.java:87)
	at com.microsoft.azure.storage.core.StorageRequest.materializeException(StorageRequest.java:315)
	at com.microsoft.azure.storage.core.ExecutionEngine.executeWithRetry(ExecutionEngine.java:185)
	at com.microsoft.azure.storage.core.LazySegmentedIterator.hasNext(LazySegmentedIterator.java:109)
  

상태 코드

BadRequest(400)

근본 원인

고객이 일시적으로 Key Vault 액세스 정책에서 현재 기본 ID의 “GET/WRAP/Unwrap” 권한을 제거했으므로 Cosmos DB 계정과 전용 스토리지 계정 모두 더 이상 키 자격 증명 모음에 액세스할 수 없으며 해지 상태가 됩니다. Azure Synapse Link는 해지 상태인 전용 스토리지 계정의 데이터를 쿼리합니다. “원인: com.microsoft.azure.storage.StorageException: 암호화 키 래핑을 해제할 키 자격 증명 모음 키를 찾을 수 없습니다.”

완화 방법

고객은 “Key Vault 해지 상태 문제 해결 가이드”에 따라 키 자격 증명 모음 액세스 권한을 다시 부여해야 합니다.