@@ -8,6 +8,7 @@ CREATE FUNCTION pg_tde_add_database_key_provider(provider_type TEXT, provider_na
8
8
RETURNS INT
9
9
LANGUAGE C
10
10
AS ' MODULE_PATHNAME' ;
11
+ REVOKE ALL ON FUNCTION pg_tde_add_database_key_provider(TEXT , TEXT , JSON) FROM PUBLIC;
11
12
12
13
CREATE FUNCTION pg_tde_add_database_key_provider_file (provider_name TEXT , file_path TEXT )
13
14
RETURNS INT
@@ -105,6 +106,7 @@ CREATE FUNCTION pg_tde_list_all_database_key_providers
105
106
RETURNS SETOF RECORD
106
107
LANGUAGE C STRICT
107
108
AS ' MODULE_PATHNAME' ;
109
+ REVOKE ALL ON FUNCTION pg_tde_list_all_database_key_providers() FROM PUBLIC;
108
110
109
111
CREATE FUNCTION pg_tde_list_all_global_key_providers
110
112
(OUT id INT ,
@@ -114,12 +116,14 @@ CREATE FUNCTION pg_tde_list_all_global_key_providers
114
116
RETURNS SETOF RECORD
115
117
LANGUAGE C STRICT
116
118
AS ' MODULE_PATHNAME' ;
119
+ REVOKE ALL ON FUNCTION pg_tde_list_all_global_key_providers() FROM PUBLIC;
117
120
118
121
-- Global Tablespace Key Provider Management
119
122
CREATE FUNCTION pg_tde_add_global_key_provider (provider_type TEXT , provider_name TEXT , options JSON)
120
123
RETURNS INT
121
124
LANGUAGE C
122
125
AS ' MODULE_PATHNAME' ;
126
+ REVOKE ALL ON FUNCTION pg_tde_add_global_key_provider(TEXT , TEXT , JSON) FROM PUBLIC;
123
127
124
128
CREATE FUNCTION pg_tde_add_global_key_provider_file (provider_name TEXT , file_path TEXT )
125
129
RETURNS INT
@@ -214,6 +218,7 @@ CREATE FUNCTION pg_tde_change_database_key_provider(provider_type TEXT, provider
214
218
RETURNS INT
215
219
LANGUAGE C
216
220
AS ' MODULE_PATHNAME' ;
221
+ REVOKE ALL ON FUNCTION pg_tde_change_database_key_provider(TEXT , TEXT , JSON) FROM PUBLIC;
217
222
218
223
CREATE FUNCTION pg_tde_change_database_key_provider_file (provider_name TEXT , file_path TEXT )
219
224
RETURNS INT
@@ -308,6 +313,7 @@ CREATE FUNCTION pg_tde_change_global_key_provider(provider_type TEXT, provider_n
308
313
RETURNS INT
309
314
LANGUAGE C
310
315
AS ' MODULE_PATHNAME' ;
316
+ REVOKE ALL ON FUNCTION pg_tde_change_global_key_provider(TEXT , TEXT , JSON) FROM PUBLIC;
311
317
312
318
CREATE FUNCTION pg_tde_change_global_key_provider_file (provider_name TEXT , file_path TEXT )
313
319
RETURNS INT
@@ -402,41 +408,50 @@ RETURNS BOOLEAN
402
408
STRICT
403
409
LANGUAGE C
404
410
AS ' MODULE_PATHNAME' ;
411
+ REVOKE ALL ON FUNCTION pg_tde_is_encrypted(REGCLASS) FROM PUBLIC;
405
412
406
413
CREATE FUNCTION pg_tde_set_key_using_database_key_provider (key_name TEXT , provider_name TEXT DEFAULT NULL , ensure_new_key BOOLEAN DEFAULT FALSE)
407
414
RETURNS VOID
408
415
LANGUAGE C
409
416
AS ' MODULE_PATHNAME' ;
417
+ REVOKE ALL ON FUNCTION pg_tde_set_key_using_database_key_provider(TEXT , TEXT , BOOLEAN ) FROM PUBLIC;
410
418
411
419
CREATE FUNCTION pg_tde_set_key_using_global_key_provider (key_name TEXT , provider_name TEXT DEFAULT NULL , ensure_new_key BOOLEAN DEFAULT FALSE)
412
420
RETURNS VOID
413
421
LANGUAGE C
414
422
AS ' MODULE_PATHNAME' ;
423
+ REVOKE ALL ON FUNCTION pg_tde_set_key_using_global_key_provider(TEXT , TEXT , BOOLEAN ) FROM PUBLIC;
415
424
416
425
CREATE FUNCTION pg_tde_set_server_key_using_global_key_provider (key_name TEXT , provider_name TEXT DEFAULT NULL , ensure_new_key BOOLEAN DEFAULT FALSE)
417
426
RETURNS VOID
418
427
LANGUAGE C
419
428
AS ' MODULE_PATHNAME' ;
429
+ REVOKE ALL ON FUNCTION pg_tde_set_server_key_using_global_key_provider(TEXT , TEXT , BOOLEAN ) FROM PUBLIC;
430
+
420
431
421
432
CREATE FUNCTION pg_tde_set_default_key_using_global_key_provider (key_name TEXT , provider_name TEXT DEFAULT NULL , ensure_new_key BOOLEAN DEFAULT FALSE)
422
433
RETURNS VOID
423
434
AS ' MODULE_PATHNAME'
424
435
LANGUAGE C;
436
+ REVOKE ALL ON FUNCTION pg_tde_set_default_key_using_global_key_provider(TEXT , TEXT , BOOLEAN ) FROM PUBLIC;
425
437
426
438
CREATE FUNCTION pg_tde_verify_key ()
427
439
RETURNS VOID
428
440
LANGUAGE C
429
441
AS ' MODULE_PATHNAME' ;
442
+ REVOKE ALL ON FUNCTION pg_tde_verify_key() FROM PUBLIC;
430
443
431
444
CREATE FUNCTION pg_tde_verify_server_key ()
432
445
RETURNS VOID
433
446
LANGUAGE C
434
447
AS ' MODULE_PATHNAME' ;
448
+ REVOKE ALL ON FUNCTION pg_tde_verify_server_key() FROM PUBLIC;
435
449
436
450
CREATE FUNCTION pg_tde_verify_default_key ()
437
451
RETURNS VOID
438
452
LANGUAGE C
439
453
AS ' MODULE_PATHNAME' ;
454
+ REVOKE ALL ON FUNCTION pg_tde_verify_default_key() FROM PUBLIC;
440
455
441
456
CREATE FUNCTION pg_tde_key_info ()
442
457
RETURNS TABLE ( key_name TEXT ,
@@ -445,6 +460,7 @@ RETURNS TABLE ( key_name TEXT,
445
460
key_creation_time TIMESTAMP WITH TIME ZONE )
446
461
LANGUAGE C
447
462
AS ' MODULE_PATHNAME' ;
463
+ REVOKE ALL ON FUNCTION pg_tde_key_info() FROM PUBLIC;
448
464
449
465
CREATE FUNCTION pg_tde_server_key_info ()
450
466
RETURNS TABLE ( key_name TEXT ,
@@ -453,6 +469,7 @@ RETURNS TABLE ( key_name TEXT,
453
469
key_creation_time TIMESTAMP WITH TIME ZONE )
454
470
LANGUAGE C
455
471
AS ' MODULE_PATHNAME' ;
472
+ REVOKE ALL ON FUNCTION pg_tde_server_key_info() FROM PUBLIC;
456
473
457
474
CREATE FUNCTION pg_tde_default_key_info ()
458
475
RETURNS TABLE ( key_name TEXT ,
@@ -461,24 +478,29 @@ RETURNS TABLE ( key_name TEXT,
461
478
key_creation_time TIMESTAMP WITH TIME ZONE )
462
479
LANGUAGE C
463
480
AS ' MODULE_PATHNAME' ;
481
+ REVOKE ALL ON FUNCTION pg_tde_default_key_info() FROM PUBLIC;
464
482
465
483
CREATE FUNCTION pg_tde_delete_global_key_provider (provider_name TEXT )
466
484
RETURNS VOID
467
485
LANGUAGE C
468
486
AS ' MODULE_PATHNAME' ;
487
+ REVOKE ALL ON FUNCTION pg_tde_delete_global_key_provider(TEXT ) FROM PUBLIC;
469
488
470
489
CREATE FUNCTION pg_tde_delete_database_key_provider (provider_name TEXT )
471
490
RETURNS VOID
472
491
LANGUAGE C
473
492
AS ' MODULE_PATHNAME' ;
493
+ REVOKE ALL ON FUNCTION pg_tde_delete_database_key_provider(TEXT ) FROM PUBLIC;
474
494
475
495
CREATE FUNCTION pg_tde_version () RETURNS TEXT LANGUAGE C AS ' MODULE_PATHNAME' ;
496
+ REVOKE ALL ON FUNCTION pg_tde_version() FROM PUBLIC;
476
497
477
498
-- Table access method
478
499
CREATE FUNCTION pg_tdeam_handler (internal)
479
500
RETURNS TABLE_AM_HANDLER
480
501
LANGUAGE C
481
502
AS ' MODULE_PATHNAME' ;
503
+ REVOKE ALL ON FUNCTION pg_tdeam_handler(internal) FROM PUBLIC;
482
504
483
505
CREATE ACCESS METHOD tde_heap TYPE TABLE HANDLER pg_tdeam_handler;
484
506
COMMENT ON ACCESS METHOD tde_heap IS ' tde_heap table access method' ;
@@ -487,11 +509,13 @@ CREATE FUNCTION pg_tde_ddl_command_start_capture()
487
509
RETURNS EVENT_TRIGGER
488
510
LANGUAGE C
489
511
AS ' MODULE_PATHNAME' ;
512
+ REVOKE ALL ON FUNCTION pg_tde_ddl_command_start_capture() FROM PUBLIC;
490
513
491
514
CREATE FUNCTION pg_tde_ddl_command_end_capture ()
492
515
RETURNS EVENT_TRIGGER
493
516
LANGUAGE C
494
517
AS ' MODULE_PATHNAME' ;
518
+ REVOKE ALL ON FUNCTION pg_tde_ddl_command_end_capture() FROM PUBLIC;
495
519
496
520
CREATE EVENT TRIGGER pg_tde_ddl_start
497
521
ON ddl_command_start
@@ -572,7 +596,3 @@ BEGIN
572
596
EXECUTE format(' REVOKE EXECUTE ON FUNCTION pg_tde_verify_default_key() FROM %I' , target_role);
573
597
END;
574
598
$$;
575
-
576
- -- Revoking all the privileges from the public role
577
- SELECT pg_tde_revoke_database_key_management_from_role(' public' );
578
- SELECT pg_tde_revoke_key_viewer_from_role(' public' );
0 commit comments