Avviso di fine del supporto: il 30 giugno 2027, AWS terminerà il supporto per AMS Advanced. Dopo il 30 giugno 2027, non sarà più possibile accedere alla console AMS Advanced o alle risorse AMS Advanced. Per ulteriori informazioni, consulta Fine del supporto per AMS Advanced.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
CloudFormation ingest stack: esempi di validatori CFN
Questi esempi possono aiutarti a preparare il tuo modello per un'importazione di successo.
Convalida del formato
Verifica che il modello contenga una sezione «Risorse» e che tutte le risorse in essa definite abbiano un valore «Tipo».
{ "AWSTemplateFormatVersion": "2010-09-09", "Description" : "Create a SNS topic", "Resources": { "SnsTopic": { "Type": "AWS::SNS::Topic" } } }
Verifica che le chiavi principali del modello siano consentite. Le chiavi principali consentite sono:
[ "AWSTemplateFormatVersion", "Description", "Mappings", "Parameters", "Conditions", "Resources", "Rules", "Outputs", "Metadata" ]
Convalida manuale di Managed Automation
Se il modello contiene le seguenti risorse, la convalida automatica fallisce e sarà necessaria una revisione manuale.
Le politiche mostrate sono aree ad alto rischio dal punto di vista della sicurezza. Ad esempio, una policy sui bucket S3 che consente a chiunque, tranne utenti o gruppi specifici, di creare oggetti o autorizzazioni di scrittura è estremamente pericolosa. Pertanto convalidiamo le politiche e le approviamo o neghiamo in base ai contenuti, e tali politiche non possono essere create automaticamente. Stiamo esaminando possibili approcci per risolvere questo problema.
Al momento non disponiamo di una convalida automatica delle seguenti risorse.
[ "S3::BucketPolicy", "SNS::TopicPolicy", "SQS::QueuePolicy" ]
Convalida dei parametri
Convalidalo se a un parametro del modello non viene fornito un valore; deve avere un valore predefinito.
Convalida degli attributi delle risorse
Controllo degli attributi obbligatorio: determinati attributi devono esistere per determinati tipi di risorse.
"VPCOptions" deve esistere in
AWS::OpenSearch::Domain"CludsterSubnetGroupName" deve esistere in
AWS::Redshift::Cluster
{ "AWS::OpenSearch::Domain": [ "VPCOptions" ], "AWS::Redshift::Cluster": [ "ClusterSubnetGroupName" ] }
Controllo degli attributi non consentiti: alcuni attributi devono *non* esistere per determinati tipi di risorse.
"SecretString" non deve esistere in "» AWS::SecretsManager::Secret
"MongoDbSettings" non deve esistere in "AWS::DMS::Endpoint»
{ "AWS::SecretsManager::Secret": [ "SecretString" ], "AWS::DMS::Endpoint": [ "MongoDbSettings" ] }
Controllo dei parametri SSM: per gli attributi nell'elenco seguente, i valori devono essere specificati tramite Secrets Manager o Systems Manager Parameter Store (Secure String Parameter):
{ "RDS::DBInstance": [ "MasterUserPassword", "TdeCredentialPassword" ], "RDS::DBCluster": [ "MasterUserPassword" ], "ElastiCache::ReplicationGroup": [ "AuthToken" ], "DMS::Certificate": [ "CertificatePem", "CertificateWallet" ], "DMS::Endpoint": [ "Password" ], "CodePipeline::Webhook": { "AuthenticationConfiguration": [ "SecretToken" ] }, "DocDB::DBCluster": [ "MasterUserPassword" ] },
Alcuni attributi devono rispettare determinati modelli; ad esempio, i nomi dei profili delle istanze IAM non devono iniziare con prefissi riservati AMS e il valore dell'attributo deve corrispondere all'espressione regolare specifica, come mostrato:
{ "AWS::EC2::Instance": { "IamInstanceProfile": [ "^(?!arn:aws:iam|ams|Ams|AMS|AWSManagedServices|Managed_Services|mc|Mc|MC|sentinel|Sentinel).+", "arn:aws:iam::(\\$\\{AWS::AccountId\\}|[0-9]+):instance-profile/(?!ams|Ams|AMS|AWSManagedServices|Managed_Services|mc|Mc|MC|sentinel|Sentinel).+" ] }, "AWS::AutoScaling::LaunchConfiguration": { "IamInstanceProfile": [ "^(?!arn:aws:iam|ams|Ams|AMS|AWSManagedServices|Managed_Services|mc|Mc|MC|sentinel|Sentinel).+", "arn:aws:iam::(\\$\\{AWS::AccountId\\}|[0-9]+):instance-profile/(?!ams|Ams|AMS|AWSManagedServices|Managed_Services|mc|Mc|MC|sentinel|Sentinel).+" ] }, "AWS::EC2::LaunchTemplate": { "LaunchTemplateData.IamInstanceProfile.Name": [ "^(?!ams|Ams|AMS|AWSManagedServices|Managed_Services|mc|Mc|MC|sentinel|Sentinel).+" ], "LaunchTemplateData.IamInstanceProfile.Arn": [ "arn:aws:iam::(\\$\\{AWS::AccountId\\}|[0-9]+):instance-profile\/(?!ams|Ams|AMS|AWSManagedServices|Managed_Services|mc|Mc|MC|sentinel|Sentinel).+" ] } }
Convalida delle risorse
Nel modello possono essere specificate solo le risorse consentite; tali risorse sono descritte in. Risorse supportate
Gli stack EC2 e i gruppi Auto Scaling ASGs () non sono consentiti nello stesso stack a causa delle limitazioni di applicazione delle patch.
Convalida delle regole di ingresso dei gruppi di sicurezza
Per le richieste che provengono dai tipi di modifica CFN Ingest Create o Stack Update CT:
Se (
IpProtocolè tcp o 6) AND (Port è 80 o 443), non ci sono restrizioni sul valoreCidrIPAltrimenti, non
CidrIPpuò essere 0.0.0.0/0
Per le richieste provenienti da Service Catalog (prodotti Service Catalog):
Oltre alla convalida del tipo di modifica CFN Ingest Create o Stack Update CT, è
ip_protocolspossibile accedere alla portamanagement_portscon il protocollo in ingresso solo tramite:allowed_cidrs{ "ip_protocols": ["tcp", "6", "udp", "17"], "management_ports": [22, 23, 389, 636, 1494, 1604, 2222, 3389, 5900, 5901, 5985, 5986], "allowed_cidrs": ["10.0.0.0/8", "100.64.0.0/10", "172.16.0.0/12", "192.168.0.0/16"] }