AWS Identity and Access Management (IAM)
Ce document explique comment intégrer AWS Identity and Access Management (IAM) à Google Security Operations.
Cas d'utilisation avec Amazon Simple Storage Service (Amazon S3)
John a créé un bucket Amazon S3 pour l'entreprise, appelé aws-s3-bucket.
- Créer des utilisateurs(les développeurs doivent pouvoir créer leurs données dans le bucket de l'entreprise)
- Créer des groupes (développeurs en tant que groupe)
- Créer des règles (John doit attribuer des autorisations aux utilisateurs/groupes)
- Associer des stratégies (John associe une stratégie au groupe qui permet aux développeurs de lire, d'écrire et de lister des objets dans AWS S3)
- Ajouter/supprimer des utilisateurs d'un groupe (l'un des développeurs devient gestionnaire, l'accès doit être modifié)
Avant de commencer
Cette intégration fournit des fonctionnalités de plate-forme natives et ne nécessite pas de clés API ni d'identifiants tiers externes pour l'authentification. Avant de commencer, assurez-vous que l'intégration est installée à partir du Hub de contenu de votre instance Google SecOps.
Paramètres d'intégration
Utilisez les paramètres suivants pour configurer l'intégration :
| Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
|---|---|---|---|---|
| AWS Access Key ID (ID de clé d'accès AWS) | Chaîne | N/A | Oui | ID de clé d'accès AWS à utiliser dans l'intégration. |
| Clé secrète AWS | Mot de passe | N/A | Oui | Clé secrète AWS à utiliser dans l'intégration. |
Pour obtenir des instructions sur la configuration d'une intégration dans Google SecOps, consultez Configurer des intégrations.
Si nécessaire, vous pourrez apporter des modifications ultérieurement. Une fois que vous avez configuré une instance d'intégration, vous pouvez l'utiliser dans des playbooks. Pour savoir comment configurer et prendre en charge plusieurs instances, consultez Prise en charge de plusieurs instances.
Actions
Pour en savoir plus sur les actions, consultez Répondre aux actions en attente depuis Votre bureau et Effectuer une action manuelle.
Ping
Description
Testez la connectivité à AWS IAM avec les paramètres fournis sur la page de configuration de l'intégration dans l'onglet "Google Security Operations Marketplace".
Exécuter le
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si l'opération réussit, affichez le message "Successfully connected to the AWS IAM server with the provided connection parameters!" (Connexion au serveur AWS IAM établie avec succès à l'aide des paramètres de connexion fournis). L'action doit échouer et arrêter l'exécution d'un playbook : if not successful: print "Failed to connect to the AWS IAM server! Error is {0}".format(exception.stacktrace) |
Général |
Créer un utilisateur
Description
Créez un utilisateur IAM pour votre compte AWS. Vous pouvez ajouter plusieurs utilisateurs à la fois avec des valeurs séparées par une virgule. Veuillez noter qu'aucune règle ne sera appliquée à ce stade.
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
|---|---|---|---|---|
| Nom de l’utilisateur | Chaîne | N/A | Oui | Nom de l'utilisateur à créer. Valeurs séparées par des virgules. Remarque : Les noms d'utilisateur ne peuvent pas contenir d'espaces et ne doivent contenir que des caractères alphanumériques et/ou les caractères suivants : +=.@_-. Les noms doivent être uniques dans un compte. |
Exécuter le
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Résultat JSON
[{
"Arn":"arn:aws:iam::582302349248:user/ziv",
"CreateDate":"2020-12-03T12:12:20",
"Path":"/",
"UserId":"AIDAYPE7MW7AFMHK4WCHS",
"UserName":"ziv"
}]
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :
Remarque : Si rien ne s'est passé, cela signifie que tous les utilisateurs sont invalides/existent/ont atteint la limite. L'action doit donc échouer. L'action doit échouer et arrêter l'exécution d'un playbook :
Remarque : Si tous les noms d'utilisateur ne sont pas valides, affichez " "Error executing action 'Create a User'. Motif : {invalid usernames} : les noms d'utilisateur ne doivent contenir que des caractères alphanumériques et/ou les caractères suivants : +=,.@-. {existing usernames} : les noms doivent être uniques dans un compte. |
Général |
Ajouter un utilisateur à un groupe
Description
Ajoute l'utilisateur spécifié au groupe IAM spécifié. Utilisez des groupes pour appliquer les mêmes règles d'autorisation à plusieurs utilisateurs à la fois.
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
|---|---|---|---|---|
| Nom du groupe | Chaîne | N/A | Oui | Nom du groupe à mettre à jour. Remarque : Les noms de groupes ne peuvent pas contenir d'espaces et ne doivent contenir que des caractères alphanumériques et/ou les caractères suivants : +=.@_-. |
| Nom de l’utilisateur | Chaîne | N/A | Oui | Nom de l'utilisateur à ajouter. Remarque : Les noms d'utilisateur ne peuvent pas contenir d'espaces et ne doivent contenir que des caractères alphanumériques et/ou les caractères suivants : +=.@_-. Valeurs séparées par des virgules. |
Exécuter le
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :
L'action doit échouer et arrêter l'exécution d'un playbook :
|
Général |
Retirer un utilisateur d'un groupe
Description
Ajoute l'utilisateur spécifié au groupe IAM spécifié. Utilisez des groupes pour appliquer les mêmes règles d'autorisation à plusieurs utilisateurs à la fois.
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
|---|---|---|---|---|
| Nom du groupe | Chaîne | N/A | Oui | Nom du groupe à mettre à jour. Remarque : Les noms de groupes ne peuvent pas contenir d'espaces et ne doivent contenir que des caractères alphanumériques et/ou les caractères suivants : +=.@_-. |
| Nom de l’utilisateur | Chaîne | N/A | Oui | Nom de l'utilisateur à supprimer. Remarque : Les noms d'utilisateur ne peuvent pas contenir d'espaces et ne doivent contenir que des caractères alphanumériques et/ou les caractères suivants : +=.@_-. Valeurs séparées par des virgules. |
Exécuter le
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :
L'action doit échouer et arrêter l'exécution d'un playbook :
|
Général |
Répertorier les utilisateurs
Description
Obtenez la liste de tous les utilisateurs dans IAM.
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
|---|---|---|---|---|
| Nombre maximal d'utilisateurs à renvoyer | Integer | 50 | Non | Indiquez le nombre d'utilisateurs à renvoyer. Le nombre maximal d'utilisateurs est de 1 000. La valeur par défaut est 50. |
Exécuter le
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Résultat JSON
[{
"Arn":"arn:aws:iam::582302349248:user/ziv",
"CreateDate":"2020-12-03T12:12:20",
"Path":"/",
"UserId":"AIDAYPE7MW7AFMHK4WCHS",
"UserName":"ziv"
}]
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : if successful: print "Successfully listed available users in AWS IAM" Si aucune donnée n'est disponible : affichez "Aucun utilisateur trouvé dans AWS IAM".
if not successful (wrong credentials, no connection to server, other server error, if max>10000): print "Error executing action 'List Users'. Motif : {exception.stacktrace} |
Général |
| Tableau CSV | Titre : Utilisateurs IAM Colonnes : Nom d'utilisateur ID utilisateur ARN Date de création |
Général |
Répertorier les groupes
Description
Obtenez la liste de tous les groupes dans IAM.
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
|---|---|---|---|---|
| Nombre maximal de groupes à renvoyer | Integer | 50 | Non | Spécifiez le nombre de groupes à renvoyer. Le nombre maximal de groupes est de 1 000. La valeur par défaut est 50. |
Exécuter le
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Résultat JSON
[{
"Arn":"arn:aws:iam::582302349248:group/ZivGroup",
"CreateDate":"2020-12-05 16:18:36+00:00",
"Path":"/",
"GroupId":"AGPAYPE7MW7AMKCWMJPMX",
"GroupName":"ZivGroup"
}]
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : if successful: print "Successfully listed available groups in AWS IAM" Si aucune donnée n'est disponible, affichez "Aucun groupe trouvé dans AWS IAM".
if not successful (wrong credentials, no connection to server, other server error, If 'Max Groups'> 1000): print "Error executing action 'List Groups'. Motif : {exception.stacktrace} |
Général |
| Tableau CSV | Title: IAM Groups Colonnes : Nom du groupe ID du groupe ARN Date de création |
Général |
Créer une règle
Description
Créez une stratégie IAM gérée par le client pour votre compte AWS. Cette action crée une version de la règle avec l'identifiant de version "v1" et définit "v1" comme version par défaut de la règle.
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
|---|---|---|---|---|
| Nom de la règle | Chaîne | N/A | Oui | Nom de la règle à créer. Le nom de la règle ne peut pas contenir d'espaces et ne doit contenir que des caractères alphanumériques et/ou les caractères suivants : +=.@_-. Les noms de règles doivent être uniques dans un compte. |
| Document de règlement | Chaîne | N/A | Oui | Document de stratégie JSON que vous souhaitez utiliser comme contenu pour la nouvelle stratégie. |
| Description | Chaîne | N/A | Non | Description de la règle.Généralement utilisée pour stocker des informations sur les autorisations définies dans la règle. Par exemple, "Accorde l'accès aux tables DynamoDB de production". La description de la règle est immuable. Une fois qu'une valeur a été attribuée, elle ne peut plus être modifiée. |
Exécuter le
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Résultat JSON
{
"PolicyName": "S3-read-only-bucket",
"PolicyId": "ANPAYPE7MW7AFKUDK3HD7",
"Arn": "arn:aws:iam::582302349248:policy/S3-read-only-bucket",
"Path": "/",
"DefaultVersionId": "v1",
"AttachmentCount": 0,
"PermissionsBoundaryUsageCount": 0,
"IsAttachable": true,
"CreateDate": "2020-12-6T17:16:45",
"UpdateDate": "2020-12-6T17:16:45"
}
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :
L'action doit échouer et arrêter l'exécution d'un playbook :
if not successful (LimitExceededException, wrong creds, no connection, other error): print "Error executing action 'Create a Policy'. Motif : {exception.stacktrace} |
Général |
Créer un groupe Google Groupes
Description
Créez un groupe IAM pour votre compte AWS. Pour configurer un groupe, vous devez le créer. Attribuez ensuite des autorisations au groupe en fonction du type de travail que vous attendez des utilisateurs du groupe. Enfin, ajoutez des utilisateurs au groupe.
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
|---|---|---|---|---|
| Nom du groupe | Chaîne | N/A | Oui | Nom du groupe à créer. Valeurs séparées par des virgules. Remarque : Les noms de groupes ne peuvent pas contenir d'espaces et ne doivent contenir que des caractères alphanumériques et/ou les caractères suivants : +=.@_-. Les noms doivent être uniques dans un compte. |
Exécuter le
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Résultat JSON
[{
"Arn":"arn:aws:iam::582302349248:group/ZivGroup",
"CreateDate":"2020-12-05 16:18:36+00:00",
"Path":"/",
"GroupId":"'AGPAYPE7MW7AMKCWMJPMX",
"GroupName":"ZivGroup"
}]
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :
|
Général |
Répertorier les règles
Description
Listez toutes les stratégies gérées disponibles dans votre compte AWS, y compris vos propres stratégies gérées définies par le client et toutes les stratégies gérées par AWS. Vous pouvez filtrer la liste des règles renvoyées à l'aide des paramètres facultatifs "Only Attached", "Scope" et "Policy Usage". Par exemple, pour n'afficher que les stratégies gérées par le client dans votre compte AWS, définissez "Étendue" sur "Locale". Pour n'afficher que les stratégies gérées par AWS, définissez "Étendue" sur "AWS".
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
|---|---|---|---|---|
| Pièces jointes uniquement | Booléen | Non | Non | Si cette case est cochée, les résultats sont filtrés pour n'afficher que les stratégies associées à un utilisateur, un groupe ou un rôle IAM. Si elle n'est pas cochée, toutes les règles sont renvoyées. |
| Champ d'application | DDL |
Tous | Non | Champ à utiliser pour filtrer les résultats. Pour n'afficher que les stratégies gérées par AWS, définissez "Étendue" sur "AWS". Pour n'afficher que les règles gérées par le client dans votre compte AWS, définissez "Étendue" sur "Locale". Par défaut, toutes les règles sont renvoyées. |
| Nombre maximal de règles à renvoyer | Integer | 100 | Non | Indiquez le nombre de règles à renvoyer. La valeur par défaut est 100. La valeur maximale est de 1 000. |
Exécuter le
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Résultat JSON
[{
'PolicyName': 'string',
'PolicyId': 'string',
'Arn': 'string',
'Path': 'string',
'DefaultVersionId': 'string',
'AttachmentCount': 123,
'PermissionsBoundaryUsageCount': 123,
'IsAttachable': True|False,
'Description': 'string',
'CreateDate': "2020-12-6T17:16:45",
'UpdateDate':"2020-12-6T17:16:45"
}]
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :
|
Général |
| Tableau CSV | Titre : Stratégies IAM Colonnes : Nom de la règle ID de stratégie Date de création Date de la mise à jour |
Général |
Associer une règle
Description
Associez la stratégie gérée spécifiée à une identité (utilisateur, groupe, rôle).
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
|---|---|---|---|---|
| Type d'identité | DDL |
Groupe | Oui | Type d'identité IAM. |
| Nom de l'identité | Chaîne | N/A | Oui | Nom (nom convivial, pas ARN) de l'identité à laquelle associer la stratégie. Les noms d'identité ne peuvent pas contenir d'espaces et ne doivent contenir que des caractères alphanumériques et/ou les caractères suivants : +=.@_-. |
| Nom de la règle | Chaîne | N/A | Oui | Nom (nom convivial, pas ARN) de la stratégie à laquelle associer la stratégie. Les noms de règles ne peuvent pas contenir d'espaces et ne doivent contenir que des caractères alphanumériques et/ou les caractères suivants : +=.@_-. |
Exécuter le
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :
L'action doit échouer et arrêter l'exécution d'un playbook :
|
Général |
Désactiver l'accès utilisateur
Désactivez l'accès des utilisateurs dans AWS en ajoutant une stratégie de refus explicite intégrée.
Cette action n'est compatible qu'avec les utilisateurs AWS standards, et non avec les utilisateurs fédérés ni les rôles IAM.
Entités
Cette action s'exécute sur l'entité "Utilisateur".
Entrées d'action
N/A
Sorties d'action
| Type de sortie de l'action | |
|---|---|
| Pièce jointe au mur des cas | N/A |
| Lien vers le mur des cas | N/A |
| Tableau du mur des cas | N/A |
| Table d'enrichissement | N/A |
| Résultat JSON | Disponible |
| Résultat du script | Disponible |
Résultat JSON
[
{
"Entity": "//iam.googleapis.com/projects/example/serviceAccounts/service-account@example.iam.gserviceaccount.com",
"EntityResult": [
{
"fullResourceName": "//iam.googleapis.com/projects/example/serviceAccounts/service-account@example.iam.gserviceaccount.com",
"activityType": "serviceAccountLastAuthentication",
"observationPeriod": {
"startTime": "2023-05-23T07:00:00Z",
"endTime": "2023-08-20T07:00:00Z"
},
"activity": {
"lastAuthenticatedTime": "2023-08-20T07:00:00Z",
"serviceAccount": {
"serviceAccountId": "example-account-id",
"projectNumber": "example-project-id",
"fullResourceName": "//iam.googleapis.com/projects/example/serviceAccounts/service-account@example.iam.gserviceaccount.com"
}
}
}
]
}
]
Résultat du script
| Nom du résultat du script | Valeur |
|---|---|
| is_success | Vrai/Faux |
Mur des cas
L'action fournit les messages de sortie suivants :
| Message de sortie | Description du message |
|---|---|
|
Action effectuée. |
Successfully added deny policy to the following users in AWS
IAM: USERNAME_LIST |
Échec de l'action. Une erreur a empêché l'application de la règle de refus à au moins un utilisateur fourni. |
Error executing action "Disable User Access". Reason:
ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.