LogoLogo
Documentation and Guides
Documentation and Guides
  • ABOUT APONO
    • Why Choose Apono
    • Security and Architecture
    • Glossary
  • GETTING STARTED
    • How Apono Works
    • Getting started
    • Access Discovery
    • Integrating with Apono
  • CONNECTORS AND SECRETS
    • Apono Integration Secret
    • High Availability for Connectors
    • Installing a connector with Docker
    • Manage integrations
    • Manage connectors
    • S3 Storage
  • AWS ENVIRONMENT
    • AWS Overview
    • Apono Connector for AWS
      • Installing a connector on EKS Using Terraform
      • Updating a connector in AWS
      • Installing a connector on AWS ECS using Terraform
    • AWS Integrations
      • Integrate an AWS account or organization
        • Auto Discover AWS RDS Instances
        • AWS Best Practices
      • Amazon Redshift
      • RDS PostgreSQL
      • AWS RDS MySQL
      • Integrate with EKS
      • AWS Lambda Custom Integration
      • EC2 via Systems Manager Agent (SSM)
  • AZURE ENVIRONMENT
    • Apono Connector for Azure
      • Install an Azure connector on ACI using Azure CLI
      • Install an Azure connector on ACI using PowerShell
      • Install an Azure connector on ACI using Terraform
      • Updating a connector in Azure
    • Azure Integrations
      • Integrate with Azure Management Group or Subscription
        • Auto Discover Azure SQL Databases
      • Azure MySQL
      • Azure PostgreSQL
      • Integrate with AKS
  • GCP ENVIRONMENT
    • Apono Connector for GCP
      • Installing a GCP connector on Cloud Run using CLI
      • Installing a GCP connector on GKE using CLI (Helm)
      • Installing a GCP connector on GKE using Terraform
      • Updating a connector in Google Cloud
    • GCP Integrations
      • Integrate a GCP organization or project
      • CloudSQL - MySQL
      • CloudSQL - PostgreSQL
      • Google Cloud Functions
      • Integrate with GKE
      • AlloyDB
  • KUBERNETES ENVIRONMENT
    • Apono Connector for Kubernetes
      • Installing a connector on Kubernetes with AWS permissions
      • Updating a Kubernetes connector
    • Kubernetes Integrations
      • Integrate with Self-Managed Kubernetes
  • ADDITIONAL INTEGRATIONS
    • Databases and Data Repositories
      • Microsoft SQL Server
      • MongoDB
      • MongoDB Atlas
      • MongoDB Atlas Portal
      • MySQL
      • Oracle Database
      • PostgreSQL
      • RabbitMQ
      • Redis Cloud (Redislabs)
      • Snowflake
      • Vertica
      • MariaDB
    • Network Management
      • SSH Servers
      • RDP Servers
      • Windows Domain Controller
      • AWS EC2 SSH Servers
      • Azure VM SSH Servers
      • Installing the Apono HTTP Proxy
    • Development Tools
      • GitHub
      • Rancher
    • Identity Providers
      • Okta SCIM
      • Okta Groups
      • Okta SSO for Apono logins
      • Google Workspace (Gsuite)
      • Google Workspace (GSuite) Groups
      • Azure Active Directory (Microsoft Entra ID)
      • Azure Active Directory (Entra ID) Groups
      • Jumpcloud
      • JumpCloud Groups
      • OneLogin
      • OneLogin Group
      • LDAP Groups
      • The Manager Attribute in Access Flows
      • HiBob
      • Ping Identity SSO
    • Incident Response Integrations
      • Opsgenie
      • PagerDuty
      • VictorOps (Splunk On-Call)
      • Zenduty
    • ChatOps Integrations
      • Slack integration
      • Teams integration
      • Backstage Integration
    • Secret Management
      • 1Password
  • WEBHOOK INTEGRATIONS
    • Webhooks Overview
    • Anomaly Webhook
    • Audit Log Webhook
    • Request Webhook
      • Custom Webhooks
      • Communications and Notifications
        • Slack Outbound Webhooks
        • Teams
        • Outlook and Gmail (Using Azure Logic App)
      • ITSM
        • Freshdesk
        • Jira
        • ServiceNow
        • Zendesk
        • Freshservice
        • ServiceDesk Plus
      • Logs and SIEMs
        • Coralogix
        • Datadog
        • Logz.io
        • Grafana
        • New Relic
        • SolarWinds
        • Sumo Logic
        • Cortex
        • Logpoint
        • Splunk
        • Microsoft Sentinel
      • Orchestration and workflow builders
        • Okta Workflows
        • Torq
    • Integration Webhook
    • Webhook Payload References
      • Audit Log Webhook Payload Schema Reference
      • Webhook Payload Schema Reference
    • Manage webhooks
    • Troubleshoot a webhook
    • Manual Webhook
      • ITSM
        • PagerDuty
  • ACCESS FLOWS
    • Access Flows
      • What are Access Flows?
    • Create Access Flows
      • Self Serve Access Flows
      • Automatic Access Flows
      • Access Duration
    • Manage Access Flows
      • Right Sizing
    • Revoke Access
    • Dynamic Access Management
      • Resource and Integration Owners
    • Common Use Cases
      • Ensuring SLA
      • Protecting PII and Customer Data
      • Production Stability and Management
      • Break Glass Protocol
    • Create Bundles
    • Manage Bundles
  • ACCESS REQUESTS AND APPROVALS
    • Slack
      • Requesting Access with Slack
      • Approving Access with Slack
      • Reviewing historical requests with Slack
    • Teams
      • Requesting Access with Teams
      • Approving Access with Teams
    • CLI
      • Install and manage the Apono CLI
      • Requesting Access with CLI
    • Web Portal
      • Requesting Access with the Web Portal
      • Approving Access with the Web Portal
      • Reviewing historical requests with the Web Portal
    • Freshservice
    • Favorites
  • Inventory
    • Inventory Overview
    • Inventory
    • Access Scopes
    • Risk Scores
    • Apono Query Language
  • AUDITS AND REPORTS
    • Activity Overview
      • Activity
      • Create Reports
      • Manage Reports
    • Compliance: Audit and Reporting
    • Auditing Access in Apono
    • Admin Audit Log (Syslog)
  • HELP AND DEBUGGING
    • Integration Status Page
    • Troubleshooting Errors
  • ARCHITECTURE AND SECURITY
    • Anomaly Detection
    • Multi-factor Authentication
    • Credentials Rotation Policy
    • Periodic User Cleanup & Deletion
    • End-user Authentication
    • Personal API Tokens
  • User Administration
    • Role-Based Access Control (RBAC) Reference
    • Create Identities
    • Manage Identities
Powered by GitBook
On this page
  • Prerequisite
  • Admin Guidance
  • Requestor Guidance

Was this helpful?

Export as PDF
  1. AWS ENVIRONMENT
  2. AWS Integrations
  3. Integrate an AWS account or organization

AWS Best Practices

Scale AWS resource management in access flows

PreviousAuto Discover AWS RDS InstancesNextAmazon Redshift

Last updated 1 month ago

Was this helpful?

When granting AWS access permissions, listing individual ARNs in IAM policies can quickly cause you to exceed . Apono solves this through and the . These solutions use regex patterns to efficiently manage resource groups instead of listing individual ARNs.

For additional protection, Apono has implemented a 100-resource threshold as a guardrail when individual ARN specification is needed.

The following sections explain how Apono prevents you from exceeding AWS's inline policy limit:

  • Create strategic AWS resource groupings for access flows

  • Understand how Apono provides clear warnings when the AWS policy limit is exceeded

  • Learn how Apono maintains consistent behavior whether your team uses Portal, Teams, or Slack

For example, instead of individually specifying 200 S3 buckets in a policy (which would exceed AWS's limit), you can use resource tags to group them by environment or function.

Apono validates for the following types of AWS resources:

  • ASM Secret

  • DynamoDB table

  • EC2 Connect

  • EC2 Manage

  • S3 Bucket (by "any resource" and region tags)

  • SNS Topic

  • SQS queue


Prerequisite

Item
Description

Apono Connector

Minimum Required Version: 1.7.0


Admin Guidance

When defining access flows that include AWS resources, your resource definition strategy directly impacts policy management.

Questions

Before selecting AWS resources for an access flow, consider the following questions:

  • Can all resources of an integration be selected?

  • Have tags been applied to logically group resources by environment, function, or team?

  • Is individual resource selection truly necessary for security requirements?

Resource Definition Strategies

To effectively manage AWS permissions while avoiding policy character limits, you can use access scopes, integrations, or bundles. When possible, we strongly recommend using access scopes or AQL.

The following table explains the strategy for each approach.

Type
Strategy

Access Scopes

Access scopes and AQL let you create flexible filters that adapt to your changing infrastructure. This makes them ideal for scenarios like all production databases or EC2 instances in the eu-region.

Integrations

Integrations let you align permissions with your organization structure:

  • Use tags in your cloud environment to group resources, such as production, eu-region, customer-support.

  • Apply Any resources when all resources of the integration can be included.

This strategy is ideal for scenarios like managing cross-account DevOps access or regional support team permissions.

Bundles

Bundles let you create logical groupings of permissions that serve specific functions.

  • Use tags in your cloud environment to group resources, such as production, eu-region, customer-support.

  • Apply Any resources when all resources of the integration can be included.

This strategy is ideal for scenarios like complete development environment access or full analytics platform access.

Apono Safeguard

If you select too many AWS resources for an access flow, the Apono UI will display a warning message instructing you to reduce the number of selected resources.

Access Flow
Conditions

Automatic

  • You have selected more than 100 AWS resources by name (Select by name) from one integration or between multiple integrations.

  • You have selected more than 100 AWS resources by name (Select by name) within one bundle or between multiple bundles.

Self Serve

  • You have selected more than 100 AWS resources within one bundle or between multiple bundles.


Requestor Guidance

When requesting access to many AWS resources, Apono will warn you if you have selected too many AWS resources.

You will receive different notifications about AWS resource limits depending on which platform you use to submit your access request:

  • Portal & Teams: Apono displays a warning before submission when you click Request, preventing requests that exceed the limit.

In some cases, the request might pass initial validation but still trigger a post-submission notification to select fewer resources.

  • Slack: Apono processes your request first, then sends a message if you need to resubmit with fewer resources.

Known Limitations While Building Access Flows And Bundles

The following configurations within access flows or when bundling multiple resources will exceed AWS policy size constraints.

  • Specifying resources by name: Individually choosing resource names.

  • S3 buckets: as AWS does not support tagging buckets, it should be handled with region tags or through access scopes or AQL patterns where possible.

  • Excluding a list of resource names: choosing a list of resources to exclude can similarly inflate policy size and is best handled through access scopes or AQL patterns where possible.

On-prem serving as a bridge between an AWS instance and Apono

Use the following steps to .

Can an be created to group resources across multiple AWS integrations?

(Strongly Recommended, ) Use when you need dynamic, rule-based resource grouping

() Use when providing access to an entire AWS account or organization, or to resources that share specific tags

(, ) Use when packaging related resources as a cohesive unit for user requests

When explore one of the following options:

Warning message
AWS's inline policy character limit
access scopes
Apono Query Language (AQL)
access scope
connection
update an existing connector
All Access Flows
Automatic Access Flow
Automatic Access Flow
Self Serve Access Flow
creating a bundle
Warning message