Dienstbezogene Rollenberechtigungen für die Ressourcenverwaltung - Amazon Security Lake

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.

Dienstbezogene Rollenberechtigungen für die Ressourcenverwaltung

Security Lake verwendet die so genannte serviceverknüpfte RolleAWSServiceRoleForSecurityLakeResourceManagement, um fortlaufende Überwachungs- und Leistungsverbesserungen durchzuführen, wodurch Latenz und Kosten reduziert werden können. Diese dienstbezogene Rolle vertraut darauf, dass der resource-management.securitylake.amazonaws.com Dienst die Rolle übernimmt. Durch die Aktivierung AWSServiceRoleForSecurityLakeResourceManagement erhält es auch Zugriff auf Lake Formation und registriert Ihre von Security Lake verwalteten S3-Buckets automatisch in allen Regionen bei Lake Formation, um die Sicherheit zu verbessern.

Die Berechtigungsrichtlinie für die Rolle, bei der es sich um eine AWS verwaltete Richtlinie mit dem Namen handeltSecurityLakeResourceManagementServiceRolePolicy, ermöglicht den Zugriff auf die Verwaltung von Ressourcen, die von Security Lake erstellt wurden, einschließlich der Verwaltung der Metadaten in Ihrem Data Lake. Weitere Informationen zu AWS verwalteten Richtlinien für Amazon Security Lake finden Sie unter AWS Verwaltete Richtlinien für Amazon Security Lake.

Diese dienstbezogene Rolle ermöglicht es Security Lake, den Zustand der von Security Lake bereitgestellten Ressourcen (S3-Bucket, AWS Glue Tabellen, Amazon SQS Queue, Metastore Manager (MSM) Lambda-Funktion und EventBridge Regeln) für Ihr Konto zu überwachen. Einige Beispiele für Operationen, die Security Lake mit dieser servicebezogenen Rolle ausführen kann, sind:

  • Die Komprimierung von Apache Iceberg-Manifestdateien verbessert die Abfrageleistung und senkt die MSM Lambda-Verarbeitungszeiten und -kosten.

  • Überwachen Sie den Status von AmazonSQS, um Probleme mit der Einnahme zu erkennen.

  • Optimieren Sie die regionsübergreifende Datenreplikation, um Metadatendateien auszuschließen.

Anmerkung

Wenn Sie die AWSServiceRoleForSecurityLakeResourceManagement dienstgebundene Rolle nicht installieren, funktioniert Security Lake weiterhin. Es wird jedoch dringend empfohlen, diese dienstgebundene Rolle anzunehmen, damit Security Lake die Ressourcen in Ihrem Konto überwachen und optimieren kann.

Details zu Berechtigungen

Die Rolle ist mit der folgenden Berechtigungsrichtlinie konfiguriert:

  • events— Ermöglicht Prinzipalen die Verwaltung der EventBridge Regeln, die für Protokollquellen und Protokollabonnenten erforderlich sind.

  • lambda— Ermöglicht es den Prinzipalen, das Lambda zu verwalten, das zur Aktualisierung von AWS Glue Tabellenpartitionen nach der AWS Quellenzustellung und der regionsübergreifenden Replikation verwendet wird.

  • glue— Ermöglicht Prinzipalen das Ausführen bestimmter Schreibaktionen für AWS Glue Datenkatalogtabellen. Auf diese Weise können AWS Glue Crawler auch Partitionen in Ihren Daten identifizieren und Security Lake kann Apache Iceberg-Metadaten für Ihre Apache Iceberg-Tabellen verwalten.

  • s3— Ermöglicht Prinzipalen, bestimmte Lese- und Schreibaktionen für die Security Lake-Buckets durchzuführen, die Protokolldaten und Metadaten der Glue-Tabelle enthalten.

  • logs— Ermöglicht Prinzipalen Lesezugriff, um die Ausgabe der Lambda-Funktion in Logs zu CloudWatch protokollieren.

  • sqs— Ermöglicht Principals, spezifische Lese- und Schreibaktionen für SQS Amazon-Warteschlangen durchzuführen, die Ereignisbenachrichtigungen erhalten, wenn Objekte zu Ihrem Data Lake hinzugefügt oder aktualisiert werden.

  • lakeformation— Ermöglicht es den Prinzipalen, die Lake Formation Formation-Einstellungen zu lesen, um nach Fehlkonfigurationen zu suchen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadEventBridgeRules", "Effect": "Allow", "Action": [ "events:ListRules" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "ManageSecurityLakeEventRules", "Effect": "Allow", "Action": [ "events:PutRule" ], "Resource": "arn:aws:events:*:*:rule/AmazonSecurityLake-*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "ManageSecurityLakeLambdaConfigurations", "Effect": "Allow", "Action": [ "lambda:GetEventSourceMapping", "lambda:GetFunction", "lambda:PutFunctionConcurrency", "lambda:GetProvisionedConcurrencyConfig", "lambda:GetFunctionConcurrency", "lambda:GetRuntimeManagementConfig", "lambda:PutProvisionedConcurrencyConfig", "lambda:PublishVersion", "lambda:DeleteFunctionConcurrency", "lambda:DeleteEventSourceMapping", "lambda:GetAlias", "lambda:GetPolicy", "lambda:GetFunctionConfiguration", "lambda:UpdateFunctionConfiguration" ], "Resource": [ "arn:aws:lambda:*:*:function:SecurityLake_Glue_Partition_Updater_Lambda*", "arn:aws:lambda:*:*:function:AmazonSecurityLakeMetastoreManager-*-*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "AllowListLambdaEventSourceMappings", "Effect": "Allow", "Action": [ "lambda:ListEventSourceMappings" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "AllowUpdateLambdaEventSourceMapping", "Effect": "Allow", "Action": [ "lambda:UpdateEventSourceMapping" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" }, "StringLike": { "lambda:FunctionArn": "arn:aws:lambda:*:*:function:AmazonSecurityLakeMetastoreManager-*-*" } } }, { "Sid": "AllowUpdateLambdaConfigs", "Effect": "Allow", "Action": [ "lambda:UpdateFunctionConfiguration" ], "Resource": "arn:aws:lambda:*:*:function:AmazonSecurityLakeMetastoreManager-*-*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "ManageSecurityLakeGlueResources", "Effect": "Allow", "Action": [ "glue:CreatePartition", "glue:BatchCreatePartition", "glue:GetTable", "glue:GetTables", "glue:UpdateTable", "glue:GetDatabase" ], "Resource": [ "arn:aws:glue:*:*:table/amazon_security_lake_glue_db*/*", "arn:aws:glue:*:*:database/amazon_security_lake_glue_db*", "arn:aws:glue:*:*:catalog" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "AllowDataLakeConfigurationManagement", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:PutObject", "s3:GetObjectAttributes", "s3:GetBucketNotification", "s3:PutBucketNotification", "s3:GetLifecycleConfiguration", "s3:PutLifecycleConfiguration", "s3:GetEncryptionConfiguration", "s3:GetReplicationConfiguration" ], "Resource": [ "arn:aws:s3:::aws-security-data-lake*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "AllowMetaDataCompactionAndManagement", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:DeleteObject", "s3:RestoreObject" ], "Resource": [ "arn:aws:s3:::aws-security-data-lake*/metadata/*.avro", "arn:aws:s3:::aws-security-data-lake*/metadata/*.metadata.json" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "ReadSecurityLakeLambdaLogs", "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:StartQuery", "logs:GetLogEvents", "logs:GetQueryResults", "logs:GetLogRecord" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/lambda/AmazonSecurityLakeMetastoreManager-*-*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "ManageSecurityLakeSQSQueue", "Effect": "Allow", "Action": [ "sqs:StartMessageMoveTask", "sqs:DeleteMessage", "sqs:GetQueueUrl", "sqs:ListDeadLetterSourceQueues", "sqs:ChangeMessageVisibility", "sqs:ListMessageMoveTasks", "sqs:ReceiveMessage", "sqs:SendMessage", "sqs:GetQueueAttributes", "sqs:SetQueueAttributes" ], "Resource": [ "arn:aws:sqs:*:*:SecurityLake_*", "arn:aws:sqs:*:*:AmazonSecurityLakeManager-*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "AllowDataLakeManagement", "Effect": "Allow", "Action": [ "lakeformation:GetDataLakeSettings", "lakeformation:ListPermissions" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }

Sie müssen Berechtigungen konfigurieren, damit eine IAM-Entität (z. B. Benutzer, Gruppe oder Rolle) eine serviceverknüpfte Rolle erstellen, bearbeiten oder löschen können. Weitere Informationen finden Sie im Benutzerhandbuch unter Dienstbezogene Rollenberechtigungen. IAM

Die serviceverknüpfte Rolle in Security Lake erstellen

Sie können die AWSServiceRoleForSecurityLakeResourceManagement dienstverknüpfte Rolle für Security Lake mithilfe der Security Lake-Konsole oder der erstellen. AWS CLI

Um die dienstverknüpfte Rolle zu erstellen, müssen Sie Ihrem IAM Benutzer oder IAM Ihrer Rolle die folgenden Berechtigungen gewähren. Bei der IAM Rolle muss es sich um einen Lake Formation-Administrator in allen Security Lake-fähigen Regionen handeln.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowLakeFormationActionsViaSecurityLakeConsole", "Effect": "Allow", "Action": [ "lakeformation:GrantPermissions", "lakeformation:ListPermissions", "lakeformation:ListResources", "lakeformation:RegisterResource", "lakeformation:RevokePermissions" ], "Resource": "*" }, { "Sid": "AllowIamActionsViaSecurityLakeConsole", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "iam:GetPolicyVersion", "iam:GetRole", "iam:PutRolePolicy" ], "Resource": [ "arn:*:iam::*:role/aws-service-role/resource-management.securitylake.amazonaws.com/AWSServiceRoleForSecurityLakeResourceManagement", "arn:*:iam::*:role/*AWSServiceRoleForLakeFormationDataAccess", "arn:*:iam::aws:policy/service-role/AWSGlueServiceRole", "arn:*:iam::aws:policy/service-role/AmazonSecurityLakeMetastoreManager", "arn:*:iam::aws:policy/aws-service-role/SecurityLakeResourceManagementServiceRolePolicy" ], "Condition": { "StringLikeIfExists": { "iam:AWSServiceName": [ "securitylake.amazonaws.com", "resource-management.securitylake.amazonaws.com", "lakeformation.amazonaws.com" ] } } }, { "Sid": "AllowGlueActionsViaConsole", "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:GetTables" ], "Resource": [ "arn:*:glue:*:*:catalog", "arn:*:glue:*:*:database/amazon_security_lake_glue_db*", "arn:*:glue:*:*:table/amazon_security_lake_glue_db*/*" ] } ] }
Console
  1. Öffnen Sie die Security Lake-Konsole unter https://console.aws.amazon.com/securitylake/.

  2. Akzeptieren Sie die neue serviceverknüpfte Rolle, indem Sie in der Informationsleiste auf der Übersichtsseite auf Serviceverknüpfte Rolle aktivieren klicken.

Sobald Sie die serviceverknüpfte Rolle aktiviert haben, müssen Sie diesen Vorgang für die future Verwendung von Security Lake nicht wiederholen.

CLI

Verwenden Sie den folgenden Befehl, um die AWSServiceRoleForSecurityLakeResourceManagement dienstverknüpfte Rolle programmgesteuert zu erstellen. CLI

$ aws iam create-service-linked-role --aws-service-name resource-management.securitylake.amazonaws.com

Wenn Sie die AWSServiceRoleForSecurityLakeResourceManagement serviceverknüpfte Rolle mit erstellen AWS CLI, müssen Sie ihr außerdem Lake Formation Formation-Berechtigungen auf Tabellenebene (ALTER,DESCRIBE) für alle Tabellen in der Security Lake Glue-Datenbank gewähren, um Tabellenmetadaten zu verwalten und auf Daten zuzugreifen. Wenn Glue-Tabellen in einer Region auf S3-Buckets aus der vorherigen Security Lake-Aktivierung verweisen, müssen Sie vorübergehend DATA _ LOCATION _ ACCESS Berechtigungen für die serviceverknüpfte Rolle gewähren, damit Security Lake diese Situation beheben kann.

Sie müssen Lake Formation auch Berechtigungen für die AWSServiceRoleForSecurityLakeResourceManagement dienstverknüpfte Rolle für Ihr Konto gewähren.

Das folgende Beispiel zeigt, wie der Lake Formation Berechtigungen für die serviceverknüpfte Rolle in der angegebenen Region erteilt werden. Dieses Beispiel ist für Linux, macOS oder Unix formatiert und verwendet den umgekehrten Schrägstrich (\) zur Verbesserung der Lesbarkeit.

$ aws lakeformation grant-permissions --region {region} --principal DataLakePrincipalIdentifier={AWSServiceRoleForSecurityLakeResourceManagement ARN} \ --permissions ALTER DESCRIBE --resource '{ "Table": { "DatabaseName": "amazon_security_lake_glue_db_{region}", "TableWildcard": {} } }'

Das folgende Beispiel zeigt, wie die Rolle aussehen ARN wird. Sie müssen die Rolle so bearbeitenARN, dass sie zu Ihrer Region passt.

"AWS": "arn:[partition]:iam::[accountid]:role/aws-service-role/resource-management.securitylake.amazonaws.com/AWSServiceRoleForSecurityLakeResourceManagement"

Sie können den CreateServiceLinkedRoleAPIAnruf auch nutzen. Geben Sie in der Anfrage das AWSServiceName als anresource-management.securitylake.amazonaws.com.

Wenn Sie nach der Aktivierung der AWSServiceRoleForSecurityLakeResourceManagement Rolle den vom AWS KMS Kunden verwalteten Schlüssel (CMK) für die Verschlüsselung verwenden, müssen Sie der serviceverknüpften Rolle gestatten, verschlüsselte Objekte in S3-Buckets in den AWS Regionen zu schreiben, in denen sie CMK vorhanden sind. Fügen Sie in der AWS KMS Konsole dem KMS Schlüssel in den AWS Regionen, in denen CMK sie existiert, die folgende Richtlinie hinzu. Einzelheiten zum Ändern der KMS wichtigsten Richtlinie finden Sie unter Wichtige Richtlinien AWS KMS im AWS Key Management Service Entwicklerhandbuch.

{ "Sid": "Allow SLR", "Effect": "Allow", "Principal": { "AWS": "arn:[partition]:iam::[accountid]:role/aws-service-role/resource-management.securitylake.amazonaws.com/AWSServiceRoleForSecurityLakeResourceManagement" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::[regional-datalake-s3-bucket-name]" }, "StringLike": { "kms:ViaService": "s3.[region].amazonaws.com" } } },

Bearbeitung der mit dem Service verknüpften Rolle in Security Lake

In Security Lake können Sie die AWSServiceRoleForSecurityLakeResourceManagement dienstverknüpfte Rolle nicht bearbeiten. Nachdem eine dienstverknüpfte Rolle erstellt wurde, können Sie den Namen der Rolle nicht mehr ändern, da verschiedene Entitäten möglicherweise auf die Rolle verweisen. Sie können jedoch die Beschreibung der Rolle mit IAM bearbeiten. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter Bearbeiten einer dienstbezogenen Rolle.

Löschen der serviceverknüpften Rolle in Security Lake

Sie können die dienstverknüpfte Rolle nicht aus Security Lake löschen. Stattdessen können Sie die dienstverknüpfte Rolle aus der IAM Konsole löschen,API, oder. AWS CLI Weitere Informationen finden Sie im IAMBenutzerhandbuch unter Löschen einer dienstbezogenen Rolle.

Bevor Sie die dienstverknüpfte Rolle löschen können, müssen Sie zunächst bestätigen, dass die Rolle keine aktiven Sitzungen hat, und alle Ressourcen entfernen, die sie AWSServiceRoleForSecurityLakeResourceManagement verwendet.

Anmerkung

Wenn Security Lake die AWSServiceRoleForSecurityLakeResourceManagement Rolle verwendet, wenn Sie versuchen, die Ressourcen zu löschen, schlägt das Löschen möglicherweise fehl. Warten Sie in diesem Fall einige Minuten und führen Sie den Vorgang dann erneut aus.

Wenn Sie die AWSServiceRoleForSecurityLakeResourceManagement dienstverknüpfte Rolle löschen und sie erneut erstellen müssen, können Sie sie erneut erstellen, indem Sie Security Lake für Ihr Konto aktivieren. Wenn Sie Security Lake erneut aktivieren, erstellt Security Lake die dienstverknüpfte Rolle automatisch erneut für Sie.

Wird AWS-Regionen für die serviceverknüpfte Security Lake-Rolle unterstützt

Security Lake unterstützt die Verwendung der AWSServiceRoleForSecurityLakeResourceManagement dienstbezogenen Rolle in allen Bereichen, in AWS-Regionen denen Security Lake verfügbar ist. Eine Liste der Regionen, in denen Security Lake derzeit verfügbar ist, finden Sie unterSecurity Lake-Regionen und Endpunkte.