sec_userDbPermissions
Retrieve and display database permissions for a specific Teradata user to analyze access rights and security settings.
Instructions
Get permissions for a user.
Arguments: user_name - user name to analyze
Returns: ResponseType: formatted response with query results + metadata
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| user_name | Yes |
Implementation Reference
- The core handler function implementing the sec_userDbPermissions tool. It takes a TeradataConnection and user_name, queries DBC.AllRightsV for the user's permissions on databases/tables/columns, formats the results, and returns a structured response with metadata.def handle_sec_userDbPermissions(conn: TeradataConnection, user_name: str, *args, **kwargs): """ Get permissions for a user. Arguments: user_name - user name to analyze Returns: ResponseType: formatted response with query results + metadata """ logger.debug(f"Tool: handle_sec_userDbPermissions: Args: user_name: {user_name}") with conn.cursor() as cur: if user_name == "": logger.debug("No user_name argument provided") data = rows_to_json(None, []) else: logger.debug(f"Argument provided: {user_name}") rows = cur.execute(f""" SELECT DatabaseName, TableName, ColumnName, AccessRight, GrantAuthority, GrantorName FROM DBC.AllRightsV WHERE UserName = '{user_name}' ORDER BY DatabaseName, TableName, AccessRight;""") data = rows_to_json(cur.description, rows.fetchall()) metadata = { "tool_name": "sec_userDbPermissions", "argument": user_name, "num_permissions": len(data) } logger.debug(f"Tool: handle_sec_userDbPermissions: metadata: {metadata}") return create_response(data, metadata)