0

我正在尝试在 Azure PostgreSql 中为 pgaudit 日志设置 pgaudit 结构,我使用以下链接放松了微软的指令。

https://docs.microsoft.com/en-us/azure/postgresql/concepts-audit。但是我跑的时候什么都看不到

AzureDiagnostics
| where ResourceProvider =="MICROSOFT.DBFORPOSTGRESQL" 
| where Category == "PostgreSQLLogs"
| where Message contains "AUDIT:" 


当我读到一些文章时;

它需要在 Azure Database for PostgreSQL 中,不能使用 pgAudit 文档中所述的 -(减号)符号快捷方式设置 pgaudit.log。所有必需的语句类(READ、WRITE 等)都应单独指定。但在 Azure PostGre 中,您需要成为超级用户才能使 pgaudit 获得 READ、WRITE 的权限。

但 ;

现在,当我尝试创建 SUPERUSER 时,通过给出命令 CREATE USER TESTER SUPERUSER; --->它给我错误说必须是超级用户才能创建超级用户

这才是重点?如何授予 pgAudit 权限以及如何在 Azure 中查看审核日志。我应用了上述说明,但在 Kusto 查询结果中看不到审核日志?为什么?

默认情况下,在创建服务器时,我们定义了以下 3 个角色,您也可以在运行时看到它们SELECT rolname FROM pg_roles;——</p>

  1. azure_pg_admin
  2. azure_superuser
  3. 服务器管理员登录 - 用户创建服务器的管理员登录 - 默认情况下是 azure_pg_admin 的成员。

我在 Azure 中的角色:


                                          List of roles
    Role name    |                         Attributes                         |    Member of
-----------------+------------------------------------------------------------+------------------
 azure_pg_admin  | Cannot login                                               | {}
 azure_superuser | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 my_admin        | Create role, Create DB                                     | {azure_pg_admin}
 my_db           | Create role, Create DB                                     | {azure_pg_admin}
4

1 回答 1

1

您可以使用Azure CLI配置 pgaudit.log ,该命令az postgres server configuration set -g {resource group} -s {server name} -n "pgaudit.log" --value "read, write"将记录所有读取和写入。

于 2021-09-21T05:10:54.810 回答