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à.
Lavorare con i gruppi di sicurezza in Amazon EC2
Prerequisiti
Prima di iniziare, ti consigliamo di leggere la Guida introduttiva all'utilizzo di AWS SDK per C++.
Scarica il codice di esempio e crea la soluzione come descritto inGuida introduttiva agli esempi di codice.
Per eseguire gli esempi, il profilo utente utilizzato dal codice per effettuare le richieste deve disporre delle autorizzazioni appropriate AWS (per il servizio e l'azione). Per ulteriori informazioni, vedere Fornitura di AWS credenziali.
Crea un gruppo di sicurezza
Per creare un gruppo di sicurezza, chiama la CreateSecurityGroup
funzione del EC2 Client con una CreateSecurityGroupRequestche contenga il nome della chiave.
Include
#include <aws/ec2/EC2Client.h> #include <aws/ec2/model/CreateSecurityGroupRequest.h>
Codice
Aws::EC2::EC2Client ec2Client(clientConfiguration); Aws::EC2::Model::CreateSecurityGroupRequest request; request.SetGroupName(groupName); request.SetDescription(description); request.SetVpcId(vpcID); const Aws::EC2::Model::CreateSecurityGroupOutcome outcome = ec2Client.CreateSecurityGroup(request); if (!outcome.IsSuccess()) { std::cerr << "Failed to create security group:" << outcome.GetError().GetMessage() << std::endl; return false; } std::cout << "Successfully created security group named " << groupName << std::endl;
Guarda l'esempio completo
Configurare un gruppo di sicurezza
Un gruppo di sicurezza può controllare sia il traffico in entrata (ingresso) che quello in uscita (uscita) verso le tue istanze Amazon. EC2
Per aggiungere regole di ingresso al tuo gruppo di sicurezza, usa la AuthorizeSecurityGroupIngress
funzione EC2 Client, fornendo il nome del gruppo di sicurezza e le regole di accesso (IpPermission) che desideri assegnargli all'interno di un oggetto. AuthorizeSecurityGroupIngressRequest Nell'esempio seguente viene mostrato come aggiungere autorizzazioni IP a un gruppo di sicurezza.
Include
#include <aws/ec2/model/AuthorizeSecurityGroupIngressRequest.h>
Codice
Aws::EC2::Model::AuthorizeSecurityGroupIngressRequest authorizeSecurityGroupIngressRequest; authorizeSecurityGroupIngressRequest.SetGroupId(groupID);
Aws::String ingressIPRange = "203.0.113.0/24"; // Configure this for your allowed IP range. Aws::EC2::Model::IpRange ip_range; ip_range.SetCidrIp(ingressIPRange); Aws::EC2::Model::IpPermission permission1; permission1.SetIpProtocol("tcp"); permission1.SetToPort(80); permission1.SetFromPort(80); permission1.AddIpRanges(ip_range); authorize_request.AddIpPermissions(permission1); Aws::EC2::Model::IpPermission permission2; permission2.SetIpProtocol("tcp"); permission2.SetToPort(22); permission2.SetFromPort(22); permission2.AddIpRanges(ip_range); authorize_request.AddIpPermissions(permission2);
Aws::EC2::Model::AuthorizeSecurityGroupIngressOutcome authorizeSecurityGroupIngressOutcome = ec2Client.AuthorizeSecurityGroupIngress(authorizeSecurityGroupIngressRequest); if (authorizeSecurityGroupIngressOutcome.IsSuccess()) { std::cout << "Successfully authorized security group ingress." << std::endl; } else { std::cerr << "Error authorizing security group ingress: " << authorizeSecurityGroupIngressOutcome.GetError().GetMessage() << std::endl; }
Per aggiungere una regola di uscita al gruppo di sicurezza, fornisci dati simili in e AuthorizeSecurityGroupEgressRequestalla AuthorizeSecurityGroupEgress
funzione del EC2 Client.
Guarda l'esempio completo
Descrivere i gruppi di sicurezza
Per descrivere i tuoi gruppi di sicurezza o ottenere informazioni su di essi, chiama la DescribeSecurityGroups
funzione del EC2 Client con un DescribeSecurityGroupsRequest.
Riceverai un oggetto DescribeSecurityGroupsResponsenel risultato che potrai usare per accedere all'elenco dei gruppi di sicurezza chiamando la sua GetSecurityGroups
funzione, che restituisce un elenco di SecurityGroupoggetti.
Include
#include <aws/ec2/EC2Client.h> #include <aws/ec2/model/DescribeSecurityGroupsRequest.h> #include <aws/ec2/model/DescribeSecurityGroupsResponse.h> #include <iomanip> #include <iostream>
Codice
Aws::EC2::EC2Client ec2Client(clientConfiguration); Aws::EC2::Model::DescribeSecurityGroupsRequest request; if (!groupID.empty()) { request.AddGroupIds(groupID); } Aws::String nextToken; do { if (!nextToken.empty()) { request.SetNextToken(nextToken); } Aws::EC2::Model::DescribeSecurityGroupsOutcome outcome = ec2Client.DescribeSecurityGroups(request); if (outcome.IsSuccess()) { std::cout << std::left << std::setw(32) << "Name" << std::setw(30) << "GroupId" << std::setw(30) << "VpcId" << std::setw(64) << "Description" << std::endl; const std::vector<Aws::EC2::Model::SecurityGroup> &securityGroups = outcome.GetResult().GetSecurityGroups(); for (const auto &securityGroup: securityGroups) { std::cout << std::left << std::setw(32) << securityGroup.GetGroupName() << std::setw(30) << securityGroup.GetGroupId() << std::setw(30) << securityGroup.GetVpcId() << std::setw(64) << securityGroup.GetDescription() << std::endl; } } else { std::cerr << "Failed to describe security groups:" << outcome.GetError().GetMessage() << std::endl; return false; } nextToken = outcome.GetResult().GetNextToken(); } while (!nextToken.empty());
Guarda l'esempio completo
Eliminare un gruppo di sicurezza
Per eliminare un gruppo di sicurezza, chiamate la DeleteSecurityGroup
funzione del EC2 Client, passandole una DeleteSecurityGroupRequestche contenga l'ID del gruppo di sicurezza da eliminare.
Include
#include <aws/ec2/EC2Client.h> #include <aws/ec2/model/DeleteSecurityGroupRequest.h> #include <iostream>
Codice
Aws::EC2::EC2Client ec2Client(clientConfiguration); Aws::EC2::Model::DeleteSecurityGroupRequest request; request.SetGroupId(securityGroupID); Aws::EC2::Model::DeleteSecurityGroupOutcome outcome = ec2Client.DeleteSecurityGroup(request); if (!outcome.IsSuccess()) { std::cerr << "Failed to delete security group " << securityGroupID << ":" << outcome.GetError().GetMessage() << std::endl; } else { std::cout << "Successfully deleted security group " << securityGroupID << std::endl; }
Guarda l'esempio completo
Ulteriori informazioni
-
Gruppi EC2 di sicurezza Amazon nella Guida per EC2 l'utente di Amazon
-
Autorizzazione del traffico in entrata per le tue istanze Linux nella Amazon User Guide EC2
-
CreateSecurityGroupnell'Amazon EC2 API Reference
-
DescribeSecurityGroupsnell'Amazon EC2 API Reference
-
DeleteSecurityGroupnell'Amazon EC2 API Reference
-
AuthorizeSecurityGroupIngressnell'Amazon EC2 API Reference