Erfahren Sie, wie Sie Ihr AWS-Konto mit Cloud-Konten verbinden, wenn Sie die Stack-Vorlage nicht verwenden können.
Einige AWS-Konten erlauben nicht die Verwendung von Stack-Vorlagen, um Ressourcen
innerhalb der Cloud-Umgebung bereitzustellen. Dies liegt in der Regel an Sicherheitsrichtlinien,
die die automatische Erstellung von IAM-Richtlinien und -Rollen verhindern, die vom
Bereitstellungsskripts innerhalb der Stack-Vorlage benötigt werden.
Um ein AWS-Konto manuell zu verbinden, nutzen Sie die API-Ressourcen im Automation Center. Die Bereitstellung mit dieser Methode ermöglicht die folgenden Funktionen und Berechtigungen:
-
Core Features and Cyber Risk Exposure Management: Der Kernsatz von Funktionen und Berechtigungen erforderlich, um Ihr AWS-Konto zu verbinden.
-
Container Protection for Amazon ECS (optional): Dieses Funktionsset ermöglicht es Container Security, eine Verbindung zu Ihrem AWS-Konto herzustellen und Komponenten bereitzustellen, um Ihre Container und Container-Images in Elastic Container Service (ECS)-Umgebungen zu schützen.
Wichtig
|
Schritt 1: Erstellen und Herunterladen der Stapelvorlage
Generieren Sie eine Stack-Vorlage entweder über die Trend Vision One-Konsole oder durch Aufrufen einer API.
Prozedur
- Generieren und herunterladen der Stack-Vorlage:
-
Greifen Sie auf die Trend Vision One-Konsole zu und erstellen Sie die Vorlage.
-
Navigieren Sie in der Trend Vision One Konsole zu
-
Klicken Sie auf Konto hinzufügen.
-
Wählen Sie im Fenster Deployment Type CloudFormation und Single AWS Account aus.
-
Klicken Sie auf Weiter.
-
Geben Sie Account name, Beschreibung an und wählen Sie die AWS-Region für die Bereitstellung aus.
-
Wenn Sie mehr als eine Server- & Workload-Protection-Manager-Instanz haben, wählen Sie die Instanz aus, die mit dem verbundenen Konto verknüpft werden soll, und klicken Sie auf Weiter.
-
Klicken Sie auf Weiter, ohne das Fenster Features and Permissions zu konfigurieren.
-
Klicken Sie auf Download and Review Template.

Hinweis
Die Felder Name des Kontos und Beschreibung werden nicht in die Überprüfungsvorlage exportiert. Sie können diese Parameter beim Aufruf der Add AWS account API angeben. -
-
Rufen Sie eine API auf, um die Vorlage abzurufen.
-
Suchen Sie die Generate AWS CloudFormation template-API im Automatisierungszentrum.
-
Wechseln Sie in die
query_params-Zeichenfolgen. -
Geben Sie für
awsRegiondie AWS-Region an, in der Sie die Stack-Vorlage und die Kernfunktionen bereitstellen möchten. Die Standardregion basiert auf Ihrer Trend Vision One-Region. -
Für
featuresundfeatureAwsREgionslassen Sie die Parameter leer. -
Speichern Sie Ihre Änderungen und rufen Sie die API auf.Die API gibt Folgendes zurück:
-
templateUrl: Die URL zum Herunterladen der Vorlage. -
visionOneOidcProviderUrl: Ein erforderlicher Parameter für die Bereitstellung der Vorlage. -
createStackUrl: URL der AWS CloudFormation-Konsole, die auf die CloudFormation-Vorlage von Trend Vision One verweist.
-
-
Vorlage herunterladen.
-
-
Schritt 2: Fügen Sie Trend Vision One als Identitätsanbieter hinzu
Verwenden Sie den Identity and Access Management (IAM)-Dienst in der AWS-Konsole,
um Trend Vision One Zugriff auf Ihr AWS-Konto zu gewähren.
- Zugriff auf die AWS-Konsole.
- Fügen Sie Trend Vision One als Identitätsanbieter hinzu.
- Öffnen Sie im AWS-Console den Dienst Identity and Access Management (IAM).
- Navigieren Sie zu .
- Klicken Sie auf Add provider.
Das Fenster Add an Identity provider screen wird angezeigt.
- Im Abschnitt Configure provider wählen Sie OpenID Connect aus.
- Für die Anbieter-URL geben Sie Provider URL ein oder fügen Sie sie ein.
-
Wenn Sie die API verwendet haben, um die Vorlage aufzurufen, kopieren und fügen Sie den Parameter
visionOneOidcProviderUrlein, den die API zurückgegeben hat. -
Wenn Sie die Vorlage heruntergeladen haben, geben Sie cloudaccounts-{region}.xdr.trendmicro.com ein, wobei
{region}Ihre Trend Vision One-Region ist (us, eu, au, sg, in,oderjp)Zum Beispiel, wenn Ihre Trend Vision One Region die USA ist, ist IhrevisionOneOidcProviderUrlcloudaccounts-us.xdr.trendmicro.com
-
- Für Zielgruppe geben Sie arn:aws:iam::${AWSAccountId}:root ein.
Ersetzen Sie
${AWSAccountId}durch Ihre AWS-Konto-ID.
- Klicken Sie auf Get thumbprint.
- Klicken Sie auf Add provider.
Der Anbieter wird zur Identity providers-Liste hinzugefügt.
- Klicken Sie auf den Namen des Anbieters, den Sie erstellt haben.
Der Bildschirm mit den Anbieterdetails öffnet sich.
- Kopieren Sie die Anbieter-ARN, um sie in einem späteren Schritt bei der Erstellung der Rolle zu verwenden.
- Suchen Sie den Abschnitt Thumbprints und klicken Sie auf Manage.
- Löschen Sie den beim Erstellen des Anbieters generierten Fingerabdruck und fügen Sie
die folgenden Fingerabdrücke ein.
Klicken Sie auf Add thumbprint, um jede neue Zeile hinzuzufügen.
-
9e99a48a9960b14926bb7f3b02e22da2b0ab7280 -
9565AD13689C2C4B4F018BE31767084D197F2692 -
8CF427FD790C3AD166068DE81E57EFBB932272D4 -
F21C12F46CDB6B2E16F09F9419CDFF328437B2D7

-
- Klicken Sie auf Änderungen speichern.
Schritt 3: Fügen Sie die Trend Vision One-Richtlinien hinzu
Fügen Sie Trend Vision One-Richtlinien zum Identity and Access Management (IAM)-Dienst hinzu, um Zugriffsberechtigungen
festzulegen. Um die Richtlinien anzuzeigen und zu kopieren, siehe AWS-Richtlinien im JSON-Format.
WichtigStellen Sie bei jeder Richtlinie sicher, dass die zweite Zeile des Codes
"Version": "2012-10-17" beibehalten wird. Das Löschen der Zeile könnte dazu führen, dass die Richtlinie nicht
korrekt funktioniert. |
Prozedur
- Gehen Sie im Identity and Access Management-Dienst zu .
- Erstellen Sie die
VisionOnePolicyPart1-Richtlinie:- Klicken Sie auf Create policy.
- Für Policy editor wählen Sie JSON.
- Kopieren und ersetzen Sie den
Statement-Parameter mit demselben Parameter ausVisionOnePolicyPart1in Ihrer heruntergeladenen Vorlagendatei.Sie können auch auf diesen Link klicken, um den JSON-Code direkt anzuzeigen und zu kopieren. - Klicken Sie auf Weiter.
- Für Richtlinienname geben Sie VisionOnePolicyPart1 ein.
- Klicken Sie auf Create policy.Die Richtlinie
VisionOnePolicyPart1wird erstellt und der Bildschirm Richtlinien erscheint.
- Erstellen Sie die
VisionOnePolicyPart2-Richtlinie:- Klicken Sie auf Create policy.
- Für Policy editor wählen Sie JSON.Sie können auch diesen Link anklicken, um den JSON-Code direkt anzuzeigen und zu kopieren.
- Klicken Sie auf Weiter.
- Für Richtlinienname geben Sie VisionOnePolicyPart2 ein.
- Klicken Sie auf Create policy.Die Richtlinie
VisionOnePolicyPart2wird erstellt und der Bildschirm Richtlinien erscheint.
- Erstellen Sie die
VisionOnePolicyPart3-Richtlinie:- Klicken Sie auf Create policy.
- Für Policy editor wählen Sie JSON.Sie können auch auf diesen Link klicken, um den JSON-Code direkt anzuzeigen und zu kopieren.
- Klicken Sie auf Weiter.
- Für Richtlinienname geben Sie VisionOnePolicyPart3 ein.
- Klicken Sie auf Create policy.Die
VisionOnePolicyPart3-Richtlinie wird erstellt und der Richtlinien-Bildschirm erscheint.
- Erstellen Sie die
VisionOneFeaturesPolicy-Richtlinie:- Klicken Sie auf Create policy.
- Für Policy editor wählen Sie JSON.Sie können auch auf diesen Link klicken, um den JSON-Code direkt anzusehen und zu kopieren.

Wichtig
Sie müssen alle Platzhalterinstanzen von<AWS-Account-ID>durch Ihre AWS-Konto-ID ersetzen. - Klicken Sie auf Weiter.
- Für Richtlinienname geben Sie VisionOneFeaturesPolicy ein.
- Klicken Sie auf Create policy.Die
VisionOneFeaturesPolicy-Richtlinie wird erstellt und der Richtlinien-Bildschirm erscheint.
Schritt 4: Container Security mit Terraform bereitstellen (optional)
In diesem optionalen Schritt verwenden Sie Terraform, um Container Security in Ihrem
AWS-Konto bereitzustellen, um Ihre Amazon ECS-Container und Container-Images zu schützen.
Mit dieser Methode können Sie Container Security auf Ihrem AWS-Konto aktivieren, ohne
auf die Trend Vision One console zugreifen zu müssen. Wenn Sie Container Security
nicht mit Terraform aktivieren möchten, können Sie es auf dem AWS-Konto in Trend Vision
One aktivieren, nachdem das Konto verbunden wurde. Weitere Informationen finden Sie
unter Amazon ECS-Cluster mit einem bestehenden AWS-Konto verbinden.
Prozedur
- Zugriff auf die AWS-Konsole.
- Laden Sie das Vorlagenpaket mit dem folgenden Befehl in Ihre Umgebung herunter:
curl https://container-security-us-east-1-484917860638.s3.amazonaws.com/templates/terraform/ecs_container_security_tf.zip --output container-security-terraform-package.zip - Extrahieren Sie die Vorlage mit folgendem Befehl:
unzip -o container-security-terraform-package.zip -d container-security-terraform-package
Hinweis
Sie müssen die Berechtigung haben, Dateien in Ihrer Umgebung zu entpacken. - Greifen Sie mit folgendem Befehl auf den extrahierten Ordner zu:
cd container-security-terraform-package - Kopieren Sie die terraform.tfvars.example nach terraform.tfvars mit dem folgenden
Befehl:
cp terraform.tfvars.example terraform.tfvars - Ändern Sie die Variablen in der
terraform.tfvars-Datei basierend auf Ihrer gewünschten Konfiguration:- Stellen Sie den vision_one_endpoint_parameter_value so ein, dass er mit Ihrer Trend Vision One-Region übereinstimmt, indem Sie die folgenden
Endpunktwerte verwenden:
-
Naher Osten und Afrika: https://api.mea.xdr.trendmicro.com/external/v2/direct/vcs/external/vcs
- Setzen Sie die anderen Variablen nach Bedarf. Verwenden Sie beispielsweise stackset_regions, um alle AWS-Regionen anzugeben, in denen Container Security installiert werden soll, oder verwenden Sie common_tags, um benutzerdefinierte Tags für alle Ressourcen festzulegen.
- Stellen Sie den vision_one_endpoint_parameter_value so ein, dass er mit Ihrer Trend Vision One-Region übereinstimmt, indem Sie die folgenden
Endpunktwerte verwenden:
- Verwenden Sie die folgenden Befehle, um die Terraform-Vorlage bereitzustellen:
terraform init terraform plan terraform apply

Hinweis
Sie müssen Terraform installiert haben, um diesen Schritt abzuschließen.
Schritt 5: Fügen Sie die Trend Vision One-Rolle hinzu
- Fügen Sie die Trend Vision One-Rolle hinzu.
- Gehen Sie im Identity and Access Management-Dienst zu .
- Klicken Sie auf Create role.
- Für Trusted entity type wählen Sie Custom trust policy.
The Custom trust policy JSON editor appears.
- Ersetzen Sie den Platzhaltercode durch den folgenden JSON-Code:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "${visionOneOIDCProvider}" }, "Action": [ "sts:AssumeRoleWithWebIdentity", "sts:SetSourceIdentity" ], "Condition": { "StringEquals": { "${visionOneOIDCProviderURL}:aud": "arn:aws:iam::${AWSAccountId}:root", "${visionOneOIDCProviderURL}:sub": [ "urn:visionone:identity:${visionOneRegion}:${visionOneAccountID}:account/${visionOneAccountID}" ] } } } ] } - Ersetzen Sie die Zeichenfolgen für die folgenden Parameter:
ParameterBeschreibungBeispiel
"Föderiert"Ersetzen Sie"${visionOneOIDCProvider}"durch die Anbieter-ARN für den Anbieter, den Sie in Schritt 2: Fügen Sie Trend Vision One als Identitätsanbieter hinzu erstellt haben.Zum Beispiel, wenn Ihre Trend Vision One Region die USA ist, folgt die ARN dem Format "arn:aws:iam::1xxxxxxxxxx1:oidc-provider/cloudaccounts-us.xdr.trendmicro.com""StringEquals"Ersetzen Sie beide Instanzen von"${visionOneOIDCProviderURL}"durch den Wert, den Sie bei der Erstellung des Anbieters in Schritt 2: Fügen Sie Trend Vision One als Identitätsanbieter hinzu verwendet haben.Wenn Ihre Trend Vision One-Region beispielsweise die USA ist, verwenden Sie cloudaccounts-us.xdr.trendmicro.comErsetzen Sie in der Zeichenfolge"arn:aws:iam::${AWSAccountID}:root"${AWS::AccountID}durch Ihre AWS-Konto-ID.Der String sollte dem Format "arn:aws:iam::1xxxxxxxxxx1:root" folgenIm String, der mit"urn:visionone:identity:..."beginnt, ersetzen Sie die folgenden Parameter:-
${visionOneRegion}: Ihre Trend Vision One-Region (us, eu, au, sg, in,oderjp) -
${visionOneAccountID}Ihre Trend Vision One Geschäfts-ID. Stellen Sie sicher, dass beide Instanzen ersetzt werden.
Wenn Ihre Trend Vision One-Region die USA ist, sieht die Zeichenfolge wie folgt aus: "urn:visionone:identity:us:1#####1:account/1#####1" -
- Klicken Sie auf Weiter.
- Auf dem Add permissions-Bildschirm suchen Sie nach den von Ihnen erstellten Richtlinien und wählen Sie alle aus.
- Klicken Sie auf Weiter.
- Geben Sie auf dem Bildschirm Name, review, and create VisionOneRole für die Role name ein.
- Unter Step 3: Add tags die folgenden Tags hinzufügen.
SchlüsselWertVisionOneFunktionenGeben Sie einen der folgenden Werte ein:
-
Wenn Sie Container Security in Schritt 4: Container Security mit Terraform bereitstellen (optional) bereitgestellt haben, geben Sie container-security ein
-
Wenn Sie Container Security nicht bereitgestellt haben, lassen Sie den Wert als VisionOneFeatures: Base.
VisionOneCloudFormationStackNameVision-One-Cloud-KontoverwaltungVisionOneCloudFormationStackRegionGeben Sie die AWS-Region ein, in der Sie die Ressourcen bereitstellen möchten. Zum Beispiel us-east-1. -
- Klicken Sie auf Create role.
- Sobald die Erstellung abgeschlossen ist, klicken Sie auf den Rollennamen für die Rolle, die Sie erstellt haben.
- In der Rollendetailansicht kopieren Sie die ARN, um sie in einem späteren Schritt mit der Add AWS account API zu verwenden.
Schritt 6: Verbinden Sie das AWS-Konto mithilfe der API "AWS-Konto hinzufügen"
Im letzten Schritt geben Sie Parameterwerte an und rufen die Add AWS account-API auf, um Ihr AWS-Konto mit Trend Vision One zu verbinden.
Prozedur
- Greifen Sie über das Automation Center auf die API zu oder kopieren Sie den folgenden Code zur Anpassung:
import json import requests BASE_URL = "https://api.xdr.trendmicro.com" # Modify this to the correct endpoint for your region following https://automation.trendmicro.com/xdr/Guides/Regional-domains/ ACCOUNTS_PATH = "/beta/xdr/cam/awsAccounts" TOKEN = "API Keys" # Required inputs ROLE_ARN = "YOUR_ROLEARN" # e.g. arn:aws:iam::123456789012:role/VisionOneRole ACCOUNT_NAME = "YOUR_ACCOUNT_NAME" # Display name in Cloud Accounts DESCRIPTION = "YOUR_DESCRIPTION" # Optional description # Features: # Leave empty to skip features will not enable any # Example structure # FEATURES = [ # { # "id": "container-security", # "regions": ["us-east-1"] # } # ] FEATURES = [] # Leave empty to skip features (will not enable V1CS) # Optional connected security services (example placeholder) # CONNECTED_SECURITY_SERVICES = [ # { # "name": "workload", # "instanceIds": ["INSTANCE_ID_1"] # } # ] CONNECTED_SECURITY_SERVICES = [] # Timeouts / settings REQUEST_TIMEOUT = 30 headers = { "Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json;charset=utf-8", } # Base body (mirrors original script structure) body = { "roleArn": ROLE_ARN, "name": ACCOUNT_NAME, "description": DESCRIPTION, } if FEATURES: body["features"] = FEATURES if CONNECTED_SECURITY_SERVICES: body["connectedSecurityServices"] = CONNECTED_SECURITY_SERVICES def list_accounts(): """Return list of existing AWS accounts or None if request fails.""" try: resp = requests.get(f"{BASE_URL}{ACCOUNTS_PATH}", headers=headers, timeout=REQUEST_TIMEOUT) if resp.status_code // 100 == 2: data = resp.json() if isinstance(data, dict) and "items" in data: return data.get("items", []) if isinstance(data, list): return data return None except Exception: return None def find_existing(accounts, role_arn, name): """Find existing account by roleArn or name; returns account dict or None.""" if not accounts: return None for acct in accounts: if acct.get("roleArn") == role_arn or acct.get("name") == name: return acct return None def _print_request(method: str, url: str, payload: dict): """Standardized pre-request logging to mimic legacy verbose output.""" print(f"Request URL: {url}") print(f"Request Headers: {headers}") if payload is not None: try: print("Request Body:") print(json.dumps(payload, indent=2)) except Exception: print(f"Request Body (raw): {payload}") def add_account(payload): url = f"{BASE_URL}{ACCOUNTS_PATH}" _print_request("POST", url, payload) return requests.post( url, headers=headers, params={}, json=payload, timeout=REQUEST_TIMEOUT, ) def patch_account(account_id, payload): url = f"{BASE_URL}{ACCOUNTS_PATH}/{account_id}" _print_request("PATCH", url, payload) return requests.patch( url, headers=headers, params={}, json=payload, timeout=REQUEST_TIMEOUT, ) def main(): print("Starting AWS account onboarding (idempotent)...") response = None accounts = list_accounts() if accounts is not None: existing = find_existing(accounts, ROLE_ARN, ACCOUNT_NAME) if existing and existing.get("id"): acct_id = existing["id"] print(f"Existing account found (id={acct_id}). Sending PATCH...") try: response = patch_account(acct_id, body) except Exception as e: print(f"PATCH failed ({e}); falling back to POST") response = add_account(body) else: print("No matching account found. Sending POST...") response = add_account(body) else: print("List call failed or returned nothing. Sending POST (original behavior)...") response = add_account(body) # Output diagnostics print("Status:", response.status_code) for k, v in response.headers.items(): print(f"{k}: {v}") print() ctype = response.headers.get("Content-Type", "") if "application/json" in ctype: try: print(json.dumps(response.json(), indent=4)) except Exception: print(response.text) else: print(response.text) if not (response.status_code // 100 == 2): raise SystemExit("Request failed. See output above.") if __name__ == "main" or __name__ == "__main__": main() - Geben Sie die Werte für die folgenden Parameter im API-Code an:
-
ParameterWert
roleArnDie ARN für die Rolle, die Sie in Schritt 5: Fügen Sie die Trend Vision One-Rolle hinzu erstellt haben.nameDer Name des Kontos, wie er in der Cloud-Konten-App erscheint.Der Name muss innerhalb der Cloud-Konten-App eindeutig sein.descriptionDie Beschreibung des Kontos, wie sie in der Cloud-Konten-App erscheint.FunktionenWählen Sie eine der folgenden Optionen:-
Wenn Sie Container Security in Schritt 4: Container Security mit Terraform bereitstellen (optional) nicht aktiviert haben, lassen Sie diesen Wert leer.
-
Um Container Security zu aktivieren, geben Sie die folgenden Werte an:
-
"id": "container-sicherheit" -
"regions": ["us-east-1", "another region"]. Fügen Sie alle Regionen hinzu, in denen Sie Container Security aktivieren möchten.
-
TokenDer Wert, der angezeigt wird, wenn Sie einen API-Schlüssel in Server & Workload Protection erstellen. Für weitere Informationen siehe Erstellen Sie einen API-Schlüssel mit der Server- und Workload Protection-Konsole.
Hinweis
Das Token wird nur einmal angezeigt, wenn ein API-Schlüssel erstellt wird. Wenn Sie es nicht bestätigen können, erstellen Sie einen neuen Schlüssel zur Verifizierung.verbundene_SicherheitsdiensteWenn Sie mindestens eine Server & Workload Protection-Instanz bereitgestellt haben, müssen Sie die folgenden Parameter für connectedSecurityServicesangeben:-
"name": "Arbeitslast" -
Instanz-ID: Die Instanz-ID für die Server- & Workload Protection-Instanz, die Sie mit Ihrem verbundenen AWS-Konto verknüpfen möchtenSie finden die Instanz-ID in der Trend Vision One-Konsole, indem Sie zu gehen.
Wichtig
Sie können nur eine Server- und Workload-Protection-Instanz mit einer AWS-Kontoverbindung verknüpfen.
-
- Rufen Sie die Add AWS account-API auf. Die API gibt eine Liste der vorhandenen verbundenen AWS-Konten zurück und
führt eine der folgenden Aktionen aus:
-
Wenn ein AWS-Konto mit einem passenden
roleArnodernameexistiert, aktualisiert die API das Konto, um den Namen und die Beschreibung zu aktualisieren, und aktiviert Container Security, wenn Sie die erforderlichen Werte für denfeatures-Parameter angegeben haben. -
Wenn keine passenden AWS-Konten zurückgegeben werden, verbindet die Cloud-Konten-App in Trend Vision One sich mit Ihrem AWS-Konto. Sie können die Verbindung in der Cloud-Konten-App überprüfen oder indem Sie die Get Connected AccountsAPI aufrufen.
-
Nächste Schritte
Zeigen Sie das AWS-Konto in Trend Vision One an, indem Sie zu gehen. Optional können Sie zusätzliche Sicherheitsfunktionen für das Konto auf der AWS-Stack-Aktualisierung-Registerkarte in den Cloud-Kontoeinstellungen aktivieren.AWS-Richtlinien im JSON-Format
Die für die Verbindung von Cloud-Konten mit Ihrem AWS-Konto erforderlichen AWS-IAM-Richtlinien werden in JSON-Codeblöcken bereitgestellt.
Die folgenden JSON-Codeblöcke sind erforderlich, wenn Sie Ihr AWS-Konto manuell mit
der Trend Vision One Cloud-Konten-App verbinden. Sie finden diese Codeblöcke in der Stack-Vorlagendatei,
wenn Sie sie von Cloud-Konten herunterladen oder eine API verwenden, um die Vorlage
abzurufen. Die Richtlinien sind nicht einzigartig für Ihr AWS-Konto oder Trend Vision One-Konto. Weitere Informationen zur Verwendung des Codes finden Sie unter Ein AWS-Konto manuell verbinden.
Verwenden Sie die Links, um zum benötigten Richtliniencode zu springen:
-
Richtlinie 1:
VisionOnePolicyPart1 -
Richtlinie 2:
VisionOnePolicyPart2 -
Richtlinie 3:
VisionOnePolicyPart3 -
Richtlinie 4:
VisionOneFeaturesPolicy
Richtlinie 1:
VisionOnePolicyPart1{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"access-analyzer:ListAnalyzers",
"access-analyzer:ListFindings",
"acm:DescribeCertificate",
"acm:ListCertificates",
"acm:ListTagsForCertificate",
"apigateway:GET",
"appflow:DescribeFlow",
"appflow:ListFlows",
"application-autoscaling:DescribeScalableTargets",
"application-autoscaling:DescribeScalingActivities",
"application-autoscaling:DescribeScalingPolicies",
"application-autoscaling:DescribeScheduledActions",
"athena:GetQueryExecution",
"athena:ListQueryExecutions",
"athena:ListTagsForResource",
"autoscaling:DescribeAccountLimits",
"autoscaling:DescribeAutoScalingGroups",
"autoscaling:DescribeAutoScalingInstances",
"autoscaling:DescribeLaunchConfigurations",
"autoscaling:DescribeLoadBalancerTargetGroups",
"autoscaling:DescribeLoadBalancers",
"autoscaling:DescribeNotificationConfigurations",
"autoscaling:DescribeTags",
"backup:DescribeBackupVault",
"backup:GetBackupVaultAccessPolicy",
"backup:ListBackupVaults",
"ce:GetAnomalies",
"ce:GetAnomalyMonitors",
"cloudformation:DescribeAccountLimits",
"cloudformation:DescribeStackDriftDetectionStatus",
"cloudformation:DescribeStackEvents",
"cloudformation:DescribeStackResources",
"cloudformation:DescribeStacks",
"cloudformation:DetectStackDrift",
"cloudformation:GetStackPolicy",
"cloudformation:GetTemplate",
"cloudformation:ListStackInstances",
"cloudformation:ListStackResources",
"cloudformation:ListStacks",
"cloudfront:GetDistribution",
"cloudfront:ListDistributions",
"cloudfront:ListTagsForResource",
"cloudtrail:DescribeTrails",
"cloudtrail:GetEventSelectors",
"cloudtrail:GetTrailStatus",
"cloudtrail:ListTags",
"cloudwatch:DescribeAlarms",
"cloudwatch:DescribeAlarmsForMetric",
"cloudwatch:GetMetricStatistics",
"cloudwatch:ListMetrics",
"comprehend:ListDocumentClassificationJobs",
"comprehend:ListDominantLanguageDetectionJobs",
"comprehend:ListEntitiesDetectionJobs",
"comprehend:ListKeyPhrasesDetectionJobs",
"comprehend:ListSentimentDetectionJobs",
"comprehend:ListTopicsDetectionJobs",
"compute-optimizer:GetAutoScalingGroupRecommendations",
"compute-optimizer:GetEC2InstanceRecommendations",
"config:DescribeComplianceByConfigRule",
"config:DescribeConfigRules",
"config:DescribeConfigurationRecorderStatus",
"config:DescribeConfigurationRecorders",
"config:DescribeDeliveryChannelStatus",
"config:DescribeDeliveryChannels",
"config:GetComplianceDetailsByConfigRule",
"config:GetResourceConfigHistory",
"config:SelectResourceConfig",
"dax:DescribeClusters",
"dax:ListTags",
"dms:DescribeReplicationInstances",
"dms:ListTagsForResource",
"ds:DescribeDirectories",
"ds:ListTagsForResource",
"dynamodb:DescribeContinuousBackups",
"dynamodb:DescribeLimits",
"dynamodb:DescribeTable",
"dynamodb:ListBackups",
"dynamodb:ListTables",
"dynamodb:ListTagsOfResource",
"ec2:DescribeAccountAttributes",
"ec2:DescribeAddresses",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeEgressOnlyInternetGateways",
"ec2:DescribeFlowLogs",
"ec2:DescribeImages",
"ec2:DescribeInstanceAttribute",
"ec2:DescribeInstanceStatus",
"ec2:DescribeInstances",
"ec2:DescribeInternetGateways",
"ec2:DescribeKeyPairs",
"ec2:DescribeManagedPrefixLists",
"ec2:DescribeNatGateways",
"ec2:DescribeNetworkAcls",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeRegions",
"ec2:DescribeReservedInstances",
"ec2:DescribeRouteTables",
"ec2:DescribeSecurityGroupReferences",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSnapshotAttribute",
"ec2:DescribeSnapshots",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"ec2:DescribeTransitGatewayPeeringAttachments",
"ec2:DescribeTransitGatewayRouteTables",
"ec2:DescribeTransitGateways",
"ec2:DescribeVolumes",
"ec2:DescribeVpcAttribute",
"ec2:DescribeVpcEndpoints",
"ec2:DescribeVpcPeeringConnections",
"ec2:DescribeVpcs",
"ec2:DescribeVpnConnections",
"ec2:DescribeVpnGateways",
"ec2:GetEbsEncryptionByDefault",
"ec2:SearchTransitGatewayRoutes",
"ecr:DescribeImages",
"ecr:DescribeRepositories",
"ecr:GetLifecyclePolicy",
"ecr:GetRepositoryPolicy",
"ecs:DescribeClusters",
"ecs:DescribeContainerInstances",
"ecs:DescribeServices",
"ecs:DescribeTaskDefinition",
"ecs:DescribeTasks",
"ecs:ListClusters",
"ecs:ListContainerInstances",
"ecs:ListServices",
"ecs:ListTagsForResource",
"ecs:ListTaskDefinitions",
"ecs:ListTasks",
"eks:DescribeCluster",
"eks:ListClusters",
"elasticache:DescribeCacheClusters",
"elasticache:DescribeReplicationGroups",
"elasticache:DescribeReservedCacheNodes",
"elasticache:ListTagsForResource",
"elasticbeanstalk:DescribeConfigurationSettings",
"elasticbeanstalk:DescribeEnvironments",
"elasticfilesystem:DescribeFileSystems",
"elasticfilesystem:DescribeTags",
"elasticloadbalancing:DescribeListeners",
"elasticloadbalancing:DescribeLoadBalancerAttributes",
"elasticloadbalancing:DescribeLoadBalancerPolicies",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeRules",
"elasticloadbalancing:DescribeTags",
"elasticloadbalancing:DescribeTargetGroups",
"elasticloadbalancing:DescribeTargetHealth",
"elasticmapreduce:DescribeCluster",
"elasticmapreduce:ListClusters",
"elasticmapreduce:ListInstances",
"es:DescribeElasticsearchDomain",
"es:DescribeElasticsearchDomainConfig",
"es:DescribeElasticsearchDomains",
"es:DescribeElasticsearchInstanceTypeLimits",
"es:DescribeReservedElasticsearchInstanceOfferings",
"es:DescribeReservedElasticsearchInstances",
"es:ListDomainNames",
"es:ListElasticsearchInstanceTypes",
"es:ListElasticsearchVersions",
"es:ListTags",
"events:DescribeEventBus",
"events:ListRules",
"firehose:DescribeDeliveryStream",
"firehose:ListDeliveryStreams",
"firehose:ListTagsForDeliveryStream",
"glue:GetDataCatalogEncryptionSettings",
"glue:GetDatabases",
"glue:GetSecurityConfiguration",
"glue:GetSecurityConfigurations",
"guardduty:GetDetector",
"guardduty:GetFindings",
"guardduty:ListDetectors",
"guardduty:ListFindings",
"health:DescribeAffectedEntities",
"health:DescribeEventDetails",
"health:DescribeEvents",
"iam:GenerateCredentialReport",
"iam:GetAccessKeyLastUsed",
"iam:GetAccountAuthorizationDetails",
"iam:GetAccountPasswordPolicy",
"iam:GetAccountSummary",
"iam:GetCredentialReport",
"iam:GetGroup",
"iam:GetGroupPolicy",
"iam:GetLoginProfile",
"iam:GetOpenIDConnectProvider"
],
"Resource": [
"*"
],
"Effect": "Allow"
}
]
}
Richtlinie 2:
VisionOnePolicyPart2{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"iam:GetPolicy",
"iam:GetPolicyVersion",
"iam:GetRole",
"iam:GetRolePolicy",
"iam:GetSAMLProvider",
"iam:GetServerCertificate",
"iam:GetUser",
"iam:GetUserPolicy",
"iam:ListAccessKeys",
"iam:ListAccountAliases",
"iam:ListAttachedGroupPolicies",
"iam:ListAttachedRolePolicies",
"iam:ListAttachedUserPolicies",
"iam:ListEntitiesForPolicy",
"iam:ListGroupPolicies",
"iam:ListGroups",
"iam:ListInstanceProfiles",
"iam:ListInstanceProfilesForRole",
"iam:ListMFADevices",
"iam:ListOpenIDConnectProviders",
"iam:ListPolicies",
"iam:ListPolicyTags",
"iam:ListPolicyVersions",
"iam:ListRolePolicies",
"iam:ListRoleTags",
"iam:ListRoles",
"iam:ListSAMLProviders",
"iam:ListSSHPublicKeys",
"iam:ListServerCertificates",
"iam:ListUserPolicies",
"iam:ListUserTags",
"iam:ListUsers",
"iam:ListVirtualMFADevices",
"inspector:DescribeAssessmentRuns",
"inspector:DescribeAssessmentTargets",
"inspector:DescribeAssessmentTemplates",
"inspector:DescribeExclusions",
"inspector:DescribeFindings",
"inspector:DescribeResourceGroups",
"inspector:ListAssessmentRuns",
"inspector:ListAssessmentTargets",
"inspector:ListAssessmentTemplates",
"inspector:ListExclusions",
"inspector:ListFindings",
"inspector:PreviewAgents",
"kafka:DescribeCluster",
"kafka:ListClusters",
"kafka:ListNodes",
"kinesis:DescribeStream",
"kinesis:ListStreams",
"kinesis:ListTagsForStream",
"kms:DescribeKey",
"kms:GetKeyPolicy",
"kms:GetKeyRotationStatus",
"kms:ListAliases",
"kms:ListGrants",
"kms:ListKeyPolicies",
"kms:ListKeys",
"kms:ListResourceTags",
"lambda:GetAccountSettings",
"lambda:GetFunctionConfiguration",
"lambda:GetPolicy",
"lambda:ListEventSourceMappings",
"lambda:ListFunctionUrlConfigs",
"lambda:ListFunctions",
"lambda:ListLayers",
"lambda:ListTags",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams",
"logs:DescribeMetricFilters",
"macie2:GetClassificationExportConfiguration",
"macie2:GetFindingStatistics",
"macie2:ListClassificationJobs",
"mq:DescribeBroker",
"mq:ListBrokers",
"organizations:DescribeAccount",
"organizations:DescribeCreateAccountStatus",
"organizations:DescribeHandshake",
"organizations:DescribeOrganization",
"organizations:DescribeOrganizationalUnit",
"organizations:DescribePolicy",
"organizations:ListAWSServiceAccessForOrganization",
"organizations:ListAccounts",
"organizations:ListAccountsForParent",
"organizations:ListChildren",
"organizations:ListCreateAccountStatus",
"organizations:ListHandshakesForAccount",
"organizations:ListHandshakesForOrganization",
"organizations:ListOrganizationalUnitsForParent",
"organizations:ListParents",
"organizations:ListPolicies",
"organizations:ListPoliciesForTarget",
"organizations:ListRoots",
"organizations:ListTargetsForPolicy",
"rds:DescribeAccountAttributes",
"rds:DescribeDBClusters",
"rds:DescribeDBInstances",
"rds:DescribeDBParameterGroups",
"rds:DescribeDBParameters",
"rds:DescribeDBSecurityGroups",
"rds:DescribeDBSnapshotAttributes",
"rds:DescribeDBSnapshots",
"rds:DescribeEventSubscriptions",
"rds:DescribeEvents",
"rds:DescribeReservedDBInstances",
"rds:ListTagsForResource",
"redshift:DescribeClusterParameterGroups",
"redshift:DescribeClusterParameters",
"redshift:DescribeClusters",
"redshift:DescribeLoggingStatus",
"redshift:DescribeReservedNodes",
"redshift:DescribeTags",
"route53:GetDNSSEC",
"route53:GetGeoLocation",
"route53:ListHostedZones",
"route53:ListResourceRecordSets",
"route53:ListTagsForResource",
"route53domains:GetDomainDetail",
"route53domains:ListDomains",
"route53domains:ListTagsForDomain",
"s3:GetAccelerateConfiguration",
"s3:GetAccountPublicAccessBlock",
"s3:GetBucketAcl",
"s3:GetBucketLocation",
"s3:GetBucketLogging",
"s3:GetBucketObjectLockConfiguration",
"s3:GetBucketPolicy",
"s3:GetBucketPolicyStatus",
"s3:GetBucketPublicAccessBlock",
"s3:GetBucketTagging",
"s3:GetBucketVersioning",
"s3:GetBucketWebsite",
"s3:GetEncryptionConfiguration",
"s3:GetLifecycleConfiguration",
"s3:ListAllMyBuckets",
"s3:ListBucket",
"sagemaker:DescribeNotebookInstance",
"sagemaker:ListNotebookInstances",
"sagemaker:ListTags",
"secretsmanager:DescribeSecret",
"secretsmanager:ListSecrets",
"securityhub:DescribeHub",
"securityhub:GetEnabledStandards",
"securityhub:GetFindings",
"securityhub:GetInsightResults",
"securityhub:GetInsights",
"securityhub:GetMasterAccount",
"securityhub:GetMembers",
"securityhub:ListEnabledProductsForImport",
"securityhub:ListInvitations",
"securityhub:ListMembers",
"servicequotas:ListServiceQuotas",
"ses:GetIdentityDkimAttributes",
"ses:GetIdentityPolicies",
"ses:GetIdentityVerificationAttributes",
"ses:ListIdentities",
"ses:ListIdentityPolicies",
"shield:DescribeSubscription",
"sns:GetTopicAttributes",
"sns:ListSubscriptionsByTopic",
"sns:ListTagsForResource",
"sns:ListTopics",
"sqs:GetQueueAttributes",
"sqs:ListQueueTags",
"sqs:ListQueues",
"ssm:AddTagsToResource",
"ssm:DeleteParameter",
"ssm:DescribeInstanceInformation",
"ssm:DescribeParameters",
"ssm:DescribeSessions",
"ssm:GetParameters",
"ssm:PutParameter",
"ssm:RemoveTagsFromResource",
"storagegateway:DescribeNFSFileShares",
"storagegateway:DescribeSMBFileShares",
"storagegateway:DescribeTapes",
"storagegateway:ListFileShares",
"storagegateway:ListTagsForResource",
"storagegateway:ListTapes",
"support:DescribeSeverityLevels",
"support:DescribeTrustedAdvisorCheckRefreshStatuses",
"support:DescribeTrustedAdvisorCheckResult",
"support:DescribeTrustedAdvisorChecks",
"support:RefreshTrustedAdvisorCheck",
"tag:GetResources",
"tag:GetTagKeys",
"tag:GetTagValues",
"transfer:DescribeServer",
"transfer:ListServers",
"waf:GetWebACL",
"waf:ListWebACLs",
"wafv2:ListWebACLs",
"wellarchitected:GetWorkload",
"wellarchitected:ListWorkloads",
"workspaces:DescribeTags",
"workspaces:DescribeWorkspaceBundles",
"workspaces:DescribeWorkspaceDirectories",
"workspaces:DescribeWorkspaces",
"workspaces:DescribeWorkspacesConnectionStatus",
"xray:GetEncryptionConfig"
],
"Effect": "Allow",
"Resource": [
"*"
]
}
]
}
Richtlinie 3:
VisionOnePolicyPart3{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"sqs:ListQueueTags",
"sqs:ListQueues",
"ssm:DescribeInstanceInformation",
"ssm:DescribeParameters",
"ssm:DescribeSessions",
"ssm:GetParameter",
"ssm:GetParameters",
"ssm:GetParametersByPath",
"ssm:PutParameter",
"storagegateway:DescribeNFSFileShares",
"storagegateway:DescribeSMBFileShares",
"storagegateway:DescribeTapes",
"storagegateway:ListFileShares",
"storagegateway:ListTagsForResource",
"storagegateway:ListTapes",
"support:DescribeSeverityLevels",
"support:DescribeTrustedAdvisorCheckRefreshStatuses",
"support:DescribeTrustedAdvisorCheckResult",
"support:DescribeTrustedAdvisorChecks",
"support:RefreshTrustedAdvisorCheck",
"tag:GetResources",
"tag:GetTagKeys",
"tag:GetTagValues",
"transfer:DescribeServer",
"transfer:ListServers",
"waf:GetWebACL",
"waf:ListWebACLs",
"wafv2:GetWebACL",
"wafv2:ListWebACLs",
"wellarchitected:GetWorkload",
"wellarchitected:ListWorkloads",
"workspaces:DescribeTags",
"workspaces:DescribeWorkspaceBundles",
"workspaces:DescribeWorkspaceDirectories",
"workspaces:DescribeWorkspaces",
"workspaces:DescribeWorkspacesConnectionStatus",
"xray:GetEncryptionConfig"
],
"Resource": [
"*"
],
"Effect": "Allow"
}
]
}
Richtlinie 4:
VisionOneFeaturesPolicy
WichtigSie müssen alle Platzhalterinstanzen von
<AWS-Account-ID> durch Ihre AWS-Konto-ID ersetzen. |
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"lambda:ListTags"
],
"Effect": "Allow",
"Resource": [
"*"
]
},
{
"Action": [
"sqs:SendMessage"
],
"Effect": "Allow",
"Resource": [
"arn:aws:sqs:*:<Aws-Account-ID>:StackSet-V1CSStackSet-*"
]
},
{
"Action": [
"ecs:DescribeServices",
"ecs:DeleteService",
"ecs:UpdateService",
"ecs:CreateService",
"ecs:TagResource",
"ecs:UntagResource"
],
"Effect": "Allow",
"Resource": [
"arn:aws:ecs:*:<Aws-Account-ID>:service/*/trendmicro-scout"
]
},
{
"Action": [
"ssm:PutParameter",
"ssm:DeleteParameters",
"ssm:AddTagsToResource",
"ssm:RemoveTagsFromResource"
],
"Effect": "Allow",
"Resource": [
"arn:aws:ssm:*:<Aws-Account-ID>:parameter/V1CS/*"
]
},
{
"Action": [
"iam:PassRole"
],
"Effect": "Allow",
"Resource": [
"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy",
"arn:aws:iam::<Aws-Account-ID>:role/StackSet-V1CSStackSet-*-ExecutionRole-*",
"arn:aws:iam::<Aws-Account-ID>:role/StackSet-V1CSStackSet-*-TaskRole-*"
]
},
{
"Action": [
"ecs:StopTask"
],
"Effect": "Allow",
"Resource": [
"arn:aws:ecs:*:<Aws-Account-ID>:task/*"
]
}
]
}
