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

Amazon Security Lake est en version préliminaire. Votre utilisation de la version préliminaire d'Amazon Security Lake est soumise à la section 2 des conditions deAWS service (« versions bêta et versions préliminaires »).

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 à Security Lake

Les abonnés ayant accès aux données sources 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 de la présence de nouveaux objets en consultant une file d'attente Amazon Simple Queue Service (Amazon SQS).

Prérequis pour la création d'un abonné avec accès aux données

Vous devez remplir les prérequis suivants avant de créer un abonné avec accès aux données dans Security Lake.

1. Création d'un rôle IAM pour appeler des destinations EventBridge d'API

Avant de créer un abonné, vous devez créer un rôle dansAWS Identity and Access Management (IAM) qui autorise Amazon à appeler EventBridge des destinations d'API et à envoyer des notifications d'objets aux points de terminaison HTTPS appropriés.

Note

Security Lake crée ce rôle IAM ou utilise un rôle existant en votre nom lorsque vous utilisez la console Security Lake. Toutefois, vous devez créer ce rôle lorsque vous utilisez l'API Security Lake ouAWS CLI.

Après avoir créé ce rôle IAM, vous aurez besoin de l'Amazon Resource Name (ARN) du rôle afin de créer l'abonné. Ce rôle IAM n'est pas nécessaire si l'abonné consulte les données d'une file d'attente Amazon Simple Queue Service (Amazon SQS) ou si l'abonné interroge directement des donnéesAWS Lake Formation. Pour plus d'informations sur ce type d'abonné, 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:{region}:{accountId}:api-destination/AmazonSecurityLake*/*" ] } ] }

Attachez la politique de navigation suivante à votre rôle pour vous EventBridge permettre d'assumer le 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 si c'est la méthode de notification préférée). Ce rôle est protégé par une politiqueAWS gérée appelée AmazonSecurityLakePermissionsBoundary.

2. Vérifier les autorisations

Avant de créer un abonné ayant accès aux données, vérifiez que vous êtes autorisé à 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 disposer d'autorisations pour effectuer les actions suivantes afin d'avertir les abonnés lorsque de nouvelles données sont écrites dans le lac de données :

  • 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

Pour vérifier vos autorisations, utilisez IAM pour consulter les politiques IAM associées à votre identité IAM. Comparez ensuite les informations contenues dans ces politiques à la liste suivante d'actions que vous devez être autorisé à effectuer pour créer un abonné ayant accès aux données.

3. Obtenir l'identifiant externe de l'abonné

Pour créer un abonné, vous devez également obtenir un identifiant externe de la part de l'abonné. L'ID externe est un ID unique que l'abonné vous fournit. Security Lake ajoute l'ID externe au rôle IAM d'abonné qu'il crée. Vous fournissez également l'identifiant externe lorsque vous créez un abonné dans la console, l'API ouAWS CLI.

Pour plus d'informations sur les ID externes, consultez Procédure d'utilisation d'un ID externe lorsque vous accordez l'accès à vosAWS ressources à un tiers dans le Guide de l'utilisateur d'IAM.

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

Après avoir créé votre rôle IAM et obtenu l'ID externe de l'abonné, vous pouvez créer un abonné ayant accès aux données en suivant ces étapes. Ces étapes créent un abonné ayant accès aux données actuellesRégion AWS.

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

  2. À l'aide duRégion AWS sélecteur situé dans le coin supérieur droit de la page, sélectionnez la région dans laquelle vous voulez créer la source personnalisée.

  3. Dans le panneau de navigation, choisissez Abonnés.

  4. Dans l'onglet Ajouter des abonnés, choisissez Créer un abonné personnalisé.

  5. Pour les informations sur l'abonné, entrez le nom de l'abonné et sa description (facultative).

  6. Pour les sources du journal et des événements, choisissez les sources que l'abonné est autorisé à utiliser.

  7. Dans 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é, indiquez l'Compte AWSidentifiant de l'abonné et l'identifiant externe.

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

  10. Si vous avez sélectionné le point de terminaison de l'abonnement à l'étape précédente, pour Service Access, créez un nouveau rôle IAM ou utilisez un rôle IAM existant qui EventBridge autorise à appeler des destinations d'API et à envoyer des notifications d'objets aux points de terminaison appropriés.

  11. Si vous avez sélectionné le point de terminaison de l'abonnement à l'étape 9, indiquez le point de terminaison de l'abonnement. Si vous le souhaitez, vous pouvez également fournir un nom de clé HTTPS et une valeur de clé.

  12. Sélectionnez Create (Créer).

API
  1. Exécutez CreateSubscriber.

  2. Fournissez le nom et le nom deaccountID l'abonné externalId.

  3. sourceTypesRenseignez les sources que vous souhaitez que l'abonné consulte.

  4. PouraccessTypes, prévoyezS3 de créer un abonné avec accès aux données.

  5. CreateSubscriptionNotificationConfigurationExécuté pour avertir l'abonné lorsque de nouvelles données sont écrites dans le lac de données pour les sources consommées par l'abonné.

  6. Pour remplacer la méthode de notification par défaut (point de terminaison HTTPS) et créer une file d'attente Amazon SQS, définissez lacreateSqs valeur égale àtrue. Si vous préférez une notification avec un point de terminaison HTTPS, renseignez lesubscriptionEndpoint champ de l'CreateSubscriptionNotificationConfigurationAPI. Renseignez leroleArn champ avec l'ARN du rôle IAM de destination de l' EventBridge API que vous avez créé.

AWS CLI
  1. Exécutez lacreate-subscriber commande pour créer un abonné.

  2. Fournissez l'Compte AWSidentifiant de l'abonné et external-id.

  3. source-typesRenseignez les sources que vous souhaitez que l'abonné consulte.

  4. Pouraccess-types, prévoyezS3 de créer un abonné avec accès aux données.

    aws securitylake create-subscriber --account-id account ID --external-id external ID --subscriber-name subscriber name --source-types source types --access-types access types
  5. Exécutez lacreate-subscription-notification-configuration commande pour avertir l'abonné lorsque de nouvelles données sont écrites dans le lac de données pour les sources consommées par l'abonné. Si vous préférez une notification via un point de terminaison HTTPS, renseignez lesubscription-endpoint champ de lacreate-subscription-notification-configuration commande. Renseignez lerole-arn champ avec l'ARN du rôle IAM de destination de l' EventBridge API que vous avez créé.

    aws securitylake create-subscription-notification-configuration --subscription-endpoint HTTPS ENDPOINT --role-arn role ARN --subscription-id subscription ID
  6. Pour remplacer la méthode de notification par défaut (point de terminaison HTTPS) et créer une file d'attente Amazon SQS, exécutez lacreate-subscription-notification-configuration commande. Définissez lecreate-sqs paramètre comme étant égal àtrue.

    aws securitylake create-subscription-notification-configuration --create-sqs true --subscription-id subscription ID

Pour mettre à jour la méthode de notification pour l'abonnement (point de terminaison SQS ou HTTPs), exécutez l'UpdateSubscriptionNotificationConfigurationAPI ou laupdate-subscription-notification-configuration commande. Vous pouvez également mettre à jour la méthode de notification sur la console Security Lake en modifiant un abonné sur la page Abonnés.

Exemple

{ "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é

Vous pouvez mettre à jour un abonné en modifiant les sources à partir desquelles il consomme des données. Choisissez votre méthode d'accès préférée et procédez comme suit 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 panneau de navigation, choisissez Abonnés.

  3. Sélectionnez un abonné.

  4. Choisissez Modifier et mettez à jour les sources pour l'abonné.

API
  1. Exécutez UpdateSubscriber.

  2. Définissez les nouvelles sources pour l'abonnement danssourceTypes.

AWS CLI
  1. Exécutez laupdate-subscriber commande pour mettre à jour un abonné.

  2. Fournissez subscription-idet définissez les nouvelles sources pour l'abonnement danssource-types.

    aws securitylake update-subscriber--source-types sourceTypes --subscription-id subscriptionId

Pour obtenir des informations sur un abonné en particulier, exécutez GetSubscriber. Cette API renvoie l'identifiant du compte, le nom et la description de l'abonné, la méthode de notification et des informations supplémentaires. Pour obtenir la liste des abonnements associés à une organisation spécifiqueCompte AWS, exécutez ListSubscribers. Pour mettre à jour la notification destinée à un abonné, par exemple en fournissant un nouveau point de terminaison d'abonnement ou en passant d'un point de terminaison à une file d'attente SQS, exécutez UpdateSubscriptionNotificationConfiguration.

Supprimer un abonné

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 panneau de navigation, choisissez Abonnés.

  3. Sélectionnez un abonné.

  4. Choisissez Delete (Supprimer).

API
  1. Exécutez DeleteSubscriberpour supprimer un abonnement et tous les paramètres de notification.

  2. Pour conserver l'abonnement mais supprimer les future notifications destinées à l'abonné, exécutez DeleteSubscriptionNotificationConfiguration.

AWS CLI
  1. Exécutez ladelete-subscriber commande pour supprimer un abonnement et tous les paramètres de notification.

    aws securitylake delete-subscriber --subscription-id subscription ID
  2. Pour conserver l'abonnement mais supprimer les future notifications destinées à l'abonné, exécutez ladelete-subscription-notification-configuration commande.

    aws securitylake delete-subscription-notification-configuration --subscription-id subscription ID