Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
332 changes: 332 additions & 0 deletions usecases/blea-gov-base-ct/lib/construct/iam.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,89 @@ export class Iam extends Construct {
Resource: '*',
Effect: 'Deny',
},
{
Action: [
'account:GetAccountInformation',
'billing:GetBillingData',
'billing:GetBillingDetails',
'billing:GetBillingNotifications',
'billing:GetBillingPreferences',
'billing:GetContractInformation',
'billing:GetCredits',
'billing:GetIAMAccessPreference',
'billing:GetSellerOfRecord',
'billing:ListBillingViews',
'billing:PutContractInformation',
'billing:RedeemCredits',
'billing:UpdateBillingPreferences',
'ce:CreateAnomalyMonitor',
'ce:CreateAnomalySubscription',
'ce:CreateNotificationSubscription',
'ce:CreateReport',
'ce:DeleteAnomalyMonitor',
'ce:DeleteAnomalySubscription',
'ce:DeleteNotificationSubscription',
'ce:DeleteReport',
'ce:DescribeNotificationSubscription',
'ce:DescribeReport',
'ce:GetAnomalies',
'ce:GetAnomalyMonitors',
'ce:GetAnomalySubscriptions',
'ce:GetCostAndUsage',
'ce:GetCostAndUsageWithResources',
'ce:GetCostCategories',
'ce:GetCostForecast',
'ce:GetDimensionValues',
'ce:GetPreferences',
'ce:GetReservationCoverage',
'ce:GetReservationPurchaseRecommendation',
'ce:GetReservationUtilization',
'ce:GetRightsizingRecommendation',
'ce:GetSavingsPlansCoverage',
'ce:GetSavingsPlansPurchaseRecommendation',
'ce:GetSavingsPlansUtilization',
'ce:GetSavingsPlansUtilizationDetails',
'ce:GetTags',
'ce:GetUsageForecast',
'ce:ListCostAllocationTags',
'ce:ListSavingsPlansPurchaseRecommendationGeneration',
'ce:ProvideAnomalyFeedback',
'ce:StartSavingsPlansPurchaseRecommendationGeneration',
'ce:UpdateAnomalyMonitor',
'ce:UpdateAnomalySubscription',
'ce:UpdateCostAllocationTagsStatus',
'ce:UpdateNotificationSubscription',
'ce:UpdatePreferences',
'consolidatedbilling:GetAccountBillingRole',
'consolidatedbilling:ListLinkedAccounts',
'cur:GetClassicReport',
'cur:GetClassicReportPreferences',
'cur:PutClassicReportPreferences',
'cur:ValidateReportDestination',
'freetier:GetFreeTierAlertPreference',
'freetier:GetFreeTierUsage',
'freetier:PutFreeTierAlertPreference',
'invoicing:GetInvoiceEmailDeliveryPreferences',
'invoicing:GetInvoicePDF',
'invoicing:ListInvoiceSummaries',
'invoicing:PutInvoiceEmailDeliveryPreferences',
'payments:CreatePaymentInstrument',
'payments:DeletePaymentInstrument',
'payments:GetPaymentInstrument',
'payments:GetPaymentStatus',
'payments:ListPaymentPreferences',
'payments:MakePayment',
'payments:UpdatePaymentPreferences',
'tax:BatchPutTaxRegistration',
'tax:DeleteTaxRegistration',
'tax:GetTaxInheritance',
'tax:GetTaxRegistrationDocument',
'tax:ListTaxRegistrations',
'tax:PutTaxInheritance',
],
Resource: '*',
Effect: 'Deny',
},
{
Action: ['cloudtrail:DeleteTrail', 'cloudtrail:StopLogging', 'cloudtrail:UpdateTrail'],
Resource: '*',
Expand Down Expand Up @@ -75,6 +158,89 @@ export class Iam extends Construct {
Resource: '*',
Effect: 'Deny',
},
{
Action: [
'account:GetAccountInformation',
'billing:GetBillingData',
'billing:GetBillingDetails',
'billing:GetBillingNotifications',
'billing:GetBillingPreferences',
'billing:GetContractInformation',
'billing:GetCredits',
'billing:GetIAMAccessPreference',
'billing:GetSellerOfRecord',
'billing:ListBillingViews',
'billing:PutContractInformation',
'billing:RedeemCredits',
'billing:UpdateBillingPreferences',
'ce:CreateAnomalyMonitor',
'ce:CreateAnomalySubscription',
'ce:CreateNotificationSubscription',
'ce:CreateReport',
'ce:DeleteAnomalyMonitor',
'ce:DeleteAnomalySubscription',
'ce:DeleteNotificationSubscription',
'ce:DeleteReport',
'ce:DescribeNotificationSubscription',
'ce:DescribeReport',
'ce:GetAnomalies',
'ce:GetAnomalyMonitors',
'ce:GetAnomalySubscriptions',
'ce:GetCostAndUsage',
'ce:GetCostAndUsageWithResources',
'ce:GetCostCategories',
'ce:GetCostForecast',
'ce:GetDimensionValues',
'ce:GetPreferences',
'ce:GetReservationCoverage',
'ce:GetReservationPurchaseRecommendation',
'ce:GetReservationUtilization',
'ce:GetRightsizingRecommendation',
'ce:GetSavingsPlansCoverage',
'ce:GetSavingsPlansPurchaseRecommendation',
'ce:GetSavingsPlansUtilization',
'ce:GetSavingsPlansUtilizationDetails',
'ce:GetTags',
'ce:GetUsageForecast',
'ce:ListCostAllocationTags',
'ce:ListSavingsPlansPurchaseRecommendationGeneration',
'ce:ProvideAnomalyFeedback',
'ce:StartSavingsPlansPurchaseRecommendationGeneration',
'ce:UpdateAnomalyMonitor',
'ce:UpdateAnomalySubscription',
'ce:UpdateCostAllocationTagsStatus',
'ce:UpdateNotificationSubscription',
'ce:UpdatePreferences',
'consolidatedbilling:GetAccountBillingRole',
'consolidatedbilling:ListLinkedAccounts',
'cur:GetClassicReport',
'cur:GetClassicReportPreferences',
'cur:PutClassicReportPreferences',
'cur:ValidateReportDestination',
'freetier:GetFreeTierAlertPreference',
'freetier:GetFreeTierUsage',
'freetier:PutFreeTierAlertPreference',
'invoicing:GetInvoiceEmailDeliveryPreferences',
'invoicing:GetInvoicePDF',
'invoicing:ListInvoiceSummaries',
'invoicing:PutInvoiceEmailDeliveryPreferences',
'payments:CreatePaymentInstrument',
'payments:DeletePaymentInstrument',
'payments:GetPaymentInstrument',
'payments:GetPaymentStatus',
'payments:ListPaymentPreferences',
'payments:MakePayment',
'payments:UpdatePaymentPreferences',
'tax:BatchPutTaxRegistration',
'tax:DeleteTaxRegistration',
'tax:GetTaxInheritance',
'tax:GetTaxRegistrationDocument',
'tax:ListTaxRegistrations',
'tax:PutTaxInheritance',
],
Resource: '*',
Effect: 'Deny',
},
],
};
const iamAdminManagedPolicy = new iam.ManagedPolicy(this, 'IamAdminPolicy', {
Expand Down Expand Up @@ -141,6 +307,89 @@ export class Iam extends Construct {
Resource: '*',
Effect: 'Deny',
},
{
Action: [
'account:GetAccountInformation',
'billing:GetBillingData',
'billing:GetBillingDetails',
'billing:GetBillingNotifications',
'billing:GetBillingPreferences',
'billing:GetContractInformation',
'billing:GetCredits',
'billing:GetIAMAccessPreference',
'billing:GetSellerOfRecord',
'billing:ListBillingViews',
'billing:PutContractInformation',
'billing:RedeemCredits',
'billing:UpdateBillingPreferences',
'ce:CreateAnomalyMonitor',
'ce:CreateAnomalySubscription',
'ce:CreateNotificationSubscription',
'ce:CreateReport',
'ce:DeleteAnomalyMonitor',
'ce:DeleteAnomalySubscription',
'ce:DeleteNotificationSubscription',
'ce:DeleteReport',
'ce:DescribeNotificationSubscription',
'ce:DescribeReport',
'ce:GetAnomalies',
'ce:GetAnomalyMonitors',
'ce:GetAnomalySubscriptions',
'ce:GetCostAndUsage',
'ce:GetCostAndUsageWithResources',
'ce:GetCostCategories',
'ce:GetCostForecast',
'ce:GetDimensionValues',
'ce:GetPreferences',
'ce:GetReservationCoverage',
'ce:GetReservationPurchaseRecommendation',
'ce:GetReservationUtilization',
'ce:GetRightsizingRecommendation',
'ce:GetSavingsPlansCoverage',
'ce:GetSavingsPlansPurchaseRecommendation',
'ce:GetSavingsPlansUtilization',
'ce:GetSavingsPlansUtilizationDetails',
'ce:GetTags',
'ce:GetUsageForecast',
'ce:ListCostAllocationTags',
'ce:ListSavingsPlansPurchaseRecommendationGeneration',
'ce:ProvideAnomalyFeedback',
'ce:StartSavingsPlansPurchaseRecommendationGeneration',
'ce:UpdateAnomalyMonitor',
'ce:UpdateAnomalySubscription',
'ce:UpdateCostAllocationTagsStatus',
'ce:UpdateNotificationSubscription',
'ce:UpdatePreferences',
'consolidatedbilling:GetAccountBillingRole',
'consolidatedbilling:ListLinkedAccounts',
'cur:GetClassicReport',
'cur:GetClassicReportPreferences',
'cur:PutClassicReportPreferences',
'cur:ValidateReportDestination',
'freetier:GetFreeTierAlertPreference',
'freetier:GetFreeTierUsage',
'freetier:PutFreeTierAlertPreference',
'invoicing:GetInvoiceEmailDeliveryPreferences',
'invoicing:GetInvoicePDF',
'invoicing:ListInvoiceSummaries',
'invoicing:PutInvoiceEmailDeliveryPreferences',
'payments:CreatePaymentInstrument',
'payments:DeletePaymentInstrument',
'payments:GetPaymentInstrument',
'payments:GetPaymentStatus',
'payments:ListPaymentPreferences',
'payments:MakePayment',
'payments:UpdatePaymentPreferences',
'tax:BatchPutTaxRegistration',
'tax:DeleteTaxRegistration',
'tax:GetTaxInheritance',
'tax:GetTaxRegistrationDocument',
'tax:ListTaxRegistrations',
'tax:PutTaxInheritance',
],
Resource: '*',
Effect: 'Deny',
},
{
Action: [
'kms:Create*',
Expand Down Expand Up @@ -243,6 +492,89 @@ export class Iam extends Construct {
Resource: '*',
Effect: 'Deny',
},
{
Action: [
'account:GetAccountInformation',
'billing:GetBillingData',
'billing:GetBillingDetails',
'billing:GetBillingNotifications',
'billing:GetBillingPreferences',
'billing:GetContractInformation',
'billing:GetCredits',
'billing:GetIAMAccessPreference',
'billing:GetSellerOfRecord',
'billing:ListBillingViews',
'billing:PutContractInformation',
'billing:RedeemCredits',
'billing:UpdateBillingPreferences',
'ce:CreateAnomalyMonitor',
'ce:CreateAnomalySubscription',
'ce:CreateNotificationSubscription',
'ce:CreateReport',
'ce:DeleteAnomalyMonitor',
'ce:DeleteAnomalySubscription',
'ce:DeleteNotificationSubscription',
'ce:DeleteReport',
'ce:DescribeNotificationSubscription',
'ce:DescribeReport',
'ce:GetAnomalies',
'ce:GetAnomalyMonitors',
'ce:GetAnomalySubscriptions',
'ce:GetCostAndUsage',
'ce:GetCostAndUsageWithResources',
'ce:GetCostCategories',
'ce:GetCostForecast',
'ce:GetDimensionValues',
'ce:GetPreferences',
'ce:GetReservationCoverage',
'ce:GetReservationPurchaseRecommendation',
'ce:GetReservationUtilization',
'ce:GetRightsizingRecommendation',
'ce:GetSavingsPlansCoverage',
'ce:GetSavingsPlansPurchaseRecommendation',
'ce:GetSavingsPlansUtilization',
'ce:GetSavingsPlansUtilizationDetails',
'ce:GetTags',
'ce:GetUsageForecast',
'ce:ListCostAllocationTags',
'ce:ListSavingsPlansPurchaseRecommendationGeneration',
'ce:ProvideAnomalyFeedback',
'ce:StartSavingsPlansPurchaseRecommendationGeneration',
'ce:UpdateAnomalyMonitor',
'ce:UpdateAnomalySubscription',
'ce:UpdateCostAllocationTagsStatus',
'ce:UpdateNotificationSubscription',
'ce:UpdatePreferences',
'consolidatedbilling:GetAccountBillingRole',
'consolidatedbilling:ListLinkedAccounts',
'cur:GetClassicReport',
'cur:GetClassicReportPreferences',
'cur:PutClassicReportPreferences',
'cur:ValidateReportDestination',
'freetier:GetFreeTierAlertPreference',
'freetier:GetFreeTierUsage',
'freetier:PutFreeTierAlertPreference',
'invoicing:GetInvoiceEmailDeliveryPreferences',
'invoicing:GetInvoicePDF',
'invoicing:ListInvoiceSummaries',
'invoicing:PutInvoiceEmailDeliveryPreferences',
'payments:CreatePaymentInstrument',
'payments:DeletePaymentInstrument',
'payments:GetPaymentInstrument',
'payments:GetPaymentStatus',
'payments:ListPaymentPreferences',
'payments:MakePayment',
'payments:UpdatePaymentPreferences',
'tax:BatchPutTaxRegistration',
'tax:DeleteTaxRegistration',
'tax:GetTaxInheritance',
'tax:GetTaxRegistrationDocument',
'tax:ListTaxRegistrations',
'tax:PutTaxInheritance',
],
Resource: '*',
Effect: 'Deny',
},
],
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ exports[`Snapshot test for BLEGovABase Stack 1`] = `
"DisableTemplateValidation": false,
"Info": {
"LoadTemplateFromURL": {
"Fn::Sub": "https://s3.\${AWS::Region}.\${AWS::URLSuffix}/cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}/f2afe5af21a8b0d7aadec724632274791c2b7d0cc4f78018f8ff48b5371ce183.json",
"Fn::Sub": "https://s3.\${AWS::Region}.\${AWS::URLSuffix}/cdk-hnb659fds-assets-\${AWS::AccountId}-\${AWS::Region}/e3ed32ec5c9eeee3f6c2a9266d975e5a5c8741e45c898f191844134fc88e8251.json",
},
},
"Name": "v1",
Expand Down
Loading