Merge pull request #1696 from akhilmhdh/dynamic-secret/oracle

feat: dynamic secret for oracle
This commit is contained in:
Maidul Islam
2024-04-18 16:05:53 -04:00
committed by GitHub
7 changed files with 296 additions and 191 deletions
@@ -21,7 +21,8 @@ export enum DynamicSecretProviders {
export enum SqlProviders {
Postgres = "postgres",
MySql = "mysql2"
MySql = "mysql2",
Oracle = "oracledb"
}
export type TDynamicSecretProvider = {
@@ -77,6 +77,16 @@ const getSqlStatements = (provider: SqlProviders) => {
};
}
if (provider === SqlProviders.Oracle) {
return {
creationStatement:
'CREATE USER "{{username}}" IDENTIFIED BY "{{password}}";\nGRANT CONNECT TO "{{username}}";\nGRANT CREATE SESSION TO "{{username}}";',
renewStatement: "",
revocationStatement:
'REVOKE CONNECT FROM "{{username}}";\nREVOKE CREATE SESSION FROM "{{username}}";\nDROP USER "{{username}}";'
};
}
return {
creationStatement:
"CREATE USER \"{{username}}\" WITH ENCRYPTED PASSWORD '{{password}}' VALID UNTIL '{{expiration}}';\nGRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO \"{{username}}\";",
@@ -208,6 +218,7 @@ export const SqlDatabaseInputForm = ({
>
<SelectItem value={SqlProviders.Postgres}>PostgreSQL</SelectItem>
<SelectItem value={SqlProviders.MySql}>MySQL</SelectItem>
<SelectItem value={SqlProviders.Oracle}>Oracle</SelectItem>
</Select>
</FormControl>
)}
@@ -193,6 +193,7 @@ export const EditDynamicSecretSqlProviderForm = ({
>
<SelectItem value={SqlProviders.Postgres}>PostgreSQL</SelectItem>
<SelectItem value={SqlProviders.MySql}>MySQL</SelectItem>
<SelectItem value={SqlProviders.Oracle}>Oracle</SelectItem>
</Select>
</FormControl>
)}