Authorization Policies
Overview
The Authorization Policies panel provides a centralized view of all Kubernetes authorization policies configured in the Shakudo platform. This feature allows administrators to review and understand the access control rules that govern how users and services interact with platform resources. The panel displays AI-generated descriptions for each policy, making it easier to understand complex authorization configurations without diving into raw Kubernetes manifests.
Access & Location
- Route:
?panel=authorization-policies
- Navigation: Admin → Authorization Policies
- Access Requirements:
dashboard-admin
role (Keycloak RBAC)
- Feature Flags:
authPoliciesEnabled
(environment variable:HYPERPLANE_DASHBOARD_AUTH_POLICIES_ENABLED
)
Key Capabilities
View Authorization Policies
Browse all authorization policies configured in the Kubernetes cluster with AI-generated human-readable descriptions that explain what each policy does and which resources it affects.
Refresh Policy Descriptions
Manually trigger a refresh of authorization policy data to ensure you're viewing the most up-to-date information from the cluster. The system uses AI to regenerate descriptions when policies are updated.
Review Policy Details
Expand individual policies to view detailed markdown-formatted descriptions that explain the policy's purpose, scope, and affected resources in natural language.
User Interface
Main View
The main view displays a summary card showing:
- Last Modified: The timestamp of the most recently updated authorization policy
- Policy Count: Total number of authorization policies in the system
- Refresh Button: Manually refresh policy data and regenerate AI descriptions
Below the summary, policies are displayed as expandable accordion items, each showing:
- Policy name
- Collapsible description section with markdown-formatted details
Summary Card
A prominent card at the top of the panel displays:
- Last modification timestamp in the format: "ddd, MMMM D YYYY HH:mm:ss"
- Total count of authorization policies
- A refresh button to reload policy data
Policy List
Authorization policies are displayed as accordion items that can be expanded to reveal:
- Policy name with an icon indicator
- Full markdown description explaining the policy's purpose and scope
- Details about resources affected by the policy
Loading States
The interface provides clear feedback during data loading:
- Skeleton loaders for summary card metrics during initial load
- Loading spinner with message: "AI is generating descriptions. It might take a while"
- Empty state message: "There are no Authorization Policies to display"
- Error alert if policies fail to load
Dialogs & Modals
This panel does not include any dialogs or modals. All functionality is accessible from the main view.
Tables & Data Grids
This panel does not use traditional data tables. Instead, it displays policies as expandable accordion items for better readability of complex policy descriptions.
Technical Details
GraphQL Operations
Queries:
getAuthorizationPolicies
- Retrieves all authorization policies with their names, AI-generated descriptions, and timestamps
Mutations: None - This is a read-only panel
Subscriptions: None - Data is fetched on demand
Data Model
Each AuthorizationPolicy
contains:
name
(String) - The name of the authorization policydescription
(String, optional) - AI-generated markdown description of what the policy doestimestamp
(DateTime) - When the policy was last modified
Component Structure
- Main Component:
components/AuthPolicies/AuthPoliciesPanel.tsx
- Grid Component:
components/AuthPolicies/AuthPoliciesGrid.tsx
- Details Component:
components/AuthPolicies/AuthPoliciesDetails.tsx
- GraphQL Query:
graphql/authorizationPolicies/getAuthorizationPolicies.query.graphql
Implementation Details
- The panel uses Apollo Client's
useQuery
hook withnotifyOnNetworkStatusChange
to track loading states - Policy descriptions are rendered using the
MarkdownDisplay
component for rich formatting - The component is memoized for performance optimization
- Timestamps use dayjs for formatting with timezone support
- The last modified date is computed from the maximum timestamp across all policies
Common Workflows
Reviewing Authorization Policies
- Navigate to Admin → Authorization Policies
- View the summary card to see total policy count and last update time
- Scroll through the list of policies
- Click on any policy accordion to expand and read its AI-generated description
- Use the refresh button if you've recently made changes to policies
Understanding a Specific Policy
- Locate the policy by name in the accordion list
- Click on the policy to expand its description
- Review the markdown-formatted explanation of:
- What the policy controls
- Which resources are affected
- Which users or services the policy applies to
Checking for Policy Updates
- Note the "Last Modified" timestamp in the summary card
- If you've recently modified Kubernetes authorization policies, click the refresh button
- Wait for the AI to regenerate descriptions (this may take a few moments)
- Review the updated policy information
Related Features
- Users - Overall cluster configuration and management
- Service Accounts - Related security features in the platform
- SecOps Panel - Security operations and compliance monitoring
Notes & Tips
AI-Generated Descriptions
- Descriptions are generated by AI to make complex Kubernetes authorization policies more understandable
- The AI analyzes the policy configuration and creates natural language explanations
- Description generation may take some time, especially when refreshing many policies
- If descriptions seem outdated after making changes, use the refresh button
Performance Considerations
- The panel fetches all policies at once, so loading time may increase with many policies
- Policy descriptions are cached after initial generation
- The refresh operation regenerates all descriptions, which can be time-consuming
When to Use This Panel
- During security audits to review all authorization policies
- When onboarding new administrators who need to understand access controls
- After making changes to Kubernetes authorization policies
- When troubleshooting permission issues to understand what policies are in effect
Troubleshooting
- If you see an error message, try refreshing the page
- Contact platform support if the issue persists
- Check that the
HYPERPLANE_DASHBOARD_AUTH_POLICIES_ENABLED
environment variable is set totrue
- Verify you have
dashboard-admin
role assigned in Keycloak
Feature Flag Configuration
This feature must be explicitly enabled via environment variable:
HYPERPLANE_DASHBOARD_AUTH_POLICIES_ENABLED=true
Without this flag, the panel will not appear in the admin navigation menu.