Gestion de l'accès aux données pour les abonnés de Security Lake - Amazon Security Lake

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion de l'accès aux données pour les abonnés de Security Lake

Les abonnés ayant accès aux données source dans Amazon Security Lake sont informés de la présence de nouveaux objets pour la source au fur et à mesure que les données sont écrites dans le compartiment S3. Par défaut, les abonnés sont informés des nouveaux objets via un point de terminaison HTTPS qu'ils fournissent. Les abonnés peuvent également être informés des nouveaux objets en interrogeant une file d'attente Amazon Simple Queue Service (Amazon SQS).

Conditions préalables à la création d'un abonné avec accès aux données

Vous devez remplir les conditions préalables suivantes avant de pouvoir créer un abonné ayant accès aux données dans Security Lake.

Vérifier les autorisations

Pour vérifier vos autorisations, utilisez IAM pour passer en revue les politiques IAM associées à votre identité IAM. Comparez ensuite les informations contenues dans ces politiques à la liste suivante des actions (autorisations) que vous devez effectuer pour informer les abonnés lorsque de nouvelles données sont écrites dans le lac de données.

Vous aurez besoin d'une autorisation pour effectuer les actions suivantes :

  • iam:CreateRole

  • iam:DeleteRolePolicy

  • iam:GetRole

  • iam:PutRolePolicy

  • lakeformation:GrantPermissions

  • lakeformation:ListPermissions

  • lakeformation:RegisterResource

  • lakeformation:RevokePermissions

  • ram:GetResourceShareAssociations

  • ram:GetResourceShares

  • ram:UpdateResourceShare

Outre la liste précédente, vous devez également être autorisé à effectuer les actions suivantes :

  • events:CreateApiDestination

  • events:CreateConnection

  • events:DescribeRule

  • events:ListApiDestinations

  • events:ListConnections

  • events:PutRule

  • events:PutTargets

  • s3:GetBucketNotification

  • s3:PutBucketNotification

  • sqs:CreateQueue

  • sqs:DeleteQueue

  • sqs:GetQueueAttributes

  • sqs:GetQueueUrl

  • sqs:SetQueueAttributes

Obtenez l'identifiant externe de l'abonné

Pour créer un abonné, outre son Compte AWS identifiant, vous devez également obtenir son identifiant externe. L'identifiant externe est un identifiant unique que l'abonné vous fournit. Security Lake ajoute l'ID externe au rôle IAM d'abonné qu'il crée. Vous utilisez l'ID externe lorsque vous créez un abonné dans la console Security Lake, via l'API, ou AWS CLI.

Pour plus d'informations sur les identifiants externes, consultez la section Comment utiliser un identifiant externe lorsque vous accordez l'accès à vos AWS ressources à un tiers dans le guide de l'utilisateur IAM.

Important

Si vous prévoyez d'utiliser la console Security Lake pour ajouter un abonné, vous pouvez ignorer l'étape suivante et passer àCréation d'un abonné avec accès aux données. La console Security Lake propose un processus de démarrage rationalisé et crée tous les rôles IAM nécessaires ou utilise les rôles existants en votre nom.

Si vous prévoyez d'utiliser l'API Security Lake ou d' AWS CLI ajouter un abonné, passez à l'étape suivante qui consiste à créer un rôle IAM pour appeler les destinations d' EventBridge API.

Créer un rôle IAM pour appeler des destinations EventBridge d'API (API et étape AWS CLI uniquement)

Si vous utilisez Security Lake via une API ou AWS CLI si vous créez un rôle dans AWS Identity and Access Management (IAM) qui autorise Amazon à invoquer des destinations EventBridge d'API et à envoyer des notifications d'objets aux points de terminaison HTTPS appropriés.

Après avoir créé ce rôle IAM, vous aurez besoin du nom de ressource Amazon (ARN) du rôle pour créer l'abonné. Ce rôle IAM n'est pas nécessaire si l'abonné interroge les données d'une file d'attente Amazon Simple Queue Service (Amazon SQS) ou interroge directement les données auprès de celle-ci. AWS Lake Formation Pour plus d'informations sur ce type de méthode d'accès aux données (type d'accès), consultezGestion de l'accès aux requêtes pour les abonnés de Security Lake.

Associez la politique suivante à votre rôle IAM :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowInvokeApiDestination", "Effect": "Allow", "Action": [ "events:InvokeApiDestination" ], "Resource": [ "arn:aws:events:{us-west-2}:{123456789012}:api-destination/AmazonSecurityLake*/*" ] } ] }

Associez la politique de confiance suivante à votre rôle IAM pour vous EventBridge permettre d'assumer ce rôle :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowEventBridgeToAssume", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Security Lake crée automatiquement un rôle IAM qui permet à l'abonné de lire les données du lac de données (ou d'interroger les événements d'une file d'attente Amazon SQS s'il s'agit de la méthode de notification préférée). Ce rôle est protégé par une politique AWS gérée appelée AmazonSecurityLakePermissionsBoundary.

Création d'un abonné avec accès aux données

Choisissez l'une des méthodes d'accès suivantes pour créer un abonné ayant accès aux données actuelles Région AWS.

Console
  1. Ouvrez la console Security Lake à l'adresse https://console.aws.amazon.com/securitylake/.

  2. À l'aide du Région AWS sélecteur situé dans le coin supérieur droit de la page, sélectionnez la région dans laquelle vous souhaitez créer l'abonné.

  3. Dans le volet de navigation, choisissez Subscribers.

  4. Sur la page Abonnés, choisissez Créer un abonné.

  5. Pour les détails de l'abonné, entrez le nom de l'abonné et une description facultative.

    La région est automatiquement renseignée comme vous l'avez actuellement sélectionnée Région AWS et ne peut pas être modifiée.

  6. Pour les sources de journaux et d'événements, choisissez les sources que l'abonné est autorisé à utiliser.

  7. Pour la méthode d'accès aux données, choisissez S3 pour configurer l'accès aux données pour l'abonné.

  8. Pour les informations d'identification de l'abonné, fournissez l' Compte AWS identifiant de l'abonné et l'identifiant externe.

  9. (Facultatif) Pour les détails des notifications, si vous souhaitez que Security Lake crée une file d'attente Amazon SQS que l'abonné peut interroger pour les notifications d'objets, sélectionnez la file d'attente SQS. Si vous souhaitez que Security Lake envoie des notifications EventBridge à un point de terminaison HTTPS, sélectionnez Point de terminaison d'abonnement.

    Si vous sélectionnez Point de terminaison d'abonnement, procédez également comme suit :

    1. Entrez le point de terminaison de l'abonnement. Voici des exemples de formats de point de terminaison valideshttp://example.com. Vous pouvez également éventuellement fournir un nom de clé HTTPS et une valeur de clé HTTPS.

    2. Pour l'accès aux services, créez un nouveau rôle IAM ou utilisez un rôle IAM existant qui donne l' EventBridgeautorisation d'invoquer des destinations d'API et d'envoyer des notifications d'objets aux points de terminaison appropriés.

      Pour plus d'informations sur la création d'un nouveau rôle IAM, voir Créer un rôle IAM pour appeler des destinations d' EventBridge API.

  10. (Facultatif) Pour Tags, entrez jusqu'à 50 tags à attribuer à l'abonné.

    Un tag est un label que vous pouvez définir et attribuer à certains types de AWS ressources. Chaque balise comprend une clé de balise obligatoire et une valeur de balise facultative. Les balises peuvent vous aider à identifier, à classer et à gérer les ressources de différentes manières. Pour en savoir plus, veuillez consulter la section Marquage des ressources d'Amazon Security Lake.

  11. Choisissez Créer.

API

Pour créer un abonné avec accès aux données par programmation, utilisez le CreateSubscriberfonctionnement de l'API Security Lake. Si vous utilisez le AWS Command Line Interface (AWS CLI), exécutez la commande create-subscriber.

Dans votre demande, utilisez ces paramètres pour définir les paramètres suivants pour l'abonné :

  • Poursources, spécifiez chaque source à laquelle vous souhaitez que l'abonné accède.

  • PoursubscriberIdentity, spécifiez l'ID de AWS compte et l'ID externe que l'abonné utilisera pour accéder aux données sources.

  • Poursubscriber-name, spécifiez le nom de l'abonné.

  • Pour accessTypes, spécifiez S3.

Exemple 1

L'exemple suivant crée un abonné ayant accès aux données de la AWS région actuelle pour l'identité d'abonné spécifiée pour une AWS source.

$ aws securitylake create-subscriber \ --subscriber-identity {"accountID": 1293456789123,"externalId": 123456789012} \ --sources [{awsLogSource: {sourceName: VPC_FLOW, sourceVersion: 1.0}}] \ --subscriber-name subscriber name \ --access-types S3

Exemple 2

L'exemple suivant crée un abonné ayant accès aux données de la AWS région actuelle pour l'identité d'abonné spécifiée pour une source personnalisée.

$ aws securitylake create-subscriber \ --subscriber-identity {"accountID": 1293456789123,"externalId": 123456789012} \ --sources [{customLogSource: {sourceName: custom-source-name, sourceVersion: 1.0}}] \ --subscriber-name subscriber name --access-types S3

Les exemples précédents sont formatés pour Linux, macOS ou Unix, et ils utilisent le caractère de continuation de ligne inversée (\) pour améliorer la lisibilité.

(Facultatif) Après avoir créé un abonné, utilisez l'CreateSubscriberNotificationopération pour spécifier comment l'avertir lorsque de nouvelles données sont écrites dans le lac de données pour les sources auxquelles vous souhaitez que l'abonné accède. Si vous utilisez le AWS Command Line Interface (AWS CLI), exécutez la create-subscriber-notificationcommande.

  • Pour remplacer la méthode de notification par défaut (point de terminaison HTTPS) et créer une file d'attente Amazon SQS, spécifiez des valeurs pour sqsNotificationConfiguration les paramètres.

  • Si vous préférez une notification via un point de terminaison HTTPS, spécifiez des valeurs pour les httpsNotificationConfiguration paramètres.

  • Pour le targetRoleArn champ, spécifiez l'ARN du rôle IAM que vous avez créé pour appeler les destinations d' EventBridge API.

$ aws securitylake create-subscriber-notification \ --subscriber-id "12345ab8-1a34-1c34-1bd4-12345ab9012" \ --configuration httpsNotificationConfiguration={"targetRoleArn"="arn:aws:iam::XXX:role/service-role/RoleName", "endpoint"="https://account-management.$3.$2.securitylake.aws.dev/v1/datalake"}

Pour l'obtenirsubscriberID, utilisez le ListSubscribersfonctionnement de l'API Security Lake. Si vous utilisez le AWS Command Line Interface (AWS CLI), exécutez la commande list-subscriber.

$ aws securitylake list-subscribers

Pour modifier ultérieurement la méthode de notification (file d'attente Amazon SQS ou point de terminaison HTTPS) pour l'abonné, utilisez l'UpdateSubscriberNotificationopération ou, si vous utilisez le AWS CLI, exécutez la update-subscriber-notificationcommande. Vous pouvez également modifier le mode de notification à l'aide de la console Security Lake : sélectionnez l'abonné sur la page Abonnés, puis choisissez Modifier.

Exemple de message de notification d'objet

{ "source": "aws.s3", "time": "2021-11-12T00:00:00Z", "account": "123456789012", "region": "ca-central-1", "resources": [ "arn:aws:s3:::example-bucket" ], "detail": { "bucket": { "name": "example-bucket" }, "object": { "key": "example-key", "size": 5, "etag": "b57f9512698f4b09e608f4f2a65852e5" }, "request-id": "N4N7GDK58NMKJ12R", "requester": "securitylake.amazonaws.com" } }

Mettre à jour un abonné aux données

Vous pouvez mettre à jour un abonné en modifiant les sources à partir desquelles il consomme. Vous pouvez également attribuer ou modifier les tags d'un abonné. Un tag est un label que vous pouvez définir et attribuer à certains types de AWS ressources, y compris les abonnés. Pour en savoir plus, veuillez consulter la section Marquage des ressources d'Amazon Security Lake.

Choisissez l'une des méthodes d'accès et suivez ces étapes pour définir de nouvelles sources pour un abonnement existant.

Console
  1. Ouvrez la console Security Lake à l'adresse https://console.aws.amazon.com/securitylake/.

  2. Dans le volet de navigation, choisissez Subscribers.

  3. Sélectionnez l'abonné.

  4. Choisissez Modifier, puis effectuez l'une des opérations suivantes :

    • Pour mettre à jour les sources de l'abonné, entrez les nouveaux paramètres dans la section Log and event sources.

    • Pour attribuer ou modifier des balises à l'abonné, modifiez les balises selon les besoins dans la section Tags.

  5. Lorsque vous avez terminé, choisissez Enregistrer.

API

Pour mettre à jour les sources d'accès aux données d'un abonné par programmation, utilisez le UpdateSubscriberfonctionnement de l'API Security Lake. Si vous utilisez le AWS Command Line Interface (AWS CLI), exécutez la commande update-subscriber. Dans votre demande, utilisez les sources paramètres pour spécifier chaque source à laquelle vous souhaitez que l'abonné accède.

$ aws securitylake update-subscriber --subscriber-id subscriber ID

Pour obtenir la liste des abonnés associés à une organisation Compte AWS ou à une organisation spécifique, utilisez l'ListSubscribersopération. Si vous utilisez le AWS Command Line Interface (AWS CLI), exécutez la commande list-subscribers.

$ aws securitylake list-subscribers

Pour vérifier les paramètres actuels d'un abonné en particulier, utilisez l'GetSubscriberopération suivante : exécutez la commande get-subscriber. Security Lake renvoie ensuite le nom et la description de l'abonné, son identifiant externe et des informations supplémentaires. Si vous utilisez le AWS Command Line Interface (AWS CLI), exécutez la commande get-subscriber.

Pour mettre à jour la méthode de notification pour un abonné, utilisez l'UpdateSubscriberNotificationopération. Si vous utilisez le AWS Command Line Interface (AWS CLI), exécutez la update-subscriber-notificationcommande. Par exemple, vous pouvez spécifier un nouveau point de terminaison HTTPS pour l'abonné ou passer d'un point de terminaison HTTPS à une file d'attente Amazon SQS.

Supprimer un abonné aux données

Si vous ne souhaitez plus qu'un abonné consomme les données de Security Lake, vous pouvez le supprimer en suivant ces étapes.

Console
  1. Ouvrez la console Security Lake à l'adresse https://console.aws.amazon.com/securitylake/.

  2. Dans le volet de navigation, choisissez Subscribers.

  3. Sélectionnez l'abonné que vous souhaitez supprimer.

  4. Choisissez Delete (Supprimer) et confirmez l’action. Cela supprimera l'abonné et tous les paramètres de notification associés.

API

Selon votre scénario, effectuez l'une des opérations suivantes :

  • Pour supprimer l'abonné et tous les paramètres de notification associés, utilisez l'DeleteSubscriberAPI Security Lake. Si vous utilisez le AWS Command Line Interface (AWS CLI), exécutez la commande delete-subscriber.

  • Pour conserver l'abonné mais arrêter de lui envoyer de futures notifications, utilisez le DeleteSubscriberNotificationfonctionnement de l'API Security Lake. Si vous utilisez le AWS Command Line Interface (AWS CLI), exécutez la delete-subscriber-notificationcommande run the.