Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo offre informazioni utili per risolvere i problemi della chiave gestita dal cliente tra tenant
Collegamenti alla documentazione pubblica
- Documentazione della chiave gestita dal cliente di Cosmos DB:
- Documentazione sull'Identità Gestita (MSI) di Cosmos DB:
L'account Cosmos DB è in stato di revoca
- Key Vault è stato eliminato?
- Se SÌ, recuperarlo dal cestino.
- La chiave di Key Vault è disabilitata?
- Se sì, riabilitare la chiave.
- Controllare che l'opzione Key Vault -> Rete -> Firewall e reti virtuali sia impostata su "Consenti accesso pubblico da tutte le reti" o "Consenti accesso pubblico da reti virtuali e indirizzi IP specifici". Se l'opzione successiva è selezionata, controllare se gli elenchi consentiti del firewall sono configurati correttamente e selezionare l'opzione "Consenti che i servizi Microsoft attendibili ignorino questo firewall".
- Controllare se a Key Vault mancano le autorizzazioni Wrap/Unwrap/Get nella policy di accesso seguendo la documentazione relativa alla chiave gestita dal cliente di Cosmos DB:
- Se SÌ, concedere nuovamente l'accesso
- Nel caso in cui l'app multi-tenant usata nell'identità predefinita sia stata erroneamente eliminata
- Se SÌ, seguire la documentazione per il ripristino dell'applicazione per ripristinare l'applicazione.
- Nel caso in cui l'identità UserAssigned usata nell'identità predefinita sia stata erroneamente eliminata
- Se SÌ, poiché l'identità UserAssigned non può essere recuperata dopo essere stata eliminata. Il cliente deve creare una nuova identità UserAssigned per l'account del database e quindi seguire esattamente gli stessi passaggi di configurazione durante il provisioning, come impostare FederatedCredential con l'app multi-tenant. Infine, il cliente deve aggiornare l'identità predefinita dell'account di database con la nuova identità UserAssigned.
- Esempio:
_az cosmosdb update --resource-group \<rg\> --name \<dbname\> --default-identity "UserAssignedIdentity=\<New\_UA\_Resource\_ID1\>&FederatedClientId=00000000-0000-0000-0000-000000000000"_. - Il cliente deve anche rimuovere l'identità UserAssigned precedente dall'account Cosmos DB, che è stato già eliminato in Azure. Comando di esempio:
az cosmosdb identity remove --resource-group \<rg\> --name \<dbname\> --identities \<OLD\_UA\_Resource\_ID\>
- Esempio:
- Attendere 1 ora per consentire il ripristino dell'account dallo stato di revoca
- Provare ad accedere al piano dati di Cosmos DB effettuando una richiesta all'API SDK/REST o accedendo a Esplora dati del portale di Azure per visualizzare un documento.
- Se SÌ, poiché l'identità UserAssigned non può essere recuperata dopo essere stata eliminata. Il cliente deve creare una nuova identità UserAssigned per l'account del database e quindi seguire esattamente gli stessi passaggi di configurazione durante il provisioning, come impostare FederatedCredential con l'app multi-tenant. Infine, il cliente deve aggiornare l'identità predefinita dell'account di database con la nuova identità UserAssigned.
1. Casi di errore durante la creazione o l'aggiornamento del piano di controllo di base
1.1
Scenario
Il cliente crea un account di database per la chiave gestita dal cliente tramite l'interfaccia della riga di comando di Azure o il modello di ARM con la configurazione del firewall di Key Vault "Consentire ai servizi Microsoft attendibili di ignorare il firewall?" deselezionata.
Messaggio di errore
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=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb\\r\\nVault: mykeyvault;location=eastus\",\"innererror\":{\"code\":\" **ForbiddenByFirewall** \"}}}\r\nActivityId: 00000000-0000-0000-0000-000000000000,
Codice di stato
Non consentito (403)
Causa radice
Key Vault non è configurato correttamente per consentire il bypass della rete virtuale o del servizio attendibile. Il provisioning rileva che non riesce ad accedere a Key Vault e quindi genera l'errore. | | Mitigazione | Passa al portale di Azure -> Key Vault -> Rete -> Firewall e reti virtuali -> Verificare che siano selezionate le opzioni "Consenti accesso pubblico da reti virtuali e indirizzi IP specifici" e "Consentire ai servizi Microsoft attendibili di ignorare il firewall?" -> Salva
1.2
Scenario
- Un cliente tenta di creare un account di chiave gestita dal cliente con un URI della chiave di Key Vault che non esiste nel tenant.
- Un cliente tenta di creare un account di chiave gestita dal cliente tra tenant con l'account di database e l'insieme di credenziali delle chiavi in tenant diversi, ma ha dimenticato di includere "&FederatedClientId=<00000000-0000-0000-0000-000000000000>" nell'identità predefinita.
Ad esempio: az cosmosdb create -n mydb -g myresourcegroup --key-uri "https://myvault.vault.azure.net/keys/mykey" --assign-identity "/subscriptions/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/resourceGroups/myresourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuserassignedidentity" --default-identity "UserAssignedIdentity=/subscriptions/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/resourceGroups/myresourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuserassignedidentity"
Manca "&FederatedClientId=<00000000-0000-0000-0000-000000000000>" nell'identità predefinita.
- Il cliente tenta di creare un account di chiave gestita dal cliente tra tenant con l'account di database e l'insieme di credenziali delle chiavi in tenant diversi includendo "&FederatedClientId=<00000000-0000-0000-0000-000000000000>" nell'identità predefinita. Tuttavia, l'app multi-tenant non esiste o è stata eliminata.
Messaggio di errore
Database account creation failed. Operation Id: 00000000-0000-0000-0000-000000000000, Error: Error contacting the Azure Key Vault resource. Please try again.
Codice di stato
ServizioNonDisponibile(503)
Causa radice
Scenario 1: Previsto
Nello scenario 2: la mancanza di "&FederatedClientId=<00000000-0000-0000-0000-000000000000>" fa sì che il sistema creda che l'insieme di credenziali delle chiavi si trovi nello stesso tenant dell'account del database; tuttavia, il cliente potrebbe non disporre di un insieme di credenziali delle chiavi con lo stesso nome nello stesso tenant, il che provoca questo errore.
Nello scenario 3: previsto perché l'app multi-tenant non è presente o è stata eliminata.
Mitigazione
Per lo scenario 1: il cliente deve seguire la sezione Configurare l'istanza di Azure Key Vault nella documentazione relativa alla configurazione delle chiavi gestite dal cliente per recuperare l'URI della chiave di Key Vault
Per lo scenario 2: il cliente deve aggiungere "&FederatedClientId=<00000000-0000-0000-0000-000000000000>" nell'identità predefinita.
Per lo scenario 3: il cliente deve usare il FederatedClientId corretto o ripristinare l'app multi-tenant usando la documentazione dell'applicazione di ripristino
1.3
Scenario
Il cliente tenta di creare/aggiornare un account CMK con un URI della chiave di Key Vault non valido.
Messaggio di errore
Provided KeyVaultKeyUri http://mykeyvault.vault1.azure2.net3/keys4/mykey is Invalid. ActivityId: 00000000-0000-0000-0000-000000000000, Microsoft.Azure.Documents.Common/2.14.0
Codice di stato
BadRequest(400)
Causa radice
L'URI della chiave di input di Key Vault non è valido.
Mitigazione
Il cliente deve attenersi alla documentazione di configurazione delle chiavi gestite dal cliente per recuperare dal portale l'URI della chiave di Key Vault corretto.
1.4
Scenario
- Un cliente sta tentando di creare un account CMK utilizzando "keyVaultKeyUri" con una versione dell'API inferiore a "2019-12-12".
- Il cliente aggiorna il "keyVaultKeyUri" di un account CMK utilizzando una versione dell'API precedente al "2019-12-12".
- Il cliente tenta di aggiornare il valore di "keyVaultKeyUri" in un account della chiave gestita dal cliente con un valore di "keyVaultKeyUri" non Null in un valore Null. (Conversione dell'account della chiave gestita dal cliente in un account di diverso tipo)
Messaggio di errore
ActivityId: 00000000-0000-0000-0000-000000000000
Codice di stato
BadRequest(400)
Causa radice
- cliente che usa una versione dell'API inferiore a "2019-12-12" mentre tenta di aggiornare KeyVaultKeyUri.
- La conversione di un account CMK in un account non CMK attualmente non è supportata.
Mitigazione
N/D, attualmente non supportato.
1.5
Scenario
Un cliente sta cercando di aggiornare l'account CMK di Cosmos DB che si trova nello stato di revoca. Si noti che l'aggiornamento del cliente non prevede né l'aggiornamento dell'identità predefinita né l'assegnazione/l'annullamento dell'assegnazione dell'identità del servizio gestito.
Messaggio di errore
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
Codice di stato
BadRequest(400)
Causa radice
Durante lo stato di revoca, è consentito solo aggiornare l'identità predefinita o assegnare/annullare l'assegnazione dell'identità del servizio gestito nell'account. Non vengono consentiti altri aggiornamenti fino a quando l'account di database non viene ripristinato dallo stato di revoca.
Mitigazione
Il cliente deve attenersi alla "Guida alla risoluzione dei problemi dello stato di revoca di Key Vault" per concedere nuovamente l'accesso a Key Vault.
1.6
Scenario
Un cliente sta tentando di creare un account CMK db con SystemAssigned come identità predefinita.
Comando di esempio: 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
Messaggio di errore
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
Codice di stato
BadRequest(400)
Causa radice
L'identità SystemAssigned come identità predefinita non è attualmente supportata nella procedura di creazione dell'account di database. L'identità SystemAssigned come identità predefinita è supportata solo nello scenario in cui il cliente aggiorna l'identità predefinita in SystemAssignedIdentity e l'insieme di credenziali delle chiavi si trova nello stesso tenant dell'account di database.
Mitigazione
Se un cliente desidera creare un account CMK con Backup continuo, Collegamento a Synapse, Feed di modifiche con massima fedeltà o Vista materializzata abilitata, l'identità UserAssigned è attualmente l'unica identità predefinita supportata. Si noti che SystemAssignedIdentity come identità predefinita è supportata solo nello scenario in cui il cliente aggiorna l'identità predefinita in identità SystemAssigned e l'insieme di credenziali delle chiavi si trova nello stesso tenant dell'account di database.
Comando di esempio per la creazione di un account db usando l'identità UserAssigned. (Fare riferimento a "Effettuare il provisioning di un account di chiave gestita dal cliente tra tenant tramite l'identità assegnata dall'utente")
1.7
Scenario
Un cliente sta tentando di aggiornare il KeyVaultKeyUri di un account di database CMK cross-tenant esistente con un nuovo archivio di chiavi, che ha un tenant diverso rispetto al vecchio archivio di chiavi.
Messaggio di errore
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.
Codice di stato
BadRequest(400)
Causa radice
Quando l'identità predefinita è impostata su Cross Tenant con "FedereatedClientId", è consentito l'aggiornamento dell'URI della chiave di Key Vault solo a un nuovo URI con lo stesso tenant di quello precedente. Non è consentito aggiornare l'URI della chiave di Key Vault a un tenant diverso a causa di motivi di sicurezza.
Mitigazione
Non disponibile, non supportato
1.8
Scenario
Il cliente tenta di modificare l'identità predefinita da "UserAssignedIdentity=<UA_Resource_ID>&FederatedClientId=00000000-0000-0000-0000-000000000000" a "SystemAssignedIdentity&FederatedClientId=00000000-0000-0000-0000-000000000000" in un account di chiave gestita dal cliente tra tenant.
Messaggio di errore
Cross-tenant CMK is not supported with System Assigned identities as Default identities. Please use a User Assigned Identity instead.
Codice di stato
BadRequest(400)
Causa radice
L'identità systemAssigned non è attualmente supportata nello scenario di chiave gestita dal cliente tra tenant.
Mitigazione
Non disponibile, non supportato
1.9
Scenario
• Un cliente tenta di effettuare il provisioning di un account di chiave gestita dal cliente tra tenant con FirstPartyIdentity come identità predefinita.
• Il cliente tenta di modificare l'identità predefinita da "UserAssignedIdentity=<UA_Resource_ID>&FederatedClientId=00000000-0000-0000-0000-000000000000" a "FirstPartyIdentity" in un account di chiave gestita dal cliente tra tenant esistente.
Messaggio di errore
Cross-tenant CMK is not supported with First Party identities as Default identities. Please use a User Assigned identity instead
Codice di stato
BadRequest(400)
Causa radice
L'identità First Party non è attualmente supportata nello scenario di chiave gestita dal cliente tra tenant
Mitigazione
Non disponibile, non supportato
2. Casi di errore del piano dati
2.1
Scenario
Un cliente tenta di eseguire query su documenti SQL/entità di tabella/vertice grafico con DataPlane di Cosmos DB tramite SDK/DocumentDBStudio/Esplora dati del portale mentre l'account di database è in stato di revoca.
Messaggio di errore
{"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
Codice di stato
Non consentito (403)
Causa radice
Potrebbe esserci più di un motivo per cui l'account di database entra in stato di revoca; fare riferimento ai "sei controlli" della "Guida alla risoluzione dei problemi di revoca dello stato di Key Vault".
Mitigazione
Il cliente deve attenersi alla "Guida alla risoluzione dei problemi dello stato di revoca di Key Vault" per eseguire il ripristino dallo stato di revoca.
2.2
Scenario
Un cliente tenta di eseguire query su Cassandra Row con DataPlane di Cosmos DB tramite SDK/DocumentDBStudio/Esplora dati del portale mentre l'account di database è in stato di revoca.
Messaggio di errore
{"readyState":4,"responseText":"","status":401,"statusText":"error"}
Codice di stato
Non autorizzato (401)
Causa radice
Potrebbe esserci più di un motivo per cui l'account di database entra in stato di revoca; fare riferimento ai "sei controlli" della "Guida alla risoluzione dei problemi di revoca dello stato di Key Vault".
Mitigazione
Il cliente deve attenersi alla "Guida alla risoluzione dei problemi dello stato di revoca di Key Vault" per eseguire il ripristino dallo stato di revoca.
2.3
Scenario
Un cliente tenta di eseguire query sull'API Mongo con DataPlane di Cosmos DB tramite SDK/DocumentDBStudio/Esplora dati del portale mentre l'account di database è in stato di revoca.
Messaggio di errore
Error querying documents: An exception occurred while opening a connection to the server., Payload: {<redacted>}
Codice di stato
Errore interno del server (500)
Causa radice
Potrebbe esserci più di un motivo per cui l'account di database entra in stato di revoca; fare riferimento ai "sei controlli" della "Guida alla risoluzione dei problemi di revoca dello stato di Key Vault".
Mitigazione
Il cliente deve attenersi alla "Guida alla risoluzione dei problemi dello stato di revoca di Key Vault" per eseguire il ripristino dallo stato di revoca.
2.4
Scenario
Un cliente tenta di creare/modificare una raccolta/documenti (o altra denominazione in base al tipo di API) con DataPlane di Cosmos DB tramite SDK/DocumentDBStudio/Esplora dati del portale mentre l'account di database è in stato di revoca.
Messaggio di errore
Request timed out.
Codice di stato
Timeout richiesta (408)
Causa radice
Potrebbe esserci più di un motivo per cui l'account di database entra in stato di revoca; fare riferimento ai "sei controlli" della "Guida alla risoluzione dei problemi di revoca dello stato di Key Vault".
Mitigazione
Il cliente deve attenersi alla "Guida alla risoluzione dei problemi dello stato di revoca di Key Vault" per eseguire il ripristino dallo stato di revoca.
3. Chiave gestita dal cliente tra tenant di Cosmos DB con Backup continuo/Collegamento ad Azure Synapse/Feed di modifiche con massima fedeltà/Vista materializzata
3.1
Scenario
- I clienti provano a creare un account di database sia con la modalità di backup continuo che con varie posizioni di scrittura abilitate
- I clienti provano ad abilitare la modalità di backup continuo in un account di database esistente con varie posizioni di scrittura abilitate
- I clienti provano ad abilitare più posizioni di scrittura in un account di database esistente con la modalità di backup continuo abilitata.
Messaggio di errore
Continuous backup mode and multiple write locations cannot be enabled together for a global database account
ActivityId: 00000000-0000-0000-0000-000000000000
Codice di stato
BadRequest(400)
Causa radice
La modalità di backup continuo e più percorsi di scrittura non possono essere abilitati insieme
Mitigazione
N/D, attualmente non supportato.
3.2
Scenario
- Il cliente crea un account di database per la chiave gestita dal cliente con Backup continuo/Collegamento ad Azure Synapse/Feed di modifiche con massima fedeltà/Vista materializzata con FirstPartyIdentity come identità predefinita.
- Il cliente abilita Backup continuo/Collegamento ad Azure Synapse/Feed di modifiche con massima fedeltà/Vista materializzata in un account esistente con First Party Identity come identità predefinita.
Comando di esempio: 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
Messaggio di errore
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
Codice di stato
BadRequest(400)
Causa radice
Le funzionalità Backup continuo/Collegamento ad Azure Synapse/Feed di modifiche con massima fedeltà/Vista materializzata richiedono un account di archiviazione dedicato, che non supporta FirstPartyIdentity come identità predefinita.
Mitigazione
Se un cliente vuole creare un account CMK con backup continuo, collegamento a Synapse, feed di modifiche con massima fedeltà o vista materializzata abilitata, l'identità UserAssigned è l'unica identità predefinita attualmente supportata. L'identità SystemAssigned come identità predefinita è supportata nello scenario in cui il cliente aggiorna l'identità predefinita in identità SystemAssigned e l'insieme di credenziali delle chiavi si trova nello stesso tenant dell'account di database.
Comando di esempio per la creazione di un account db usando l'identità UserAssigned.
az cosmosdb create -n mydb -g myresourcegroup --key-uri "https://myvault.vault.azure.net/keys/mykey" --assign-identity "/subscriptions/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/resourceGroups/myresourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuserassignedidentity" --default-identity "UserAssignedIdentity=/subscriptions/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/resourceGroups/myresourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myuserassignedidentity&FederatedClientId=00000000-0000-0000-0000-000000000000"
3.3
Scenario
Il cliente prova ad abilitare CMK nell'account non cmk esistente con backup continuo/Collegamento ad Azure Synapse/Feed di modifiche con fedeltà completa/Visualizzazione materializzata già abilitata.
Messaggio di errore
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
Codice di stato
BadRequest(400)
Causa radice
L'abilitazione della chiave gestita dal cliente in un account di diverso tipo esistente con le funzionalità Backup continuo/Collegamento ad Azure Synapse/Feed di modifiche con massima fedeltà/Vista materializzata già abilitate è attualmente in fase di sviluppo e non è ancora supportata.
Mitigazione
N/D, attualmente non supportato.
3.4
Scenario
Il cliente prova a disattivare la funzionalità Collegamento ad Azure Synapse (chiamata anche archiviazione analitica) su account di database esistenti in cui questa funzionalità è già abilitata.
Messaggio di errore
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
Codice di stato
BadRequest(400)
Causa radice
Attualmente, il collegamento ad Azure Synapse una volta attivato non può essere disattivato.
Mitigazione
N/D, attualmente non supportato.
3.5
Scenario
Il cliente prova a disattivare la modalità di backup continuo, detta anche ripristino temporizzato (PITR) negli account db esistenti con la modalità di backup continuo già abilitata.
Messaggio di errore
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\
Codice di stato
BadRequest(400)
Causa radice
Attualmente, la modalità di backup continuo una volta attivata non può essere disattivata.
Mitigazione
N/D, attualmente non supportato.
3.6
Scenario
Il cliente tenta di disattivare la vista materializzata sugli account di database esistenti in cui è già abilitata.
Messaggio di errore
EnableMaterializedViews cannot be disabled once it is enabled on an account.\r\nActivityId: 00000000-0000-0000-0000-000000000000
Codice di stato
BadRequest(400)
Causa radice
Oggi, la visualizzazione materializzata una volta attivata, non può essere disattivata.
Mitigazione
N/D, attualmente non supportato.
3.7
Scenario
I clienti provano ad abilitare la modalità Backup continuo con qualsiasi altra proprietà.
Ad esempio: az cosmosdb update -n mydb -g myresourcegroup --backup-policy-type Continuous --enable-analytical-storage
Messaggio di errore
Cannot update continuous backup mode and other properties at the same time. ActivityId: 00000000-0000-0000-0000-000000000000
Codice di stato
BadRequest(400)
Causa radice
L'abilitazione della modalità di backup continuo insieme ad altre proprietà su un account esistente non è supportata.
Mitigazione
In un account esistente è possibile abilitare la modalità di backup continuo senza altre proprietà.
3.8
Scenario
Il cliente prova a creare un account CMK con entrambi i servizi di backup continuo (chiamato anche ripristino puntuale) e Azure Synapse Link (chiamata anche archiviazione analitica) abilitati.
Messaggio di errore
Continuous backup mode cannot be enabled together with Storage Analytics feature.
Codice di stato
BadRequest(400)
Causa radice
Il backup continuo (detto anche PITR) e il collegamento ad Azure Synapse (detto anche archiviazione analitica) non possono essere abilitati durante la creazione contemporaneamente. Il cliente, tuttavia, può abilitare Collegamento ad Azure Synapse in un account di database esistente con la funzionalità Backup continuo abilitata.
Mitigazione
N/D, attualmente non supportato.
3.9
Scenario
Il cliente tenta di creare un account di chiave gestita dal cliente con la funzionalità Feed di modifiche con massima fedeltà abilitata.
Messaggio di errore
Customer Managed Key and Full Fidelity Change Feed cannot be enabled together for a global database account\r\nActivityId: 00000000-0000-0000-0000-000000000000
Codice di stato
BadRequest(400)
Causa radice
La chiave gestita dal cliente e il feed di modifiche con fedeltà completa non possono essere abilitati insieme per un account di database globale.
Mitigazione
N/D, attualmente non supportato.
3.10
Scenario
Il cliente prova ad abilitare la Vista materializzata in un account di database esistente con la modalità di backup continuo già abilitata.
Messaggio di errore
Cannot enable Materialized View when continuous backup mode is already enabled.\r\nActivityId: 00000000-0000-0000-0000-000000000000
Codice di stato
BadRequest(400)
Causa radice
Abilitare la visualizzazione materializzata quando la modalità di backup continuo è già abilitata non è supportato.
Mitigazione
N/D, attualmente non supportato.
3.11
Scenario
Il cliente prova ad abilitare la modalità Backup continuo in un account esistente con la funzionalità Vista materializzata abilitata.
Messaggio di errore
Cannot enable continuous backup mode when Materialized View is already enabled.\r\nActivityId: 00000000-0000-0000-0000-000000000000
Codice di stato
BadRequest(400)
Causa radice
Non è possibile abilitare la modalità Backup continuo se è già abilitata la funzionalità Vista materializzata
Mitigazione
N/D, attualmente non supportato.
3.12
Scenario
Il cliente tenta di abilitare feed di modifiche con massima fedeltà in un account esistente con la funzionalità Vista materializzata abilitata.
Messaggio di errore
Cannot enable full fidelity change feed when materialized view is already enabled.\r\nActivityId: 00000000-0000-0000-0000-000000000000
Codice di stato
BadRequest(400)
Causa radice
Non è possibile abilitare il feed di modifiche con massima fedeltà se la funzionalità Vista materializzata è già abilitata
Mitigazione
N/D, attualmente non supportato.
4. Casi di errore di compatibilità tra più API di Cosmos DB e Backup continuo/Collegamento ad Azure Synapse/Feed di modifiche con massima fedeltà/Vista materializzata
4.1
Scenario
- Effettuare il provisioning di account di database per la chiave gestita dal cliente con Mongo/Gremlin/Table con la funzionalità Viste materializzate abilitata.
- Abilitare Viste materializzate in account di database per la chiave gestita dal cliente con Mongo/Gremlin/Table.
Messaggio di errore
MaterializedViews is not supported on this account type.\r\nActivityId: 00000000-0000-0000-0000-000000000000
Codice di stato
BadRequest(400)
Causa radice
Solo le API SQL e Cassandra sono compatibili con Vista materializzata. Le API Mongo, Gremlin e Table non sono attualmente supportate.
Mitigazione
- È possibile eseguire il provisioning di un account di database CMK con le viste materializzate abilitate, utilizzando solo le API SQL e Cassandra.
- Abilita le viste materializzate su un account CMK utilizzando solo le API SQL e Cassandra.
4.2
Scenario
- Il cliente crea un account di database CMK utilizzando l'API Cassandra con la modalità di continuo backup abilitata.
- Il cliente abilita la modalità Backup continuo in un account di database per la chiave gestita dal cliente usando l'API Cassandra.
Messaggio di errore
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
Codice di stato
BadRequest(400)
Causa radice
Non è possibile abilitare la modalità di backup continuo insieme al database Cassandra
Mitigazione
N/D, attualmente non supportato.
4.3
Scenario
- Il cliente prova a creare un account di database con l'API Gremlin V1 e la modalità Backup continuo abilitate.
- Il cliente prova ad abilitare la modalità Backup continuo in un account di database esistente con l'API Gremlin.
Messaggio di errore
Continuous backup mode cannot be enabled together with Gremlin V1 enabled database account\\r\\nActivityId: 00000000-0000-0000-0000-000000000000
Codice di stato
BadRequest(400)
Causa radice
La modalità di backup continuo non può essere abilitata insieme all'account Gremlin V1 al momento.
Mitigazione
Comportamento previsto.
4.4
Scenario
- Il cliente prova a creare un account di database con l'API Table e la modalità Backup continuo abilitate.
- Il cliente prova ad abilitare la modalità Backup continuo in un account di database esistente con l'API Table.
Messaggio di errore
Continuous backup mode cannot be enabled together with table enabled database account\\r\\nActivityId: 00000000-0000-0000-0000-000000000000
Codice di stato
BadRequest(400)
Causa radice
La modalità di backup continuo non può essere abilitata insieme all'account di database abilitato per la tabella.
Mitigazione
Comportamento previsto.
5. Casi di errore di Collegamento ad Azure Synapse
5.1
Scenario
Il cliente prova a usare Azure Synapse Link per eseguire query sui dati da un account CMK di Cosmos DB con Azure Synapse Link abilitato, tuttavia allo stesso tempo l'accesso a Key Vault è stato perso.
Ad esempio, il cliente prova a usare ilnotebook Spark di Azure Synapse Studio per eseguire query sui dati di Cosmos DB tramite Collegamento ad Azure Synapse ma, al tempo stesso, il cliente ha rimosso per un periodo l'autorizzazione "GET/WRAP/Unwrap" dell'identità predefinita corrente dai criteri di accesso di Key Vault.
Messaggio di errore
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)
Codice di stato
BadRequest(400)
Causa radice
Poiché il cliente ha rimosso l'autorizzazione "GET/WRAP/Unwrap" dell'identità predefinita corrente dai criteri di accesso di Key Vault per un periodo di tempo, sia l'account Cosmos DB che l'account di archiviazione dedicato non potranno più accedere a Key Vault ed entreranno in stato di revoca. Collegamento ad Azure Synapse eseguirà query sui dati dell'account di archiviazione dedicato, che è in stato di revoca: "Caused by: com.microsoft.azure.storage.StorageException: The key vault key is not found to unwrap the encryption key".
Mitigazione
Il cliente deve attenersi alla "Guida alla risoluzione dei problemi dello stato di revoca di Key Vault" per concedere nuovamente l'accesso a Key Vault.