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.
Identifier les demandes présignées
Identification des demandes utilisant une URL présignée
Amazon S3 fournit deux mécanismes intégrés pour surveiller l'utilisation au niveau de la demande : les journaux d'accès au serveur Amazon S3 et les événements AWS CloudTrail liés aux données. Les deux mécanismes peuvent identifier l'utilisation des URL présignées.
Pour filtrer les journaux en fonction de l'utilisation des URL présignées, vous pouvez utiliser le type d'authentification. Pour les journaux d'accès au serveur, examinez le champ Type d'authentification, généralement nommé authtype lorsqu'il est défini dans une table Amazon Athena. Pour CloudTrail, examinez AuthenticationMethodadditionalEventData
sur le terrain. Dans les deux cas, la valeur du champ pour les demandes utilisant des URL présignées estQueryString
, alors que c'AuthHeader
est la valeur pour la plupart des autres demandes.
QueryString
l'utilisation n'est pas toujours associée aux URL présignées. Pour limiter votre recherche à l'utilisation d'URL présignées uniquement, recherchez les demandes contenant le paramètre X-Amz-Expires
de chaîne de requête. Pour les journaux d'accès au serveur, examinez Request-URI et recherchez les demandes dont la chaîne de requête contient un X-Amz-Expires
paramètre. Pour CloudTrail, examinez l'requestParameters
élément pour un X-Amz-Expires
élément.
{"Records": [{…, "requestParameters": {…, "X-Amz-Expires": "300"}}, …]}
La requête Athena suivante applique ce filtre :
SELECT * FROM {athena-table} WHERE authtype = 'QueryString' AND request_uri LIKE '%X-Amz-Expires=%';
Pour AWS CloudTrail Lake, la requête suivante applique ce filtre :
SELECT * FROM {data-store-event-id} WHERE additionalEventData['AuthenticationMethod'] = 'QueryString' AND requestParameters['X-Amz-Expires'] IS NOT NULL
Identifier d'autres types de demandes présignées
La requête POST possède également un type d'authentification uniqueHtmlForm
, dans les journaux d'accès au serveur Amazon S3 et CloudTrail. Ce type d'authentification étant moins courant, il est possible que vous ne trouviez pas ces demandes dans votre environnement.
La requête Athena suivante applique le filtre pour : HtmlForm
SELECT * FROM {athena-table} WHERE authtype = 'HtmlForm';
Pour CloudTrail Lake, la requête suivante applique le filtre :
SELECT * FROM {data-store-event-id} WHERE additionalEventData['AuthenticationMethod'] = 'HtmlForm'
Identification des modèles de demandes
Vous pouvez trouver des demandes présignées en utilisant les techniques décrites dans la section précédente. Toutefois, pour rendre ces données utiles, vous devez trouver des modèles. Les TOP 10
résultats simples de votre requête peuvent fournir un aperçu, mais si cela ne suffit pas, utilisez les options de regroupement du tableau suivant.
Option de regroupement |
Journaux d'accès au serveur |
CloudTraillac |
Description |
---|---|---|---|
Agent utilisateur |
|
|
Cette option de regroupement vous permet de trouver la source et le but des demandes. L'agent utilisateur est fourni par l'utilisateur et n'est pas fiable en tant que mécanisme d'authentification ou d'autorisation. Cependant, cela peut révéler beaucoup de choses si vous recherchez des modèles, car la plupart des clients utilisent une chaîne unique qui est au moins partiellement lisible par l'homme. |
Demandeur |
|
|
Cette option de regroupement permet de trouver les principaux IAM qui ont signé les demandes. Si votre objectif est de bloquer ces demandes ou de créer une exception pour les demandes existantes, ces requêtes fournissent suffisamment d'informations à cette fin. Lorsque vous utilisez des rôles conformément aux meilleures pratiques IAM, le propriétaire du rôle est clairement identifié, et vous pouvez utiliser ces informations pour en savoir plus. |
Adresse IP source |
|
|
Cette option est groupée en fonction du dernier saut de traduction réseau avant d'atteindre Amazon S3.
Ces données sont utiles si votre objectif est d'imposer des contrôles réseau. Vous devrez peut-être combiner cette option avec des données telles que |
Nom du compartiment S3 |
|
|
Cette option de regroupement permet de trouver les compartiments ayant reçu des demandes. Cela vous permet d'identifier le besoin d'exceptions. |