Získání primárních, sekundárních, čtení nebo klíčů pro čtení a zápis ve službě Azure Cosmos DB
Článek
PLATÍ PRO: NoSQL MongoDB Cassandra Skřítek Stůl
Primární/sekundární klíče poskytují přístup ke všem prostředkům pro správu pro účet databáze. Primární/sekundární klíče:
Umožňuje přístup k účtům, databázím, uživatelům a oprávněním.
Nejde použít k zajištění podrobného přístupu ke kontejnerům a dokumentům.
Vytvoří se během vytváření účtu.
Je možné ho kdykoli znovu vygenerovat.
Důležité
Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Ověřovací tok popsaný v tomto postupu vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která nejsou přítomna v jiných tocích. Tento tok byste měli použít jenom v případě, že jiné bezpečnější toky, jako jsou spravované identity, nejsou přijatelné.
Pro službu Azure Cosmos DB je ověřování Microsoft Entra nejbezpečnějším dostupným mechanismem ověřování. Projděte si příslušného průvodce zabezpečením pro vaše rozhraní API:
Každý účet se skládá ze dvou klíčů: primárního klíče a sekundárního klíče. Účelem duálních klíčů je, abyste mohli znovu vygenerovat (nebo vygenerovat) klíče, které poskytují nepřetržitý přístup k vašemu účtu a datům.
Primární/sekundární klíče mají dvě verze: jen pro čtení a čtení. Klíče jen pro čtení umožňují operace čtení v účtu. Neposkytují přístup k prostředkům oprávnění ke čtení.
Požadavky
Existující účet služby Azure Cosmos DB
Získání primárního klíče
Primární klíč se obvykle nachází pomocí webu Azure Portal nebo prostřednictvím automatizace.
Tento příklad šablony Bicep vypíše všechny přihlašovací údaje pro existující účet služby Azure Cosmos DB.
metadata description = 'Gets all keys and connection strings for an Azure Cosmos DB account.'
@description('The name of the Azure Cosmos DB account.')
param accountName string
resource account 'Microsoft.DocumentDB/databaseAccounts@2024-05-15' existing = {
name: accountName
}
output endpoint string = account.properties.documentEndpoint
var keys = account.listKeys()
output keys object = {
primary: {
readWrite: keys.primaryMasterKey
readOnly: keys.primaryReadonlyMasterKey
}
secondary: {
readWrite: keys.secondaryMasterKey
readOnly: keys.secondaryReadonlyMasterKey
}
}
var connectionStrings = account.listConnectionStrings()
output connectionStrings object = {
primary: {
readWrite: connectionStrings.connectionStrings[0].connectionString
readOnly: connectionStrings.connectionStrings[1].connectionString
}
secondary: {
readWrite: connectionStrings.connectionStrings[2].connectionString
readOnly: connectionStrings.connectionStrings[3].connectionString
}
}
Upozorňující
Tato šablona Bicep aktivuje upozornění linteru pro Bicep. V ideálním případě by produkční šablony Bicep neměly výstupní tajné kódy. Tato ukázka záměrně nepotlačuje toto upozornění linteru. Další informace najdete v tématu linter rule – výstupy by neměly obsahovat tajné kódy.