When to Use Access Roles
- Grant Quiverstone access to individual AWS accounts
- Configure specific permission levels (read-only, administrator, power user, etc.)
- Enable browser-based console access for interactive operations
- Deploy roles across multiple accounts using StackSets
- Provide day-to-day operational access to member accounts
Browser Session Deployment
Browser Session is a deployment method where Quiverstone generated the AWS Console Switch Role link for your accounts..1
2
Configure Essential Parameters
Role Name (
pRoleName): Name for the access role (Default: QuiverstoneBrowserAccess)External ID: Cannot be used with a browser switch role sessionPermissions: Enable the access levels you need (default is Read-Only)pIsReadOnlyAccess: View all resources without making changespIsAdministratorAccess: Full administrative accesspIsPowerUserAccess: Full access except IAM and Organizations- Additional permission levels available in the template
Role Visibility Protection: When deploying support or access roles, consider adding a deny policy to prevent non-administrative roles from viewing role permissions, trust policies, and External ID configurations. This prevents privilege escalation by limiting who can inspect role configurations. See the security recommendations section below for an example policy.
3
Create Stack
Review the parameters and create the CloudFormation stack. Wait for the stack to reach CREATE_COMPLETE status.
For detailed deployment information including StackSets and all template variants, see the Access Roles Reference.
Direct Access Deployment
Direct access is the simplest deployment method where Quiverstone directly assumes roles in your accounts.1
2
Configure Essential Parameters
Role Name (
pRoleName): Name for the access role (Default: QuiverstoneDirectAccess)External ID (pExternalId): Security token for role assumptionPermissions: Enable the access levels you need (default is Read-Only)pIsReadOnlyAccess: View all resources without making changespIsAdministratorAccess: Full administrative accesspIsPowerUserAccess: Full access except IAM and Organizations- Additional permission levels available in the template
Role Visibility Protection: When deploying support or access roles, consider adding a deny policy to prevent non-administrative roles from viewing role permissions, trust policies, and External ID configurations. This prevents privilege escalation by limiting who can inspect role configurations. See the security recommendations section below for an example policy.
3
Create Stack
Review the parameters and create the CloudFormation stack. Wait for the stack to reach CREATE_COMPLETE status.
4
Copy Role ARN
From the stack Outputs tab, copy the role ARN (e.g.,
arn:aws:iam::123456789012:role/QuiverstoneDirectAccess)5
Configure Quiverstone
In Quiverstone, add the account using:
- Role ARN from the previous step
- External ID you configured in the template
For detailed deployment information including StackSets and all template variants, see the Access Roles Reference.
Chained Access Deployment
Chained access adds an intermediate security layer by routing role assumptions through a trusted account you control. Use this when security policies require additional controls beyond direct access.1
Deploy Intermediate Role (First)
Deploy the intermediate role to your trusted/intermediate account:
Essential Parameters:Copy the intermediate role ARN and External ID from the stack outputs.
Essential Parameters:- Role Name (
pIntermediateRoleName): Default is QuiverstoneTrustedIntermediate - External ID (
pExternalId): Generate unique random string (minimum 32 characters) - Assume Role Scope (
pAssumeRoleScope): Usespecific-role-any-account(recommended) - Destination Role Name (
pDestinationRoleName): QuiverstoneChainedAccess
If you already have an intermediate role deployed, you can reuse it. Skip to Step 2.
2
Deploy Chained Access Role (Second)
Deploy the chained access role to your target account(s):
Essential Parameters:Copy the chained access role ARN from the stack outputs.
Essential Parameters:- Role Name (
pChainedAccessRoleName): Default is QuiverstoneChainedAccess - External ID (
pExternalId): Generate unique random string (can be different from intermediate) - Intermediate Account ID (
pIntermediateAccountId): Account ID where intermediate role is deployed - Intermediate Role Name (
pIntermediateRoleName): Name of intermediate role (default: QuiverstoneTrustedIntermediate) - Trust Principals (
pTrustPrincipals): UseNamedfor enhanced security (recommended) - Permissions: Enable the access levels you need (default is Read-Only)
Role Visibility Protection: When deploying support or access roles, consider adding a deny policy to prevent non-administrative roles from viewing role permissions, trust policies, and External ID configurations. This prevents privilege escalation by limiting who can inspect role configurations. See the security recommendations section below for an example policy.
3
Configure Quiverstone
In Quiverstone, configure chained access using:
- Intermediate role ARN and External ID (from Step 1)
- Destination role ARN and External ID (from Step 2)
For detailed deployment information including StackSets and all template variants, see the Access Roles Reference.
Stand-Alone Account Inventory Deployment
Stand-Alone account inventory is a deployment method where Quiverstone can invnetory details about a single account1
2
Configure Essential Parameters
Role Name (
pRoleName): Name for the access role (Default: QuiverstoneStandaloneAccountInventory)External ID: Cannot be used with a browser switch role sessionPermissions: Enable the access levels you need (default is Read-Only)pIsReadOnlyAccess: View all resources without making changes
3
Create Stack
Review the parameters and create the CloudFormation stack. Wait for the stack to reach CREATE_COMPLETE status.
For detailed deployment information including StackSets and all template variants, see the Access Roles Reference.
Next Steps
- Configure additional accounts: Repeat the deployment process for other accounts
- Adjust permissions: Modify permission levels as needed for different accounts
- Review security: Ensure External IDs are stored securely
- Test access: Verify Quiverstone can assume the roles successfully
Comprehensive Reference
For detailed information about all access role templates, deployment methods, security considerations, and troubleshooting, see the Access Roles Reference Documentation.Security Recommendations
Protecting Role Configurations from Inspection
When deploying support or access roles, it’s important to prevent non-administrative roles from viewing role permissions, trust policies, and External ID configurations. This prevents tiered support teams and other roles from potentially escalating their own privileges by inspecting role configurations.Example Deny Policy
Apply this policy to roles that should NOT be able to view sensitive role configurations:Policy Explanation
- DenyRoleInspection: Prevents viewing role details, trust policies, and attached policies
- Resource Patterns: Adjust the patterns to match your custom role names
Quiverstone*: Matches all roles starting with “Quiverstone”*Access*: Matches roles containing “Access”*Support*: Matches roles containing “Support”
- Actions Denied:
iam:GetRole: Prevents viewing role details including trust policyiam:GetRolePolicy: Prevents viewing inline policiesiam:ListRolePolicies: Prevents listing inline policiesiam:ListAttachedRolePolicies: Prevents listing managed policies
Implementation Recommendations
- Apply to Support Roles: Attach this deny policy to all tiered support and operational roles
- Customize Resource Patterns: Update the resource ARN patterns to match your custom role names
- Exclude Administrative Roles: Do NOT apply this policy to roles that legitimately need to manage IAM
- Test Thoroughly: Verify the policy doesn’t block legitimate operations
- Document Exceptions: Clearly document which roles are exempt and why
Additional Security Controls
- Use Custom Role Names: Change default role names to make discovery harder
- Rotate External IDs: Periodically rotate External IDs according to your security policy
- Monitor Role Assumptions: Set up CloudWatch alarms for unusual role assumption patterns
- Implement SCPs: Use Service Control Policies to enforce organizational security requirements
- Regular Access Reviews: Periodically review who has access to view IAM roles


