8.3.1.1 Prerequisites for Using the Azure App Configuration Store
Perform these steps in the Azure portal or using the Azure CLI or API, before beginning to use the Azure App Configuration store.
-
Register an OAuth application and grant authorization permissions:
The Azure App Configuration store's administrator must register an OAuth application with Microsoft Entra ID (previously called Microsoft Azure Active Directory) using App Registrations. The administrator must also give authorization permissions to this OAuth application for accessing the Azure App Configuration store.
-
(Optional) Create Azure Key Vault for secrets and grant authorization permissions:
You can store Oracle Database credentials and Oracle wallet data in Azure Key Vault.
-
To store Oracle Database credentials:
Create Azure Key Vault with the database password stored as a secret in that vault.
-
To store Oracle wallet data:
The
SQLNETclient applications running on multitenant cloud service environments can store wallets in remote stores. Because these applications may not have access to the wallets stored in a local system file, this feature is especially useful for Mutual Transport Layer Security (mTLS) connections that require file system access to keep the wallet.To store wallet data, you first convert an auto-login wallet file (
cwallet.sso) to aBase64format, and then create Azure Key Vault with theBase64-formattedcwallet.ssovalue stored as a secret.-
Convert your
cwallet.ssofile to aBase64format.A common way to convert
cwallet.ssotoBase64is by using the followingopensslcommand on Linux:cat cwallet.sso | base64 -w 0 > file_to_uploadHere,
file_to_uploadspecifies thecwallet.ssofile that you want to convert. -
Create Azure Key Vault by pasting contents of the
Base64-formatted string of thecwallet.ssofile, as secret contents without any new lines.
-
You will later add a Key Vault reference to this vault in Azure App Configuration. The Azure App Configuration store's administrator must give authorization permissions to the registered OAuth application for accessing this vault.
For detailed information on how to perform these steps, see Azure Key Vault Documentation.
-
-
Understand how to organize keys in Azure App Configuration:
Keys ending with
connect_descriptor,user,password, andwallet_locationserve as identifiers for key-values, and are used to store and retrieve corresponding values for the database connection.The
connect_descriptorkeys (keys ending withconnect_descriptor) store connection descriptors, also known as TNS connection strings.It is a common practice to organize keys into a hierarchical namespace by using a character delimiter, such as
/(slash),&(ampersand), or:(colon). Use a convention that suits your application. The examples here use/(slash) as a character delimiter to organize keys.An application user can organize connect descriptors under a prefix as per application requirements, and set up authentication and authorization for all such keys in Azure App Configuration. Optionally, you can add database credentials (such as the user name and password of database user), wallet location, and Oracle Call Interface attributes under the same prefix:-
prefix/connect_descriptor(required) -
prefix/user(optional) -
prefix/password(optional) -
prefix/wallet_location(optional) -
prefix/oci(optional)
The portion of a key without the
connect_descriptorsuffix is treated as a prefix for deriving the database user name, database password, and OCI attributes. Database clients look for a key ending with theusersuffix after the derived prefix is used as the database user name, a key ending with thepasswordsuffix for the database password, a key ending with thewallet_locationsuffix for the wallet directory, and a key ending with theocisuffix for OCI attributes.A connect identifier contains the part of a key without terminating
connect_descriptoras a prefix. Database clients complete the key by appendingconnect_descriptor,user,password,wallet_location, oroci, and then search the Azure App Configuration store with that key.Syntax for Azure Centralized Configuration Provider Naming:config-azure://{appconfig-name}[?key=prefix&label=value&option1=value1&option2=value2...]For example:sqlplus dbuser/@"config-azure://dbclient-appconfig?key=database/sales/&azure_client_id=client id&azure_client_secret=secret&azure_tenant_id=tenant id"This syntax is explained in details in the sections that follow.
-
Related Topics
Parent topic: Azure App Configuration Store