Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwendung identitätsbasierter Richtlinien (IAM-Richtlinien) für AWS Control Tower
Dieses Thema enthält Beispiele für identitätsbasierte Richtlinien, die zeigen, wie ein Kontoadministrator Berechtigungsrichtlinien an IAM-Identitäten (d. h. Benutzer, Gruppen und Rollen) anhängen und dadurch Berechtigungen zur Ausführung von Vorgängen auf AWS Control Tower Tower-Ressourcen gewähren kann.
Wichtig
Wir empfehlen Ihnen, zunächst die einführenden Themen zu lesen, in denen die grundlegenden Konzepte und Optionen erläutert werden, die Ihnen zur Verwaltung des Zugriffs auf Ihre AWS Control Tower Tower-Ressourcen zur Verfügung stehen. Weitere Informationen finden Sie unter Überblick über die Verwaltung von Zugriffsberechtigungen für Ihre AWS Control Tower Tower-Ressourcen.
AWS ControlTowerAdmin Rolle
Diese Rolle bietet AWS Control Tower Zugriff auf die Infrastruktur, die für die Aufrechterhaltung der landing zone von entscheidender Bedeutung ist. Die AWS ControlTowerAdmin
Rolle erfordert eine angehängte verwaltete Richtlinie und eine Rollenvertrauensrichtlinie für die IAM-Rolle. Eine Rollenvertrauensrichtlinie ist eine ressourcenbasierte Richtlinie, die festlegt, welche Prinzipale die Rolle übernehmen können.
Hier ist ein Beispielausschnitt für diese Rollenvertrauensrichtlinie:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "controltower.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Um diese Rolle über die AWS CLI zu erstellen und sie in eine Datei mit dem Namen abzulegentrust.json
, finden Sie hier ein Beispiel für einen CLI-Befehl:
aws iam create-role --role-name AWSControlTowerAdmin --path /service-role/ --assume-role-policy-document file://trust.json
Für diese Rolle sind zwei IAM-Richtlinien erforderlich.
Eine Inline-Richtlinie, zum Beispiel:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:DescribeAvailabilityZones", "Resource": "*" } ] }
Die folgende verwaltete Richtlinie, nämlich die
AWS ControlTowerServiceRolePolicy
.
AWS ControlTowerServiceRolePolicy
Dabei AWS ControlTowerServiceRolePolicyhandelt es sich um eine AWS verwaltete Richtlinie, die Berechtigungen zur Erstellung und Verwaltung von AWS Control Tower-Ressourcen wie AWS CloudFormation Stacksets und Stack-Instances, AWS CloudTrail Protokolldateien, einem Konfigurationsaggregator für AWS Control Tower sowie AWS Organizations Konten und Organisationseinheiten (OUs) definiert, die von AWS Control Tower verwaltet werden.
Aktualisierungen dieser verwalteten Richtlinie sind in der Tabelle, zusammengefasst. Verwaltete Richtlinien für AWS Control Tower
Weitere Informationen finden Sie AWSControlTowerServiceRolePolicy
im AWS Managed Policy Reference Guide.
Name der verwalteten Richtlinie: AWS ControlTowerServiceRolePolicy
Das JSON-Artefakt für AWS ControlTowerServiceRolePolicy
ist das Folgende:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:CreateStackInstances", "cloudformation:CreateStackSet", "cloudformation:DeleteStack", "cloudformation:DeleteStackInstances", "cloudformation:DeleteStackSet", "cloudformation:DescribeStackInstance", "cloudformation:DescribeStacks", "cloudformation:DescribeStackSet", "cloudformation:DescribeStackSetOperation", "cloudformation:ListStackInstances", "cloudformation:UpdateStack", "cloudformation:UpdateStackInstances", "cloudformation:UpdateStackSet" ], "Resource": [ "arn:aws:cloudformation:*:*:type/resource/AWS-IAM-Role" ] }, { "Effect": "Allow", "Action": [ "account:EnableRegion", "account:ListRegions", "account:GetRegionOptStatus" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:CreateStackInstances", "cloudformation:CreateStackSet", "cloudformation:DeleteStack", "cloudformation:DeleteStackInstances", "cloudformation:DeleteStackSet", "cloudformation:DescribeStackInstance", "cloudformation:DescribeStacks", "cloudformation:DescribeStackSet", "cloudformation:DescribeStackSetOperation", "cloudformation:GetTemplate", "cloudformation:ListStackInstances", "cloudformation:UpdateStack", "cloudformation:UpdateStackInstances", "cloudformation:UpdateStackSet" ], "Resource": [ "arn:aws:cloudformation:*:*:stack/AWSControlTower*/*", "arn:aws:cloudformation:*:*:stack/StackSet-AWSControlTower*/*", "arn:aws:cloudformation:*:*:stackset/AWSControlTower*:*", "arn:aws:cloudformation:*:*:stackset-target/AWSControlTower*/*" ] }, { "Effect": "Allow", "Action": [ "cloudtrail:CreateTrail", "cloudtrail:DeleteTrail", "cloudtrail:GetTrailStatus", "cloudtrail:StartLogging", "cloudtrail:StopLogging", "cloudtrail:UpdateTrail", "cloudtrail:PutEventSelectors", "logs:CreateLogStream", "logs:PutLogEvents", "logs:PutRetentionPolicy" ], "Resource": [ "arn:aws:logs:*:*:log-group:aws-controltower/CloudTrailLogs:*", "arn:aws:cloudtrail:*:*:trail/aws-controltower*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::aws-controltower*/*" ] }, { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Resource": [ "arn:aws:iam::*:role/AWSControlTowerExecution", "arn:aws:iam::*:role/AWSControlTowerBlueprintAccess" ] }, { "Effect": "Allow", "Action": [ "cloudtrail:DescribeTrails", "ec2:DescribeAvailabilityZones", "iam:ListRoles", "logs:CreateLogGroup", "logs:DescribeLogGroups", "organizations:CreateAccount", "organizations:DescribeAccount", "organizations:DescribeCreateAccountStatus", "organizations:DescribeOrganization", "organizations:DescribeOrganizationalUnit", "organizations:DescribePolicy", "organizations:ListAccounts", "organizations:ListAccountsForParent", "organizations:ListAWSServiceAccessForOrganization", "organizations:ListChildren", "organizations:ListOrganizationalUnitsForParent", "organizations:ListParents", "organizations:ListPoliciesForTarget", "organizations:ListTargetsForPolicy", "organizations:ListRoots", "organizations:MoveAccount", "servicecatalog:AssociatePrincipalWithPortfolio" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:GetUser", "iam:ListAttachedRolePolicies", "iam:GetRolePolicy" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::*:role/service-role/AWSControlTowerStackSetRole", "arn:aws:iam::*:role/service-role/AWSControlTowerCloudTrailRole", "arn:aws:iam::*:role/service-role/AWSControlTowerConfigAggregatorRoleForOrganizations" ] }, { "Effect": "Allow", "Action": [ "config:DeleteConfigurationAggregator", "config:PutConfigurationAggregator", "config:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/aws-control-tower": "managed-by-control-tower" } } }, { "Effect": "Allow", "Action": [ "organizations:EnableAWSServiceAccess", "organizations:DisableAWSServiceAccess" ], "Resource": "*", "Condition": { "StringLike": { "organizations:ServicePrincipal": [ "config.amazonaws.com", "cloudtrail.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "cloudtrail.amazonaws.com" } } } ] }
Vertrauensrichtlinie für Rollen:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "controltower.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Die Online-Richtlinie lautetAWSControlTowerAdminPolicy
:
{ "Version": "2012-10-17", "Statement": [ { "Action": "ec2:DescribeAvailabilityZones", "Resource": "*", "Effect": "Allow" } ] }
AWS ControlTowerStackSetRole
AWS CloudFormation übernimmt diese Rolle, um Stack-Sets in Konten bereitzustellen, die von AWS Control Tower erstellt wurden. Inlinerichtlinie:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "sts:AssumeRole" ], "Resource": [ "arn:aws:iam::*:role/AWSControlTowerExecution" ], "Effect": "Allow" } ] }
Vertrauensrichtlinie
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudformation.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
AWS ControlTowerCloudTrailRole
AWS Control Tower ermöglicht dies CloudTrail als bewährte Methode und bietet diese Rolle für CloudTrail. CloudTrailübernimmt diese Rolle bei der Erstellung und Veröffentlichung von CloudTrail Protokollen. Inlinerichtlinie:
{ "Version": "2012-10-17", "Statement": [ { "Action": "logs:CreateLogStream", "Resource": "arn:aws:logs:*:*:log-group:aws-controltower/CloudTrailLogs:*", "Effect": "Allow" }, { "Action": "logs:PutLogEvents", "Resource": "arn:aws:logs:*:*:log-group:aws-controltower/CloudTrailLogs:*", "Effect": "Allow" } ] }
Vertrauensrichtlinie
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
AWSControlTowerBlueprintAccess Anforderungen an die Rolle
Bei AWS Control Tower müssen Sie die AWSControlTowerBlueprintAccess
Rolle im angegebenen Blueprint-Hub-Konto innerhalb derselben Organisation erstellen.
Name der Rolle
Der Rollenname muss lauten. AWSControlTowerBlueprintAccess
Vertrauensrichtlinie für Rollen
Die Rolle muss so eingerichtet sein, dass sie den folgenden Prinzipalen vertraut:
-
Der Principal, der AWS Control Tower im Verwaltungskonto verwendet.
-
Die
AWSControlTowerAdmin
Rolle im Verwaltungskonto.
Das folgende Beispiel zeigt eine Vertrauensrichtlinie mit den geringsten Rechten. Wenn Sie Ihre eigene Richtlinie erstellen, ersetzen Sie den Begriff YourManagementAccountId
durch die tatsächliche Konto-ID Ihres AWS Control Tower Tower-Verwaltungskontos und ersetzen Sie den Begriff YourControlTowerUserRole
durch die ID der IAM-Rolle für Ihr Verwaltungskonto.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
YourManagementAccountId
:role/service-role/AWSControlTowerAdmin", "arn:aws:iam::YourManagementAccountId
:role/YourControlTowerUserRole
" ] }, "Action": "sts:AssumeRole", "Condition": {} } ] }
Rollenberechtigungen
Sie müssen die verwaltete Richtlinie AWSServiceCatalogAdminFullAccessan die Rolle anhängen.
AWSServiceRoleForAWSControlTower
Diese Rolle bietet AWS Control Tower Zugriff auf das Log Archive-Konto, das Audit-Konto und die Mitgliedskonten für Operationen, die für die Aufrechterhaltung der landing zone wichtig sind, wie z. B. die Benachrichtigung über verschwendete Ressourcen.
Die AWSServiceRoleForAWSControlTower
Rolle erfordert eine angehängte verwaltete Richtlinie und eine Rollenvertrauensrichtlinie für die IAM-Rolle.
Verwaltete Richtlinie für diese Rolle: AWSControlTowerAccountServiceRolePolicy
Vertrauensrichtlinie für Rollen:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "controltower.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
AWSControlTowerAccountServiceRolePolicy
Diese AWS verwaltete Richtlinie ermöglicht es AWS Control Tower, in Ihrem Namen AWS Services aufzurufen, die eine automatisierte Kontokonfiguration und zentrale Verwaltung bieten.
Die Richtlinie enthält die Mindestberechtigungen für AWS Control Tower zur Implementierung der Weiterleitung von AWS Security Hub Erkenntnissen für Ressourcen, die von Security Hub-Kontrollen verwaltet werden, die Teil des Security Hub Service-Managed Standard: AWS Control Tower sind, und verhindert Änderungen, die die Verwaltung von Kundenkonten einschränken. Sie ist Teil des Prozesses zur Erkennung von AWS Security Hub Hintergrundabweichungen, der nicht direkt von einem Kunden initiiert wird.
Die Richtlinie gewährt die Erlaubnis, EventBridge Amazon-Regeln, speziell für Security Hub-Steuerungen, für jedes Mitgliedskonto zu erstellen, und diese Regeln müssen eine genaue Angabe enthalten EventPattern. Außerdem kann eine Regel nur auf Regeln angewendet werden, die von unserem Service Principal verwaltet werden.
Dienstleiter: controltower.amazonaws.com
Das JSON-Artefakt für AWSControlTowerAccountServiceRolePolicy
ist das Folgende:
{ "Version": "2012-10-17", "Statement": [ { //For creating the managed rule "Sid": "AllowPutRuleOnSpecificSourcesAndDetailTypes", "Effect": "Allow", "Action": "events:PutRule", "Resource": "arn:aws:events:*:*:rule/*ControlTower*", "Condition": { "ForAnyValue:StringEquals": { "events:source": "aws.securityhub" }, "Null": { "events:detail-type": "false" }, "StringEquals": { "events:ManagedBy": "controltower.amazonaws.com", "events:detail-type": "Security Hub Findings - Imported" } } }, // Other operations to manage the managed rule { "Sid": "AllowOtherOperationsOnRulesManagedByControlTower", "Effect": "Allow", "Action": [ "events:DeleteRule", "events:EnableRule", "events:DisableRule", "events:PutTargets", "events:RemoveTargets" ], "Resource": "arn:aws:events:*:*:rule/*ControlTower*", "Condition": { "StringEquals": { "events:ManagedBy": "controltower.amazonaws.com" } } }, // More managed rule permissions { "Sid": "AllowDescribeOperationsOnRulesManagedByControlTower", "Effect": "Allow", "Action": [ "events:DescribeRule", "events:ListTargetsByRule" ], "Resource": "arn:aws:events:*:*:rule/*ControlTower*" }, // Add permission to publish the security notifications to SNS { "Sid": "AllowControlTowerToPublishSecurityNotifications", "Effect": "Allow", "Action": "sns:publish", "Resource": "arn:aws:sns:*:*:aws-controltower-AggregateSecurityNotifications", "Condition": { "StringEquals": { "aws:PrincipalAccount": "${aws:ResourceAccount}" } } }, // For drift verification { "Sid": "AllowActionsForSecurityHubIntegration", "Effect": "Allow", "Action": [ "securityhub:DescribeStandardsControls", "securityhub:GetEnabledStandards" ], "Resource": "arn:aws:securityhub:*:*:hub/default" } ] }
Aktualisierungen dieser verwalteten Richtlinie sind in der Tabelle zusammengefasst,Verwaltete Richtlinien für AWS Control Tower.