Guida alla risoluzione dei problemi della chiave gestita dal cliente tra tenant
SI APPLICA A: NoSQL
MongoDB
Cassandra
Gremlin
Tabella
Questo articolo offre informazioni utili per risolvere gli errori della chiave gestita dal cliente tra tenant
Collegamenti alla documentazione pubblica
- Documentazione della chiave gestita dal cliente di Cosmos DB:
- Documentazione dell'identità del servizio gestita di Cosmos DB:
L'account Cosmos DB è in stato di revoca
- Key Vault è stato eliminato?
- Se SÌ, recuperarlo dal cestino.
- Key Vault è stato disabilitato?
- Se SÌ, riabilitarlo.
- Controllare che il parametro Key Vault -> Rete -> Firewalls e reti virtuali sia impostato su "Consenti accesso pubblico da tutte le reti" o "Consenti accesso pubblico da reti virtuali e indirizzi IP specifici". Se è selezionata la seconda opzione, verificare che gli elenchi di elementi consentiti dal firewall siano configurati correttamente e che sia selezionata l'opzione "Consentire ai servizi Microsoft attendibili di ignorare il firewall?".
- Controllare che Key Vault disponga delle autorizzazioni per ottenere la chiave, eseguire il wrapping della chiave e annullare il wrapping della chiave nei criteri di accesso specificati nella Documentazione della 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 nell'account di database e quindi seguire la stessa procedura di configurazione durante il provisioning, ad esempio impostando FedereatedCrdential 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 la precedente identità UserAssigned dall'account Cosmos DB 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 nell'account di database e quindi seguire la stessa procedura di configurazione durante il provisioning, ad esempio impostando FedereatedCrdential 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 Resource Manager 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=ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0\\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 genera quindi 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/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"
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. L'app multi-tenant, tuttavia, 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
ServiceUnavailable(503)
Causa radice
Nello scenario 1: Previsto
Nello scenario 2: data la mancanza di "&FederatedClientId=<00000000-0000-0000-0000-000000000000>", il sistema crede che l'insieme di credenziali delle chiavi si trovi nello stesso tenant dell'account di database, ma il cliente potrebbe non avere l'insieme di credenziali delle chiavi con lo stesso nome nello stesso tenant, generando un errore.
Nello scenario 3: previsto perché l'app multi-tenant non è presente o è stata eliminata.
Mitigazione
Per lo scenario 1: il cliente deve attenersi a quanto descritto nella sezione Configurare l'istanza di Azure Key Vault nella documentazione di configurazione della chiave gestita 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 valore FederatedClientId corretto o ripristinare l'app multi-tenant facendo riferimento alla documentazione per il ripristino dell'applicazione
1.3
Scenario
Il cliente tenta di creare/aggiornare un account di chiave gestita dal cliente 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 della chiave gestita dal cliente con “keyVaultKeyUri” mentre usa una versione dell'API inferiore a "2019-12-12".
- Il cliente aggiorna il valore “keyVaultKeyUri” di un account della chiave gestita dal cliente usando una versione dell'API inferiore a "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. (Convertire l'account della chiave gestita dal cliente in un account di altro 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 della chiave gestita dal cliente in un account di diverso tipo non è supportata.
Mitigazione
N/D, attualmente non supportato.
1.5
Scenario
Un cliente sta tentando di aggiornare l'account della chiave gestita dal cliente di Cosmos DB che è in stato di revoca. L'aggiornamento del cliente non prevede né di aggiornare l'identità predefinita né di assegnare/annullare l'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 di database per la chiave gestita dal cliente 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 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.
Mitigazione
Se un cliente vuole creare un account della chiave gestita dal cliente con Backup continuo/Collegamento a Synapse/Feed di modifiche con massima fedeltà/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. (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 valore KeyVaultKeyUri di un account di database per la chiave gestita dal cliente tra tenant esistente in un nuovo insieme di credenziali delle chiavi con un tenant diverso dal precedente.
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
N/D, 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
N/D, non supportato
1.9
Scenario
• Un cliente sta tentando 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à proprietaria non è attualmente supportata nello scenario di chiave gestita dal cliente tra tenant
Mitigazione
N/D, non supportato
2. Casi di errore del piano dati
2.1
Scenario
Un cliente sta tentando 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 "6 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 sta tentando 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 "6 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 sta tentando 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 sta tentando di creare/modificare una raccolta/documenti (o altri nomi, 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 varie posizioni di scrittura non possono essere abilitate 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 First Party Identity 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 di chiave gestita dal cliente con Backup continuo/Collegamento a Synapse/Feed di modifiche con massima fedeltà/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/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
Scenario
Il cliente prova ad abilitare la chiave gestita dal cliente in un account di diverso tipo con le funzionalità Backup continuo/Collegamento ad Azure Synapse/Feed di modifiche con massima fedeltà/Vista materializzata già abilitate.
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, dopo essere stato attivato, Collegamento ad Azure Synapse non può più essere disattivato.
Mitigazione
N/D, attualmente non supportato.
3.5
Scenario
Il cliente prova a disattivare la modalità Backup continuo (chiamata anche recupero temporizzato) su account di database esistenti in cui questa funzionalità è 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, dopo essere stato attivata, la modalità Backup continuo non può essere più disattivata.
Mitigazione
N/D, attualmente non supportato.
3.6
Scenario
Il cliente tenta di disattivare la funzionalità Vista materializzata su account di database esistenti in cui questa funzionalità è 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
Attualmente, dopo essere stato attivata, la modalità Vista materializzata non può essere più 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 con altre proprietà in un account esistente non è attualmente 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 di chiave gestita dal cliente con le funzionalità Backup continuo (chiamata anche recupero temporizzato) e Collegamento ad Azure Synapse (chiamata anche archiviazione analitica) abilitate.
Messaggio di errore
Continuous backup mode cannot be enabled together with Storage Analytics feature.
Codice di stato
BadRequest(400)
Causa radice
Non è possibile abilitare contemporaneamente le funzionalità Backup continuo (chiamata anche recupero temporizzato) e Collegamento ad Azure Synapse (chiamata anche archiviazione analitica) durante il processo di creazione. 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 prova a 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
Attualmente, le funzionalità Chiave gestita dal cliente e Feed di modifiche con massima fedeltà non possono essere abilitate insieme per un account di database globale.
Mitigazione
N/D, attualmente non supportato.
3.10
Scenario
Il cliente prova ad abilitare la funzionalità Vista materializzata in un account di database esistente con la modalità 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
L'abilitazione della funzionalità Vista materializzata se è già abilitata la modalità Backup continuo non è supportata.
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 prova ad 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 Feed di modifiche con massima fedeltà se è già abilitata la funzionalità Vista materializzata
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 chiave gestita dal cliente con Mongo/Gremlin/Table con Viste materializzate abilitata.
- Abilitare Viste materializzate in un account di database per 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 effettuare il provisioning di un account di database per chiave gestita dal cliente con la funzionalità Viste materializzate abilitata solo con le API SQL e Cassandra.
- È possibile abilitare Viste materializzate in un account di chiave gestita dal cliente solo con le API SQL e Cassandra.
4.2
Scenario
- Il cliente crea un account di database per chiave gestita dal cliente usando l'API Cassandra con la modalità Backup continuo abilitata.
- Il cliente abilita la modalità Backup continuo in un account di database per 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à 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
Attualmente, non è possibile abilitare la modalità Backup continuo insieme a un account Gremlin V1.
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
Non è possibile abilitare la modalità Backup continuo insieme a un account di database abilitato per Table.
Mitigazione
Comportamento previsto.
5. Casi di errore di Collegamento ad Azure Synapse
5.1
Scenario
Il cliente prova a usare Collegamento ad Azure Synapse per eseguire query sui dati da un account di chiave gestita dal cliente di Cosmos DB con Collegamento ad Azure Synapse abilitato, ma non dispone più dell'accesso a Key Vault.
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 dall'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.