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.
Erforderliche Rollen und Berechtigungen für Canarys
Jedem Canary muss eine IAM-Rolle zugeordnet sein, der bestimmte Berechtigungen zugewiesen sind. Wenn Sie mithilfe der CloudWatch Konsole einen Canary erstellen, können Sie festlegen, dass CloudWatch Synthetics eine IAM-Rolle für den Canary erstellt. Wenn Sie dies tun, verfügt die Rolle über die erforderlichen Berechtigungen.
Wenn Sie die IAM-Rolle selbst erstellen oder eine IAM-Rolle erstellen möchten, die Sie bei Verwendung der AWS CLI oder von APIs zum Erstellen eines Canary nutzen können, muss die Rolle über die in diesem Abschnitt aufgeführten Berechtigungen verfügen.
Alle IAM-Rollen für Canarys müssen die folgende Vertrauensrichtlinienanweisung enthalten.
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Darüber hinaus muss die IAM-Rolle des Canary eine der folgenden Anweisungen enthalten.
Einfacher Canary, der keinen Amazon AWS KMS VPC-Zugriff verwendet oder benötigt
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::path/to/your/s3/bucket/canary/results/folder"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::name/of/the/s3/bucket/that/contains/canary/results"
]
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup"
],
"Resource": [
"arn:aws:logs:us-east-1:123456789012:log-group:/aws/lambda/cwsyn-canary_name-*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"xray:PutTraceSegments"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Resource": "*",
"Action": "cloudwatch:PutMetricData",
"Condition": {
"StringEquals": {
"cloudwatch:namespace": "CloudWatchSynthetics"
}
}
}
]
}
Canary, AWS KMS das Canary-Artefakte verschlüsselt, aber keinen Amazon VPC-Zugriff benötigt
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::path/to/your/S3/bucket/canary/results/folder"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::name/of/the/S3/bucket/that/contains/canary/results"
]
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup"
],
"Resource": [
"arn:aws:logs:us-east-1:123456789012:log-group:/aws/lambda/cwsyn-canary_name-*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"xray:PutTraceSegments"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Resource": "*",
"Action": "cloudwatch:PutMetricData",
"Condition": {
"StringEquals": {
"cloudwatch:namespace": "CloudWatchSynthetics"
}
}
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey"
],
"Resource": "arn:aws:kms:us-east-1:111122223333:key/KMS_key_id",
"Condition": {
"StringEquals": {
"kms:ViaService": [
"s3.us-east-1.amazonaws.com"
]
}
}
}
]
}
Canary, das Amazon VPC-Zugriff nicht verwendet AWS KMS , aber dafür benötigt
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::path/to/your/S3/bucket/canary/results/folder"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::name/of/the/S3/bucket/that/contains/canary/results"
]
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup"
],
"Resource": [
"arn:aws:logs:us-east-1:123456789012:log-group:/aws/lambda/cwsyn-canary_name-*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"xray:PutTraceSegments"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Resource": "*",
"Action": "cloudwatch:PutMetricData",
"Condition": {
"StringEquals": {
"cloudwatch:namespace": "CloudWatchSynthetics"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:DescribeNetworkInterfaces",
"ec2:DeleteNetworkInterface"
],
"Resource": [
"*"
]
}
]
}
Canary, AWS KMS das Canary-Artefakte verschlüsselt und außerdem Amazon VPC-Zugriff benötigt
Wenn Sie einen Nicht-VPC-Canary aktualisieren, um mit der Verwendung einer VPC zu beginnen, müssen Sie die Rolle des Canary aktualisieren, um die in der folgenden Richtlinie aufgeführten Netzwerkschnittstellenberechtigungen aufzunehmen.
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::path/to/your/S3/bucket/canary/results/folder"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::name/of/the/S3/bucket/that/contains/canary/results"
]
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup"
],
"Resource": [
"arn:aws:logs:us-east-1:123456789012:log-group:/aws/lambda/cwsyn-canary_name-*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"xray:PutTraceSegments"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Resource": "*",
"Action": "cloudwatch:PutMetricData",
"Condition": {
"StringEquals": {
"cloudwatch:namespace": "CloudWatchSynthetics"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:DescribeNetworkInterfaces",
"ec2:DeleteNetworkInterface"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey"
],
"Resource": "arn:aws:kms:us-east-1:111122223333:key/KMS_key_id",
"Condition": {
"StringEquals": {
"kms:ViaService": [
"s3.us-east-1.amazonaws.com"
]
}
}
}
]
}
Canary, der einen vom Kunden verwalteten Dienst verwendet AWS KMS Schlüssel zum Verschlüsseln der Umgebungsvariablen der Lambda-Funktion
Wenn Sie einen vom Kunden verwalteten Schlüssel für die Verschlüsselung von Umgebungsvariablen im Ruhezustand konfigurieren, müssen Sie über die kms:DescribeKey Berechtigungen kms:CreateGrantkms:Encrypt,kms:Decrypt, und für den Schlüssel verfügen. Die Canary-Execution-Rolle muss ebenfalls erfüllt sein, kms:Decrypt wenn Sie Verschlüsselung bei der Übertragung verwenden. Weitere Informationen finden Sie unter Verschlüsselung von Umgebungsvariablen im Ruhezustand mit einem vom Kunden verwalteten Schlüssel.
Wenn du während der Übertragung Verschlüsselung verwendest, füge die folgende Anweisung zur Ausführungsrollenrichtlinie deines Canary hinzu:
{
"Effect": "Allow",
"Action": "kms:Decrypt",
"Resource": "arn:aws:kms:us-east-1:111122223333:key/a1b2c3d4-e5f6-7890-abcd-EXAMPLE11111"
}
Füge diese Anweisung zu der Basisrichtlinie für Ausführungsrollen hinzu, die du bereits verwendest (Basic-, VPC- oder Artifact-KMS).