Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
All Cloud Scal3 products are reviewed by AWS via their Foundation Technical Review.
FinOps Center is aligned to Customer Deployed Solution that requires that Customer Guidance is provided aligned to AWS Best Practices and are detailed in the subsection of the category.
Additionally our AWS Marketplace products are validated by the AWS Marketplace Onboarding team that both scans the AMIs that we upload and validate that our CloudFormation template adhere to their standards.
FinOps Center is deployed entirely within customer’s AWS account and is built 100% on native AWS services, enabling centralized operations management, governance, and observability aligned with AWS best practices. It provides customers with full ownership and control of their operational environment while supporting scalable, secure, and compliant centralized management across their AWS workloads.
Centralized Operational Control
The solution is designed to support centralized visibility and control through seamless integration with AWS native tools, allowing customers to centrally manage infrastructure, security, and operations. Key components include:
AWS CloudFormation: FinOps Center serverless infrastructure and application code is deployed with CloudFormation, ensuring consistency of deployments.
AWS Control Tower and AWS Organizations Alignment: FinOps Center integrates with the Account Management APIs that are accessed from the Delegated Admin account enabling onboarding of new AWS Account immediately vs when the account appears on the Cost and Usage Report
Centralized Monitoring and Logging
To support operational excellence and proactive issue detection, the solution integrates natively with:
Amazon CloudWatch (Logs, Metrics, Alarms, Dashboards): All FinOps Center operations are monitored by CloudWatch, which provides real-time performance monitoring and unified observability across application components.
AWS CloudTrail and AWS Config: Aligned to AWS Best Practices, all FinOps Center transactions and configuration updates are tracked with AWS CloudTrail and AWS Config.
Centralized Compliance and Governance
The solution promotes centralized compliance through:
AWS Config Rules and Conformance Packs: Evaluate resource configurations continuously across all regions and accounts to ensure compliance with internal policies and industry regulations.
IAM, SCPs, and Resource Policies: Secure access to resources is managed centrally using AWS IAM policies, permission boundaries, and Service Control Policies (SCPs) where AWS Organizations is used.
FinOps Center S3, Lambda, and DynamoDB components like any other application via VPC Endpoints.
New VPC
1 VPC, e.g. 10.0.0.0/16
At least 2 public and 2 private subnets across 2 AZs
NAT Gateway(s) in public subnets
Route tables:
Public subnets → 0.0.0.0/0 via IGW
Private subnets → 0.0.0.0/0 via NAT
Attach FinOps Center Lambdas to the VPC
For each Lambda that should live “inside the VPC”:
IAM for VPC attachment
Add the managed policy AWSLambdaVPCAccessExecutionRole to the Lambda execution role so Lambda can create Hyperplane ENIs
Attach Data
S3 Gateway – for CUR 2.0, Cost Optimization Hub exports, Athena query results
Interface endpoints (AWS PrivateLink) for:
com.amazonaws.<region>.dynamodb
...sts
...logs (if you want private delivery to CloudWatch Logs)
...secretsmanager / ...ssm / ...lambda as needed
Attach security groups that allow inbound from sg-finopscenter-lambda (or ECS SG) on 443.
FinOps Center is 100% Cloud-Native leveraging a number of AWS Services. The Full Architecture runs Across Multiple AWS Account Aligned to the Multi-Acccount Strategy.
In the Master Payer Account - FinOps Center leverages the Cost & Usage Report (CUR) for Billing information. The CUR is stored in a s3 Bucket in the Master Payer Account. Customers leverage AWS Bucket Replication (and Batch Operations) to move the CUR Objects to the S3 bucketing in the FinOps Center Installed Account.
One of the limitations of the CUR is the delay in Accounts showing up on the file. During the Account Vending Process, this delay will add work to align AWS Accounts to Financial Budgets. To facilitate this end-to-end process, FinOps Center (in the Delegated Admin / CloudOps Account) queries the Organization/Account Management API to immediately make Accounts onboarded even prior to the Account having billing.
All Cloud Scal3 products are sold exclusively via the AWS Marketplace.
Any customerized offering or pricing is handled via the Standard Private Offers processes within Marketplace.
US East (N. Virginia) (us-east-1)
US East (Ohio) (us-east-2)
US West (N. California) (us-west-1)

FinOps Center stores data in DynamoDB and aligns to general practices of using DynamoDB for Storage and Security.
As with all data storied in DynamoDB, customers can chose to encrypt the data at rest with the default AWS Owned , AWS Managed, or Customer Managed Keys
AWS Multi-Account Framework
AWS Control Tower with Multi-Account Strategy
AWS Cloud Financial Management
Cognito Quotas
DynamoDB
Lambda
DynamoDB
Encryption
Monitoring
Backup
Lambda
Security
Monitoring
VPC Endpoints
IAM Best Practice
Amazon Q in QuickSight Community
Cloud Intelligence Dashboard Framework
FinOps Center
To recovery FinOps Center the application and the database need to be restored to the last know functioning state.
If their is an issue with the application after patching the environment with a new release, return to the ami of the prior release and launch instance. The cdk bucket will load with the previous release. Return to the CloudFormation and the stack with the previous releases JSON Object.
FinOps Center stores all of its data in DynamoDB. During the installation, the DynamoDB tables are enabled with Point-in-time Recovery. If any tables needs to be recovered, an engineer can log into the console, navigate to the DynamoDB service, and restore any table to the time of last operation.
RTO Target
FinOps Center RTO is plus 2 hours from your original installation time. This is based on a scenerio where your AWS Account has been compromised and you need to restore the DynamoDB tables from an S3 backup in a new CloudOps Designated Admin Account.
RPO Target
FinOps Center RPO is close to zero as the Cost and Usage Report will be created in the MaterPayer Accounts. Any budget mapping can be be restored from backup but it would cause any data lose.
Complete QuickStart and Create Business Requirements Document
Allocated AWS Accounts to Financial Budgets prior to adding users
Communicate to users that they will receive emails inviting them to FinOps Center but that they should wait a day to enter the application or they may not have their experience loaded
FinOps Center stores data in DynamoDB and aligns to general practices of using DynamoDB for Storage and Security.
As with all data storied in DynamoDB, customers can chose to encrypt the data at rest with the default AWS Owned , AWS Managed, or Customer Managed Keys
Allocation Users to their Financial Scope once the Accounts have been Allocated to their Budgets
Configure initial Amazon QuickSight Dashboard to all Roles
Upload Customer logo prior to adding users
Update the Cognito Email Invites Prior to sending invites
Once the Customer Logo has been upload - create a new invalidation in CloudFront.
Validate that CloudFront is Configured Correctly.
Add Memory to Highly Used Lambda Function - UsageLambdaHandler
Agent Bill → AgentCore MCP Gateway connectivity
AgentCore Observability Console Health Endpoint (/health)
AgentCore ECS Runtime
ECS task status + ALB target health
FinOps Center Lambda functions
CloudWatch Logs & Lambda Insights
AppSync API layer
AppSync console resolver metrics (4xx / 5xx / latency)
DynamoDB, S3, Secrets Manager
CloudWatch Service Metrics
All FinOps Center DynamoDB Tables that get deployed are configured with Point in Time Recovery.
Agent Bill
The data that Agent Bill accesses are FinOps Center tables that follow the same recommmednations for Recovery. Recovery of the solution is via a reinstall via CloudFormation Scripts.
All FinOps Center APIs are managed by Cognito
Amazon Cognito Federated Identities issue short-lived AWS credentials using STS under an IAM role.
Amazon Cognito User Pools issue JWT tokens that are used to authenticate AppSync requests.
Because Cognito-issued credentials are automatically rotated and expire frequently (typically after 1 hour), long-term key rotation is not required for day-to-day operations.
FinOps Center has a low burden on Technical Operations Teams once the pre-requisite AWS components are configured and the Application is deployed.
Skills of the Technical operations Team:
AWS Engineering with specific understanding of the S3 Bucket Replication, CloudFormation, VPC Configuration, and Web Application Management leveraging CloudFront.
AWS Data Engineering with understanding of DynamoDB Backups to S3
Account Vending Process with Tools like Control Tower
Operational Checklist to Validate Functional Application
Validate that Cost and Usage Report has replicated to the Cloud Operations Account Bucket.
Compare loading of the Application Updated (Note: The application time stamp should be approximately 1 hr after the Bucket timestamp. This is due to the allowance of “eventual consistency” of bucket replication).
The Finance and Business Teams are the primary users of FinOps Center and will need to be enabled in operations of the applications. In the Finance and Business Teams, there should be members that are comfortable in the development of QuickSight Dashboards and how to share information to the Technical Operations Team to make a Dashboard available to different Roles.
The Finance and Business Team are the key to driving spend accountability with FinOps Center. They must daily monitor spending, card approval, and account mapping to validate that users are acting on the data.
FinOps Center leverages native services encryption of data at rest and in transit.
All FinOps Center data is stored in S3 or DynamoDB when at rest. When users are accessing the application CloudFront provides the SSL connection for the frontend application.
Data at Rest:
S3 Server-Side Encryption (SSE):
SSE-S3: Encrypts objects using AES-256, managed by S3.
SSE-KMS: Uses AWS Key Management Service (KMS) for encryption keys, giving more control over key policies and auditability.
SSE-C: Customer-provided encryption keys, if you prefer to manage keys outside AWS.
Client-Side Encryption: Use AWS SDK for encryption before uploading objects to S3. You manage keys and encrypt data client-side.
Data in Transit:
Use HTTPS (TLS 1.2 or higher) for all communications to and from S3.
Enforce HTTPS using S3 bucket policies or CloudFront distribution.
Data at Rest:
QuickSight encrypts your data at rest using AWS KMS by default.
For additional control, configure your own KMS Customer Managed Key (CMK) for QuickSight to use.
Data in Transit:
All communication between QuickSight, S3, and other AWS services is protected using TLS 1.2.
Embedded Dashboards:
Use secure HTTPS connections for embedding dashboards within your React frontend.
FinOps Center Custom IAM policies and Row-Level Security (RLS) to ensure users only see authorized data.
Data at Rest:
By default, AWS Lambda encrypts deployment packages and environment variables at rest using AWS-managed keys.
For additional control, use KMS for:
Encrypting environment variables (configure KMS keys in Lambda function settings).
Encrypting sensitive application secrets (e.g., credentials, tokens) stored in AWS Secrets Manager or SSM Parameter Store.
Data in Transit:
All data passed to and from Lambda is encrypted using TLS 1.2.
Use HTTPS endpoints for API Gateway and other services invoked by Lambda.
Data at Rest:
Default Encryption with AWS KMS: All DynamoDB tables are encrypted at rest using AES-256.
Use Customer Managed KMS Keys (CMK) for:
More control over the encryption keys.
Auditability and fine-grained key management.
Data in Transit:
All DynamoDB connections use TLS 1.2 to secure data in transit.
Enforce the use of HTTPS for all interactions with DynamoDB.
Use AWS Key Management Service (KMS) to unify encryption management across services like S3, Lambda, DynamoDB, and QuickSight.
Monitor key usage with AWS CloudTrail for auditing encryption activities.
AWS CloudTrail: Track key usage, access logs, and API calls.
AWS CloudWatch: Monitor encryption-related metrics.
AWS Config: Ensure encryption configurations remain compliant with best practices.
Agent Bill Bedrock Agent
Agent Bill has an additional encrypted connection between the MCP Server on Lambda to the Bedrock Agent/Action Group.
Data in Transit:
All data passed to and from Lambda (MCP Server) is encrypted using TLS 1.2.
Use HTTPS endpoints for API Gateway and other services invoked by Lambda.
Fault Conditions during installation will be discovered during the CloudFormation Template deployment.
If there is an issue during installation, CloudFormation will provide Root Cause Analysis.
Common Fault Conditions
Wrong Path to Cost and Usage Report
Cost and Usage Bucket was not created in US-East-1 causing S3 Bucket Notification Error
If a re-installation, prior deployed resources have not been delete fully
DynamoDB (Data Storage)
AWS KMS (default or CMK)
TLS 1.2 (HTTPS)
Enforce HTTPS for DynamoDB connections.
Component
At Rest
In Transit
Additional Notes
S3 (React Frontend)
SSE-S3, SSE-KMS, SSE-C, Client-Side
TLS 1.2 (HTTPS)
Enforce HTTPS using policies.
QuickSight
AWS KMS (default or CMK)
TLS 1.2
Use IAM and Row-Level Security (RLS).
Lambda (Business Logic)
AWS KMS for environment variables
TLS 1.2
Use KMS for Secrets Manager or SSM data.

FinOps Center
FinOps Center provides auditability across all solution using AWS-native logging, monitoring, and compliance tools. Activity logs are collected across the entire stack—including authentication, business logic, orchestration, data access, and storage—to support customer audit and compliance requirements.
AWS Service Logging
Amazon Cognito Authentication and authorization events—such as user sign-ins, token refreshes, and federated identity access—are logged through AWS CloudTrail, enabling traceability of identity events and user sessions.
AWS Lambda All Lambda function invocations, including business logic execution and data processing, are logged to Amazon CloudWatch Logs. Function invocation metadata, API calls made by functions, and errors are also captured in CloudTrail.
AWS Step Functions Workflow execution history, state transitions, and error handling logic are logged via CloudWatch Logs, while CloudTrail captures orchestration activity and API interactions initiated by workflows.
Amazon S3 (for web hosting) Static web content access and object-level interactions are logged via S3 Server Access Logs or CloudTrail Data Events, providing visibility into frontend usage patterns.
AWS AppSync GraphQL queries, mutations, and subscriptions are recorded by CloudTrail, allowing full traceability of frontend-to-backend data access. Resolver execution logs can also be sent to CloudWatch Logs for detailed debugging and auditing.
Amazon EventBridge Events published to or routed through EventBridge are tracked in CloudTrail, providing insight into event-based workflows, system integration points, and automation triggers.
Amazon DynamoDB All reads, writes, updates, and deletes on DynamoDB tables used for application data are auditable through CloudTrail Data Events (if enabled). This captures the full lifecycle of data access patterns. Additionally:
DynamoDB Streams can be used to monitor real-time changes to data for audit trails or downstream processing.
Centralized Logging and Audit Readiness
To support customer audit and compliance needs, the solution integrates the following centralized logging tools:
AWS CloudTrail: Captures all control-plane and (where enabled) data-plane API calls across services. Trails can be configured for multi-account logging with delivery to Amazon S3, encrypted using AWS KMS, and analyzed via Athena, OpenSearch, or third-party SIEM tools.
Amazon CloudWatch Logs and Metrics: Provide real-time operational visibility into application performance, execution paths, and anomalies.
Within FinOps Center, we currently support Annual Budgets that are aligned to Calendar years.
Another key Time definition is Period. A Period represents the Work Week for Billing and is defined as below:
For Spend Cards, the First Period of each month is from the 1st day till Saturday 11:59. The Last Period of each month is Sunday 00:01 till the last day of the month.
Spend Cards run every Monday for the previous Period. The final Cards run when FinOps Center recieves a CUR with the AWS Invoices that signifies the Spending is final.
Within FinOps Center, the AWS spend as of - is approximately 1 hour after the Cost and Usage report has created a new file. As FinOps Center leverages S3 Bucket Replication it can take time for all of the Cost and Usage data to Replicate so we wait to start the spending onboarding.
FinOps Center
FinOps Center is a web application that may experience typical issues from users around login issues or page loading (especially updates). Additionally, during the initial 24hrs of installing FinOps Center the application may be awaiting data population from the Cost & Usage Report (CUR).
If users are having issues with their initial logging into FinOps Center it could be an issue with the Cognito temporary password. It is common that the remedy is to delete the users from the Cognito User Pool and Re-Create them in the FinOps Center Configuration.
During initial configuration of the application the AWS CUR Data is not loading you may need to wait until the next cycle to run. Have a member of your technical team navigate to the S3 bucket in the FinOps Center installed account and view when the last CUR was created keeping in mind that the CUR creation time is UCT. If a CUR cycle has run after the time of the upload of the Chart/Budget File, contact support.
Agent Bill Amazon Q in QuickSight
If users are having issues accessing the Amazon Q in QuickSight Topics, validate that the following are configured apppriately:
The FinOps Center application URL has been added to the QuickSight Admin
Validate in the Topic ID has been added to the Configuration Page
Validate that the Topics have been added to the Role from the QuickSight Console
if you can't see the Topics, validate that your Author Pro has the Topics Role
Agent Bill Agentic CFM
Cost Optimization Hub Data
If Cost Optimization Hub Data is not loading in the Cost Optiizatoin Raw Table,, navigate to the Lambda service in the Console (CostOptimizationLambda881C3E41) and run Test to trigger the Lambda.


Agentcore ECS tasks stuck in provisioning
VPC endpoint missing or SG restricts outbound
Validate required Interface Endpoints (S3, DynamoDB, STS, Secrets Manager, AppSync, Bedrock) exist and SG outbound is not 0.0.0.0/0 denied
Client application cannot reach AgentCore MCP endpoint
Wrong ALB DNS used or not using HTTPS 443
Validate the endpoint using curl -v https://<agentcore-alb-dns>/health — must return 200
AgentCore cannot invoke FinOps Center API
IAM trust misalignment between delegated admin and linked accounts
Validate delegated admin role trust using STS AssumeRole test from AgentCore ECS task execution role
AppSync returns unauthorized
missing JWT validator / wrong signature key
Validate JWT issuer matches AgentCore Identity config. re-rotate token + test via AppSync Console with same token
Lambda invoked but no FinOps process executes
missing FinOps Center permission boundary or missing PK Tenant prefix

Validate Dynamo Partition Key prefix matches defined TenantID for that deployment
Logical
Services
accountbudgetlambdarole77006F98
AWS::IAM::Role
accountbudgetlambdaroleDefaultPolicy4FB21BEA
AWS::IAM::Policy
AccountBudgetTable0C66D07B
AWS::DynamoDB::Table
AccountMapping4D0F5AFB
AWS::DynamoDB::Table
During the installation of FinOps Center, the following roles are created in customers accounts:
Lambda access to write data dynamodb table (InvoiceTable)
quicksightaccessrole80E5A653
Lambda to get quicksight dashboard url programatically
FinOpsCenterFinopsInaBoxBudgetAllocationApilambdaDatasourceServiceRoleE3C454C3
Appsync to invoke lambda function named BudgetAllocationLambda
FinOpsCenterFinopsInaBoxBudgetAllocationApibudgetApprovalLambdaDatasourceServiceRole59BD64A6
Appsync to invoke lambda function named BudgetApprovalLambda
FinOpsCenterFinopsInaBoxBudgetAllocationApiquickSightLambdaDatasourceServiceRoleDC35C747
Appsync to invoke lambda function named QuicksightLambda
FinOpsCenterFinopsInaBoxBudgetAllocationApischedulerLambdaDatasourceServiceRole5D04EA71
Appsync to invoke lambda function named SchedulerLambda
FinOpsCenterFinopsInaBoxBudgetAllocationApiinvoiceLambdaDatasourceServiceRoleD85B21E4
appsync to invoke lambda function named InvoiceLambda
FinOpsCenterFinopsInaBoxBudgetAllocationApiauthenticationLambdaDatasourceServiceRole0DAF3D85
appsync to invoke lambda function named AuthenticationLambda
accountbudgetlambdarole77006F98
lambda access to write data dynamodb table (SorElementToKeyMapper, BudgetsFromSOR)
FinOpsCenterFinopsInaBoxSchedulerLambdaHandlerServiceRole1D4A6F1E
lambda access to write data dynamodb table (Scheduler)
FinOpsCenterFinopsInaBoxAuthenticationLambdaHandlerServiceRole3583A726
lambda access to Cognito
CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265
Lambda access to S3
athenaexecutionroleDefaultPolicy7907B333
Athena access for CUR Data Import
S3NotificationResourceCustomResourcePolicy0EC084AF
Bucket to trigger lambda on new items upload
executionroleDefaultPolicy497F11A3
BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36
Bucket to trigger lambda on new items upload
budgetApprovalLambdaHandlerServiceRoleDefaultPolicyDE143198
budgetTriggerLambdaHandlerServiceRoleDefaultPolicyDD9AEFCA
Bucket to trigger lambda on new items upload
BudgetApprovalStateMachineRoleDefaultPolicyF89BE0F0,
Step Function Execution
invoiceLambdaHandlerServiceRoleDefaultPolicy20D94148
Bucket to trigger lambda on new items upload
quicksightaccessroleDefaultPolicy15628D24
Access to QuickSight Assets
FinOpsCenterFinopsInaBoxBudgetAllocationApilambdaDatasourceServiceRoleDefaultPolicyECB450A3
Access to DynamoDB for Step Function
FinOpsCenterFinopsInaBoxBudgetAllocationApibudgetApprovalLambdaDatasourceServiceRoleDefaultPolicyBCD48E00
Step Function Execution
FinOpsCenterFinopsInaBoxBudgetAllocationApiquickSightLambdaDatasourceServiceRoleDefaultPolicyE116784C
Access to QuickSight Assets for Row Level Security
FinOpsCenterFinopsInaBoxBudgetAllocationApiquickSightLambdaDatasourceServiceRoleDefaultPolicyE116784C
Access to QuickSight Assets for Row Level Security
FinOpsCenterFinopsInaBoxBudgetAllocationApiquickSightLambdaDatasourceServiceRoleDefaultPolicyE116784C
Access to QuickSight Assets for Row Level Security
FinOpsCenterFinopsInaBoxBudgetAllocationApischedulerLambdaDatasourceServiceRoleDefaultPolicyC73BC128
Access to DynamoDB for Step Function
FinOpsCenterFinopsInaBoxBudgetAllocationApiinvoiceLambdaDatasourceServiceRoleDefaultPolicyF3F771EC
Access to DynamoDB for Step Function
FinOpsCenterFinopsInaBoxBudgetAllocationApiauthenticationLambdaDatasourceServiceRoleDefaultPolicyEDD13462
Access to Cognito for Authenticationo
accountbudgetlambdaroleDefaultPolicy4FB21BEA
Step Function Execution
FinOpsCenterFinopsInaBoxSchedulerLambdaHandlerServiceRoleDefaultPolicy0A59ABD5
Step Function Execution
FinOpsCenterFinopsInaBoxAuthenticationLambdaHandlerServiceRoleDefaultPolicy28CCCF9A
Access to Cognito for Authentication
CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF
Execution to Create S3 bucket for FinOps Center Deployment
QSManagedPolicyBC3B1016
AccountToElement1Mapping752D6570
AWS::DynamoDB::Table
AccountMapping4D0F5AFB
AWS::DynamoDB::Table
AccountToElement1Mapping752D6570
AWS::DynamoDB::Table
AccountToElement2MappingC5E21C49
AWS::DynamoDB::Table
AccountToElement3MappingA58D0E58
AWS::DynamoDB::Table
AccountToElement4Mapping7A6110D3
AWS::DynamoDB::Table
Admins
AWS::Cognito::UserPoolGroup
adminUser
AWS::Cognito::UserPoolUser
ApprovedBudgetsTableA2AC60E6
AWS::DynamoDB::Table
athenaexecutionrole33E3CAB2
AWS::IAM::Role
athenaexecutionroleDefaultPolicy7907B333
AWS::IAM::Policy
AthenaPolicyCADD8C34
AWS::IAM::ManagedPolicy
athenatemp87F857C8
AWS::S3::Bucket
AWS679f53fac002430cb0da5b7982bd22872D164C4C
AWS::Lambda::Function
AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2
AWS::IAM::Role
BucketNotificationsHandler050a0587b7544547bf325f094a3db8347ECC3691
AWS::Lambda::Function
BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC
AWS::IAM::Role
BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleDefaultPolicy2CF63D36
AWS::IAM::Policy
budgetApprovalLambdaHandlerD5A8C414
AWS::Lambda::Function
budgetApprovalLambdaHandlerServiceRole57D52BE3
AWS::IAM::Role
budgetApprovalLambdaHandlerServiceRoleDefaultPolicyDE143198
AWS::IAM::Policy
BudgetApprovalStateMachine749086CB
AWS::StepFunctions::StateMachine
BudgetApprovalStateMachineRole7D20BD03
AWS::IAM::Role
BudgetApprovalStateMachineRoleDefaultPolicyF89BE0F0
AWS::IAM::Policy
BudgetApprovalWorkflow471D8ADC
AWS::DynamoDB::Table
BudgetsFromSOR1281753B
AWS::DynamoDB::Table
budgetTriggerLambdaHandler47313A97
AWS::Lambda::Function
budgetTriggerLambdaHandlerServiceRoleB543531A
AWS::IAM::Role
budgetTriggerLambdaHandlerServiceRoleDefaultPolicyDD9AEFCA
AWS::IAM::Policy
BUManagers
AWS::Cognito::UserPoolGroup
CDKMetadata
AWS::CDK::Metadata
curExtractorLambdaHandler527EA93F
AWS::Lambda::Function
curExtractorLambdaHandlerAllowS3InvocationDD55202D
AWS::Lambda::Permission
CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756C81C01536
AWS::Lambda::Function
CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRole89A01265
AWS::IAM::Role
CustomCDKBucketDeployment8693BB64968944B69AAFB0CC9EB8756CServiceRoleDefaultPolicy88902FDF
AWS::IAM::Policy
DepartmentManagers
AWS::Cognito::UserPoolGroup
Element1Mapping4380F9B0
AWS::DynamoDB::Table
Element2MappingE36F9FE4
AWS::DynamoDB::Table
Element3Mapping4C6A994A
AWS::DynamoDB::Table
Element4Mapping2FFF5F38
AWS::DynamoDB::Table
executionroleD9A39BE6
AWS::IAM::Role
executionroleDefaultPolicy497F11A3
AWS::IAM::Policy
FinancialAdmins
AWS::Cognito::UserPoolGroup
FinOpsCenterAccountBudgetLambdaHandler8229024E
AWS::Lambda::Function
FinOpsCenterAuthenticationLambdaHandler7B901A70
AWS::Lambda::Function
FinOpsCenterAuthenticationLambdaHandlerServiceRoleDefaultPolicy9C018194
AWS::IAM::Policy
FinOpsCenterAuthenticationLambdaHandlerServiceRoleF2924748
AWS::IAM::Role
FinOpsCenterBudgetAllocationApi830C7F83
AWS::AppSync::GraphQLApi
FinOpsCenterBudgetAllocationApiauthenticationLambdaDatasource22C76159
AWS::AppSync::DataSource
FinOpsCenterBudgetAllocationApiauthenticationLambdaDatasourceServiceRole8F2BC046
AWS::IAM::Role
FinOpsCenterBudgetAllocationApiauthenticationLambdaDatasourceServiceRoleDefaultPolicyABAF4045
AWS::IAM::Policy
FinOpsCenterBudgetAllocationApibudgetApprovalLambdaDatasourceA40E713B
AWS::AppSync::DataSource
FinOpsCenterBudgetAllocationApibudgetApprovalLambdaDatasourceServiceRole5098C713
AWS::IAM::Role
FinOpsCenterBudgetAllocationApibudgetApprovalLambdaDatasourceServiceRoleDefaultPolicy9EC99F1C
AWS::IAM::Policy
FinOpsCenterBudgetAllocationApicanCloseMonthResolver2E01B50A
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApichangePasswordResolver3C958E69
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApicompletePasswordChallengeResolver30910FB5
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApiconfirmPasswordResolverFDF56F2F
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApicreateAccountMappingResolver7B079C58
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApicreateAllocationResolver225FB95A
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApicreateBudgetResolver64D61C0E
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApicreateInvoiceResolver43BD5274
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApicreateOrUpdateDashboardResolverA81AB980
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApicreateOrUpdateSpaceDetailsResolver537D1657
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApicreateOrUpdateUserToBudgetAccessResolverE080EDB5
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApicreateUserMappingResolver7D63193A
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApicreateUserResolverA1E605E3
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApidefaultApiKey300A2538
AWS::AppSync::ApiKey
FinOpsCenterBudgetAllocationApideleteAllocationResolver4650763F
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApiforgotPasswordResolver42502E8F
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApigetAllBudgetsNewResolverC85C0932
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApigetAllBudgetsResolverB935009A
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApigetDashboardListResolver72B95653
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApigetInvoicesResolverC4F37F86
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApigetLastRunCurResolver24E9B10E
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApigetPeriodCardsForUserResolver2086F8FC
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApigetQuickSightDashboardUrlResolverE9D8DE12
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApigetSorListByYearResolverCD447711
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApigetSorMappingResolverDD843F7B
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApigetTimeCardsForUserResolver4FC1F4CD
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApigetUnallocatedAccountsResolver3432E36F
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApigetUsageActualsForUserResolverDBEAA204
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApigetUsageDetailsForUserNewResolver746CB582
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApigetUsageDetailsForUserResolver6EF10137
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApigetUsageStatsResolverAED9AFEA
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApigetUserMappingToBudgetsAndAccountsResolverAA475845
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApiinvoiceLambdaDatasource999FAA93
AWS::AppSync::DataSource
FinOpsCenterBudgetAllocationApiinvoiceLambdaDatasourceServiceRole833AADEB
AWS::IAM::Role
FinOpsCenterBudgetAllocationApiinvoiceLambdaDatasourceServiceRoleDefaultPolicyAD0CDF57
AWS::IAM::Policy
FinOpsCenterBudgetAllocationApilambdaDatasourceAB665C33
AWS::AppSync::DataSource
FinOpsCenterBudgetAllocationApilambdaDatasourceServiceRole7144E454
AWS::IAM::Role
FinOpsCenterBudgetAllocationApilambdaDatasourceServiceRoleDefaultPolicy440E4797
AWS::IAM::Policy
FinOpsCenterBudgetAllocationApilistAccountMappingResolver34043668
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApilistAccountsResolver56E8C48D
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApilistAllocationsResolver6165ADBD
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApilistGroupsResolverDCFF3E28
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApilistSpacesResolver60ED72B7
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApilistUserBudgetAllocationsResolver78C6B1CF
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApilistUserMappingResolverC3FFF016
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApilistUsersResolver8B930FB7
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApiloginUserResolver48621D0D
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApimonthCloseResolver17AA178F
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApiquickSightLambdaDatasource42753279
AWS::AppSync::DataSource
FinOpsCenterBudgetAllocationApiquickSightLambdaDatasourceServiceRole9A3B29C1
AWS::IAM::Role
FinOpsCenterBudgetAllocationApiquickSightLambdaDatasourceServiceRoleDefaultPolicy21D8C2A6
AWS::IAM::Policy
FinOpsCenterBudgetAllocationApireviewBudgetResolverB4A7AD9A
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApischedulerLambdaDatasourceDF97F9B9
AWS::AppSync::DataSource
FinOpsCenterBudgetAllocationApischedulerLambdaDatasourceServiceRole0E24BE0C
AWS::IAM::Role
FinOpsCenterBudgetAllocationApischedulerLambdaDatasourceServiceRoleDefaultPolicy8D806BF5
AWS::IAM::Policy
FinOpsCenterBudgetAllocationApiSchema6D45E612
AWS::AppSync::GraphQLSchema
FinOpsCenterBudgetAllocationApisorMappingResolver822F3A5B
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApiupdateAccountsWithOrganizationsInfoResolver91CC1D41
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApiupdateAllocationResolver8A725FFD
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApiupdateBudgetResolver2EDA782E
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApiupdateTimeCardStatusResolver66B4C127
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApiupdateUserRoleResolverBE9C313C
AWS::AppSync::Resolver
FinOpsCenterBudgetAllocationApiuploadSORResolver08F81E2F
AWS::AppSync::Resolver
FinOpsCenterQuickSightLambdaHandler796799F3
AWS::Lambda::Function
FinOpsCenterSchedulerLambdaHandler044C0558
AWS::Lambda::Function
FinOpsCenterSchedulerLambdaHandlerServiceRole44BD75A8
AWS::IAM::Role
FinOpsCenterSchedulerLambdaHandlerServiceRoleDefaultPolicyA6553EC0
AWS::IAM::Policy
FinOpsCenterScheduleRuleAllowEventRuleFinOpsCenterStackFinOpsCenterSchedulerLambdaHandler680625AE3E90D379
AWS::Lambda::Permission
FinOpsCenterScheduleRuleEDEF0E06
AWS::Events::Rule
FinOpsCenterSharedFunctionsLayer84909F55
AWS::Lambda::LayerVersion
GluePolicyCA7268D5
AWS::IAM::ManagedPolicy
invoiceLambdaHandler083AEC55
AWS::Lambda::Function
invoiceLambdaHandlerServiceRoleAD7C6EE6
AWS::IAM::Role
invoiceLambdaHandlerServiceRoleDefaultPolicy20D94148
AWS::IAM::Policy
InvoiceTableD753B0E0
AWS::DynamoDB::Table
LastUpdatedTableD54B2C25
AWS::DynamoDB::Table
PortfolioManagers
AWS::Cognito::UserPoolGroup
ProductManagers
AWS::Cognito::UserPoolGroup
QSManagedPolicyBC3B1016
AWS::IAM::ManagedPolicy
quicksightaccessrole80E5A653
AWS::IAM::Role
quicksightaccessroleDefaultPolicy15628D24
AWS::IAM::Policy
QuicksightTable0E76B5B0
AWS::DynamoDB::Table
S3NotificationResourceCustomResourcePolicy0EC084AF
AWS::IAM::Policy
S3NotificationResourceF98D77E7
Custom::AWS
S3Policy8FACFAB8
AWS::IAM::ManagedPolicy
SorElementToKeyMapper64C55F7A
AWS::DynamoDB::Table
SORExtractorLambda56652A5B
AWS::Lambda::Function
sorfiles6743E409
AWS::S3::Bucket
sorfilesAllowBucketNotificationsToFinOpsCenterStackSORExtractorLambdaA4B317F72869BA7F
AWS::Lambda::Permission
sorfilesNotifications4210B679
Custom::S3BucketNotifications
SpacesTable8A997355
AWS::DynamoDB::Table
staticContentDeploymentAwsCliLayer18F25694
AWS::Lambda::LayerVersion
staticContentDeploymentCustomResourceC4584F3F
Custom::CDKBucketDeployment
TimeCardsTable0247B46C
AWS::DynamoDB::Table
UsageAccountsTable883695CF
AWS::DynamoDB::Table
UsageAccountToServiceDailyTable3EF26074
AWS::DynamoDB::Table
UsageAccountToServiceTableD3843CFA
AWS::DynamoDB::Table
UsageDailyTable837F89FC
AWS::DynamoDB::Table
UsageMasterAccountsTableD91A7B5C
AWS::DynamoDB::Table
UsageTable28300137
AWS::DynamoDB::Table
UserBudgetAccessTable665F2C92
AWS::DynamoDB::Table
UserMappingABB16FE5
AWS::DynamoDB::Table
UserPool6BA7E5F2
AWS::Cognito::UserPool
UserPoolFinOpsCenterPoolweb6108E3D9
AWS::Cognito::UserPoolClient
Resource/Role
Purpose
athenaexecutionrole33E3CAB2
Lambda Execute Role for Athena queries
AWS679f53fac002430cb0da5b7982bd2287ServiceRoleC1EA0FF2, executionroleD9A39BE6
Lambda to Read files from s3 bucket
BucketNotificationsHandler050a0587b7544547bf325f094a3db834RoleB6FB88EC
S3Bucket trigger for lambda on new file upload
budgetApprovalLambdaHandlerServiceRole57D52BE3
Lambda to write data to DynamoDB tables (BudgetApprovalWorkflow, ApprovedBudgetsTable)
budgetTriggerLambdaHandlerServiceRoleB543531A
Lambda to Write data to dynamodb table (BudgetApprovalWorkflow, ApprovedBudgetsTable)
BudgetApprovalStateMachineRole7D20BD03,
Lambda access to trigger step function
invoiceLambdaHandlerServiceRoleAD7C6EE6