Exemples d’utilisation de l’AWS CLI avec l’analyseur d’accès IAM - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec l’analyseur d’accès IAM

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec l’analyseur d’accès IAM.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L’exemple de code suivant montre comment utiliser apply-archive-rule.

AWS CLI

Pour appliquer une règle d’archivage à des résultats existants qui répondent aux critères de la règle d’archivage

L’exemple apply-archive-rule suivant applique une règle d’archivage aux résultats existants répondant aux critères de règles d’archivage.

aws accessanalyzer apply-archive-rule \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/UnusedAccess-ConsoleAnalyzer-organization \ --rule-name MyArchiveRule

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Règles d’archivage dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez ApplyArchiveRule dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser cancel-policy-generation.

AWS CLI

Pour annuler la génération de politique demandée

L’exemple cancel-policy-generation suivant annule l’identifiant de tâche de génération de la politique demandée.

aws accessanalyzer cancel-policy-generation \ --job-id 923a56b0-ebb8-4e80-8a3c-a11ccfbcd6f2

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Génération de la politique de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez CancelPolicyGeneration dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser check-access-not-granted.

AWS CLI

Pour vérifier si l’accès spécifié n’est pas autorisé par une politique

L’exemple check-access-not-granted suivant vérifie si l’accès spécifié n’est pas autorisé par une politique.

aws accessanalyzer check-access-not-granted \ --policy-document file://myfile.json \ --access actions="s3:DeleteBucket","s3:GetBucketLocation" \ --policy-type IDENTITY_POLICY

Contenu de myfile.json :

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }

Sortie :

{ "result": "PASS", "message": "The policy document does not grant access to perform one or more of the listed actions." }

Pour plus d’informations, consultez Prévisualiser l’accès avec les API de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez CheckAccessNotGrantedAWS CLI dans la Référence des commandes de l’.

L’exemple de code suivant montre comment utiliser check-no-new-access.

AWS CLI

Pour vérifier si un nouvel accès est autorisé pour une politique mise à jour par rapport à la politique existante

L’exemple check-no-new-access suivant vérifie si un nouvel accès est autorisé pour une politique mise à jour par rapport à la politique existante.

aws accessanalyzer check-no-new-access \ --existing-policy-document file://existing-policy.json \ --new-policy-document file://new-policy.json \ --policy-type IDENTITY_POLICY

Contenu de existing-policy.json :

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }

Contenu de new-policy.json :

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }

Sortie :

{ "result": "FAIL", "message": "The modified permissions grant new access compared to your existing policy.", "reasons": [ { "description": "New access in the statement with index: 0.", "statementIndex": 0 } ] }

Pour plus d’informations, consultez Prévisualiser l’accès avec les API de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez CheckNoNewAccess dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser check-no-public-access.

AWS CLI

Pour vérifier si une politique de ressources peut accorder un accès public au type de ressource spécifié

L’exemple check-no-public-access suivant vérifie si une politique de ressources peut accorder un accès public au type de ressource spécifié.

aws accessanalyzer check-no-public-access \ --policy-document file://check-no-public-access-myfile.json \ --resource-type AWS::S3::Bucket

Contenu de myfile.json :

{ "Version":"2012-10-17", "Statement": [ { "Sid": "CheckNoPublicAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/JohnDoe" }, "Action": [ "s3:GetObject" ] } ] }

Sortie :

{ "result": "PASS", "message": "The resource policy does not grant public access for the given resource type." }

Pour plus d’informations, consultez Prévisualiser l’accès avec les API de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez CheckNoPublicAccess dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-access-preview.

AWS CLI

Pour créer un aperçu des accès vous permettant de prévisualiser les résultats de l’analyseur d’accès IAM pour votre ressource avant de déployer les autorisations relatives aux ressources

L’exemple create-access-preview suivant crée un aperçu des accès qui vous permet de prévisualiser les résultats de l’analyseur d’accès IAM pour votre ressource avant de déployer les autorisations de ressources dans votre compte AWS.

aws accessanalyzer create-access-preview \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --configurations file://myfile.json

Contenu de myfile.json :

{ "arn:aws:s3:::amzn-s3-demo-bucket": { "s3Bucket": { "bucketPolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::111122223333:root\"]},\"Action\":[\"s3:PutObject\",\"s3:PutObjectAcl\"],\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/*\"}]}", "bucketPublicAccessBlock": { "ignorePublicAcls": true, "restrictPublicBuckets": true }, "bucketAclGrants": [ { "grantee": { "id": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be" }, "permission": "READ" } ] } } }

Sortie :

{ "id": "3c65eb13-6ef9-4629-8919-a32043619e6b" }

Pour plus d’informations, consultez Prévisualiser l’accès avec les API de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez CreateAccessPreview dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-analyzer.

AWS CLI

Pour créer un analyseur

L’exemple create-analyzer suivant crée un analyseur dans votre compte AWS.

aws accessanalyzer create-analyzer \ --analyzer-name example \ --type ACCOUNT

Sortie :

{ "arn": "arn:aws:access-analyzer:us-east-2:111122223333:analyzer/example" }

Pour plus d’informations, consultez Premiers pas avec les résultats de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez CreateAnalyzer dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-archive-rule.

AWS CLI

Pour créer une règle d’archivage pour l’analyseur spécifié

L’exemple create-archive-rule suivant crée une règle d’archivage pour l’analyseur spécifié dans votre compte AWS.

aws accessanalyzer create-archive-rule \ --analyzer-name UnusedAccess-ConsoleAnalyzer-organization \ --rule-name MyRule \ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}'

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Règles d’archivage dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez CreateArchiveRule dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-analyzer.

AWS CLI

Pour supprimer l’analyseur spécifié

L’exemple delete-analyzer suivant supprime l’analyseur spécifié dans votre compte AWS.

aws accessanalyzer delete-analyzer \ --analyzer-name example

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Règles d’archivage dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez DeleteAnalyzer dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-archive-rule.

AWS CLI

Pour supprimer la règle d’archivage spécifiée

L’exemple delete-archive-rule suivant supprime la règle d’archivage spécifiée dans votre compte AWS.

aws accessanalyzer delete-archive-rule \ --analyzer-name UnusedAccess-ConsoleAnalyzer-organization \ --rule-name MyRule

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Règles d’archivage dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez DeleteArchiveRule dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-access-preview.

AWS CLI

Pour récupérer les informations sur un aperçu des accès pour l’analyseur spécifié

L’exemple get-access-preview suivant récupère les informations sur un aperçu des accès pour l’analyseur spécifié dans votre compte AWS.

aws accessanalyzer get-access-preview \ --access-preview-id 3c65eb13-6ef9-4629-8919-a32043619e6b \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account

Sortie :

{ "accessPreview": { "id": "3c65eb13-6ef9-4629-8919-a32043619e6b", "analyzerArn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account", "configurations": { "arn:aws:s3:::amzn-s3-demo-bucket": { "s3Bucket": { "bucketPolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::111122223333:root\"]},\"Action\":[\"s3:PutObject\",\"s3:PutObjectAcl\"],\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/*\"}]}", "bucketAclGrants": [ { "permission": "READ", "grantee": { "id": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be" } } ], "bucketPublicAccessBlock": { "ignorePublicAcls": true, "restrictPublicBuckets": true } } } }, "createdAt": "2024-02-17T00:18:44+00:00", "status": "COMPLETED" } }

Pour plus d’informations, consultez Prévisualiser l’accès avec les API de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez GetAccessPreview dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-analyzed-resource.

AWS CLI

Pour récupérer les informations sur une ressource analysée

L’exemple get-analyzed-resource suivant récupère les informations sur une ressource qui a été analysée dans votre compte AWS.

aws accessanalyzer get-analyzed-resource \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --resource-arn arn:aws:s3:::amzn-s3-demo-bucket

Sortie :

{ "resource": { "analyzedAt": "2024-02-15T18:01:53.002000+00:00", "isPublic": false, "resourceArn": "arn:aws:s3:::amzn-s3-demo-bucket", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::S3::Bucket" } }

Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez GetAnalyzedResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-analyzer.

AWS CLI

Pour récupérer les informations sur l’analyseur spécifié

L’exemple get-analyzer suivant récupère les informations sur l’analyseur spécifié dans votre compte AWS.

aws accessanalyzer get-analyzer \ --analyzer-name ConsoleAnalyzer-account

Sortie :

{ "analyzer": { "arn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account", "createdAt": "2019-12-03T07:28:17+00:00", "lastResourceAnalyzed": "arn:aws:sns:us-west-2:111122223333:config-topic", "lastResourceAnalyzedAt": "2024-02-15T18:01:53.003000+00:00", "name": "ConsoleAnalyzer-account", "status": "ACTIVE", "tags": { "auto-delete": "no" }, "type": "ACCOUNT" } }

Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez GetAnalyzer dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-archive-rule.

AWS CLI

Pour récupérer les informations relatives à une règle d’archivage

L’exemple get-archive-rule suivant récupère les informations concernant une règle d’archivage de votre compte AWS.

aws accessanalyzer get-archive-rule \ --analyzer-name UnusedAccess-ConsoleAnalyzer-organization \ --rule-name MyArchiveRule

Sortie :

{ "archiveRule": { "createdAt": "2024-02-15T00:49:27+00:00", "filter": { "resource": { "contains": [ "Cognito" ] }, "resourceType": { "eq": [ "AWS::IAM::Role" ] } }, "ruleName": "MyArchiveRule", "updatedAt": "2024-02-15T00:49:27+00:00" } }

Pour plus d’informations, consultez Règles d’archivage dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez GetArchiveRule dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-finding-v2.

AWS CLI

Pour récupérer les informations sur le résultat spécifié

L’exemple get-finding-v2 suivant récupère les informations sur le résultat spécifié dans votre compte AWS.

aws accessanalyzer get-finding-v2 \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-organization \ --id 0910eedb-381e-4e95-adda-0d25c19e6e90

Sortie :

{ "findingDetails": [ { "externalAccessDetails": { "action": [ "sts:AssumeRoleWithWebIdentity" ], "condition": { "cognito-identity.amazonaws.com:aud": "us-west-2:EXAMPLE0-0000-0000-0000-000000000000" }, "isPublic": false, "principal": { "Federated": "cognito-identity.amazonaws.com" } } } ], "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolAuth_Role", "status": "ACTIVE", "error": null, "createdAt": "2021-02-26T21:17:50.905000+00:00", "resourceType": "AWS::IAM::Role", "findingType": "ExternalAccess", "resourceOwnerAccount": "111122223333", "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "id": "0910eedb-381e-4e95-adda-0d25c19e6e90", "updatedAt": "2021-02-26T21:17:50.905000+00:00" }

Pour plus d’informations, consultez Examen des résultats dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez GetFindingV2 dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-finding.

AWS CLI

Pour récupérer les informations sur le résultat spécifié

L’exemple get-finding suivant récupère les informations sur le résultat spécifié dans votre compte AWS.

aws accessanalyzer get-finding \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-organization \ --id 0910eedb-381e-4e95-adda-0d25c19e6e90

Sortie :

{ "finding": { "id": "0910eedb-381e-4e95-adda-0d25c19e6e90", "principal": { "Federated": "cognito-identity.amazonaws.com" }, "action": [ "sts:AssumeRoleWithWebIdentity" ], "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolAuth_Role", "isPublic": false, "resourceType": "AWS::IAM::Role", "condition": { "cognito-identity.amazonaws.com:aud": "us-west-2:EXAMPLE0-0000-0000-0000-000000000000" }, "createdAt": "2021-02-26T21:17:50.905000+00:00", "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "updatedAt": "2021-02-26T21:17:50.905000+00:00", "status": "ACTIVE", "resourceOwnerAccount": "111122223333" } }

Pour plus d’informations, consultez Examen des résultats dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez GetFinding dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-generated-policy.

AWS CLI

Pour récupérer la politique générée à l’aide de l’API StartPolicyGeneration

L’exemple get-generated-policy suivant récupère la politique qui a été générée à l’aide de l’API StartPolicyGeneration dans votre compte AWS.

aws accessanalyzer get-generated-policy \ --job-id c557dc4a-0338-4489-95dd-739014860ff9

Sortie :

{ "generatedPolicyResult": { "generatedPolicies": [ { "policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"SupportedServiceSid0\",\"Effect\":\"Allow\",\"Action\":[\"access-analyzer:GetAnalyzer\",\"access-analyzer:ListAnalyzers\",\"access-analyzer:ListArchiveRules\",\"access-analyzer:ListFindings\",\"cloudtrail:DescribeTrails\",\"cloudtrail:GetEventDataStore\",\"cloudtrail:GetEventSelectors\",\"cloudtrail:GetInsightSelectors\",\"cloudtrail:GetTrailStatus\",\"cloudtrail:ListChannels\",\"cloudtrail:ListEventDataStores\",\"cloudtrail:ListQueries\",\"cloudtrail:ListTags\",\"cloudtrail:LookupEvents\",\"ec2:DescribeRegions\",\"iam:GetAccountSummary\",\"iam:GetOpenIDConnectProvider\",\"iam:GetRole\",\"iam:ListAccessKeys\",\"iam:ListAccountAliases\",\"iam:ListOpenIDConnectProviders\",\"iam:ListRoles\",\"iam:ListSAMLProviders\",\"kms:ListAliases\",\"s3:GetBucketLocation\",\"s3:ListAllMyBuckets\"],\"Resource\":\"*\"}]}" } ], "properties": { "cloudTrailProperties": { "endTime": "2024-02-14T22:44:40+00:00", "startTime": "2024-02-13T00:30:00+00:00", "trailProperties": [ { "allRegions": true, "cloudTrailArn": "arn:aws:cloudtrail:us-west-2:111122223333:trail/my-trail", "regions": [] } ] }, "isComplete": false, "principalArn": "arn:aws:iam::111122223333:role/Admin" } }, "jobDetails": { "completedOn": "2024-02-14T22:47:01+00:00", "jobId": "c557dc4a-0338-4489-95dd-739014860ff9", "startedOn": "2024-02-14T22:44:41+00:00", "status": "SUCCEEDED" } }

Pour plus d’informations, consultez Génération de la politique de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez GetGeneratedPolicy dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-access-preview-findings.

AWS CLI

Pour récupérer la liste des résultats d’aperçu d’accès générés par l’aperçu d’accès spécifié

L’exemple list-access-preview-findings suivant récupère une liste des résultats d’aperçu des accès générés par l’aperçu des accès spécifié dans votre compte AWS.

aws accessanalyzer list-access-preview-findings \ --access-preview-id 3c65eb13-6ef9-4629-8919-a32043619e6b \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account

Sortie :

{ "findings": [ { "id": "e22fc158-1c87-4c32-9464-e7f405ce8d74", "principal": { "AWS": "111122223333" }, "action": [ "s3:PutObject", "s3:PutObjectAcl" ], "condition": {}, "resource": "arn:aws:s3:::amzn-s3-demo-bucket", "isPublic": false, "resourceType": "AWS::S3::Bucket", "createdAt": "2024-02-17T00:18:46+00:00", "changeType": "NEW", "status": "ACTIVE", "resourceOwnerAccount": "111122223333", "sources": [ { "type": "POLICY" } ] } ] }

Pour plus d’informations, consultez Prévisualiser l’accès avec les API de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.

L’exemple de code suivant montre comment utiliser list-access-previews.

AWS CLI

Pour récupérer une liste des aperçus des accès pour l’analyseur spécifié

L’exemple list-access-previews suivant récupère une liste d’aperçus des accès pour l’analyseur spécifié dans votre compte AWS.

aws accessanalyzer list-access-previews \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account

Sortie :

{ "accessPreviews": [ { "id": "3c65eb13-6ef9-4629-8919-a32043619e6b", "analyzerArn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account", "createdAt": "2024-02-17T00:18:44+00:00", "status": "COMPLETED" } ] }

Pour plus d’informations, consultez Prévisualiser l’accès avec les API de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez ListAccessPreviews dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-analyzed-resources.

AWS CLI

Pour répertorier les widgets disponibles

L’exemple list-analyzed-resources suivant répertorie les widgets disponibles dans votre compte AWS.

aws accessanalyzer list-analyzed-resources \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --resource-type AWS::IAM::Role

Sortie :

{ "analyzedResources": [ { "resourceArn": "arn:aws:sns:us-west-2:111122223333:Validation-Email", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::SNS::Topic" }, { "resourceArn": "arn:aws:sns:us-west-2:111122223333:admin-alerts", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::SNS::Topic" }, { "resourceArn": "arn:aws:sns:us-west-2:111122223333:config-topic", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::SNS::Topic" }, { "resourceArn": "arn:aws:sns:us-west-2:111122223333:inspector-topic", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::SNS::Topic" } ] }

Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez ListAnalyzedResources dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-analyzers.

AWS CLI

Pour récupérer une liste d’analyseurs

L’exemple list-analyzers suivant récupère la liste des analyseurs de votre compte AWS.

aws accessanalyzer list-analyzers

Sortie :

{ "analyzers": [ { "arn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/UnusedAccess-ConsoleAnalyzer-organization", "createdAt": "2024-02-15T00:46:40+00:00", "name": "UnusedAccess-ConsoleAnalyzer-organization", "status": "ACTIVE", "tags": { "auto-delete": "no" }, "type": "ORGANIZATION_UNUSED_ACCESS" }, { "arn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-organization", "createdAt": "2020-04-25T07:43:28+00:00", "lastResourceAnalyzed": "arn:aws:s3:::amzn-s3-demo-bucket", "lastResourceAnalyzedAt": "2024-02-15T21:51:56.517000+00:00", "name": "ConsoleAnalyzer-organization", "status": "ACTIVE", "tags": { "auto-delete": "no" }, "type": "ORGANIZATION" }, { "arn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account", "createdAt": "2019-12-03T07:28:17+00:00", "lastResourceAnalyzed": "arn:aws:sns:us-west-2:111122223333:config-topic", "lastResourceAnalyzedAt": "2024-02-15T18:01:53.003000+00:00", "name": "ConsoleAnalyzer-account", "status": "ACTIVE", "tags": { "auto-delete": "no" }, "type": "ACCOUNT" } ] }

Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez ListAnalyzers dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-archive-rules.

AWS CLI

Pour récupérer la liste des règles d’archivage créées pour l’analyseur spécifié

L’exemple list-archive-rules suivant récupère une liste de règles d’archivage créées pour l’analyseur spécifié dans votre compte AWS.

aws accessanalyzer list-archive-rules \ --analyzer-name UnusedAccess-ConsoleAnalyzer-organization

Sortie :

{ "archiveRules": [ { "createdAt": "2024-02-15T00:49:27+00:00", "filter": { "resource": { "contains": [ "Cognito" ] }, "resourceType": { "eq": [ "AWS::IAM::Role" ] } }, "ruleName": "MyArchiveRule", "updatedAt": "2024-02-15T00:49:27+00:00" }, { "createdAt": "2024-02-15T23:27:45+00:00", "filter": { "findingType": { "eq": [ "UnusedIAMUserAccessKey" ] } }, "ruleName": "ArchiveRule-56125a39-e517-4ff8-afb1-ef06f58db612", "updatedAt": "2024-02-15T23:27:45+00:00" } ] }

Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez ListArchiveRules dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-findings-v2.

AWS CLI

Pour récupérer une liste de résultats générés par l’analyseur spécifié

L’exemple list-findings-v2 suivant récupère une liste des résultats générés par l’analyseur spécifié dans votre compte AWS. Cet exemple filtre les résultats pour n’inclure que les rôles IAM dont le nom contient Cognito.

aws accessanalyzer list-findings-v2 \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}'

Sortie :

{ "findings": [ { "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "createdAt": "2021-02-26T21:17:24.710000+00:00", "id": "597f3bc2-3adc-4c18-9879-5c4b23485e46", "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolUnauth_Role", "resourceType": "AWS::IAM::Role", "resourceOwnerAccount": "111122223333", "status": "ACTIVE", "updatedAt": "2021-02-26T21:17:24.710000+00:00", "findingType": "ExternalAccess" }, { "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "createdAt": "2021-02-26T21:17:50.905000+00:00", "id": "ce0e221a-85b9-4d52-91ff-d7678075442f", "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolAuth_Role", "resourceType": "AWS::IAM::Role", "resourceOwnerAccount": "111122223333", "status": "ACTIVE", "updatedAt": "2021-02-26T21:17:50.905000+00:00", "findingType": "ExternalAccess" } ] }

Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez ListFindingsV2 dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-findings.

AWS CLI

Pour récupérer une liste de résultats générés par l’analyseur spécifié

L’exemple list-findings suivant récupère une liste des résultats générés par l’analyseur spécifié dans votre compte AWS. Cet exemple filtre les résultats pour n’inclure que les rôles IAM dont le nom contient Cognito.

aws accessanalyzer list-findings \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}'

Sortie :

{ "findings": [ { "id": "597f3bc2-3adc-4c18-9879-5c4b23485e46", "principal": { "Federated": "cognito-identity.amazonaws.com" }, "action": [ "sts:AssumeRoleWithWebIdentity" ], "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolUnauth_Role", "isPublic": false, "resourceType": "AWS::IAM::Role", "condition": { "cognito-identity.amazonaws.com:aud": "us-west-2:EXAMPLE0-0000-0000-0000-000000000000" }, "createdAt": "2021-02-26T21:17:24.710000+00:00", "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "updatedAt": "2021-02-26T21:17:24.710000+00:00", "status": "ACTIVE", "resourceOwnerAccount": "111122223333" }, { "id": "ce0e221a-85b9-4d52-91ff-d7678075442f", "principal": { "Federated": "cognito-identity.amazonaws.com" }, "action": [ "sts:AssumeRoleWithWebIdentity" ], "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolAuth_Role", "isPublic": false, "resourceType": "AWS::IAM::Role", "condition": { "cognito-identity.amazonaws.com:aud": "us-west-2:EXAMPLE0-0000-0000-0000-000000000000" }, "createdAt": "2021-02-26T21:17:50.905000+00:00", "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "updatedAt": "2021-02-26T21:17:50.905000+00:00", "status": "ACTIVE", "resourceOwnerAccount": "111122223333" } ] }

Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez ListFindings dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-policy-generations.

AWS CLI

Pour répertorier toutes les générations de politiques demandées au cours des sept derniers jours

L’exemple list-policy-generations suivant répertorie toutes les générations de politiques demandées au cours des sept derniers jours dans votre compte AWS.

aws accessanalyzer list-policy-generations

Sortie :

{ "policyGenerations": [ { "completedOn": "2024-02-14T23:43:38+00:00", "jobId": "923a56b0-ebb8-4e80-8a3c-a11ccfbcd6f2", "principalArn": "arn:aws:iam::111122223333:role/Admin", "startedOn": "2024-02-14T23:43:02+00:00", "status": "CANCELED" }, { "completedOn": "2024-02-14T22:47:01+00:00", "jobId": "c557dc4a-0338-4489-95dd-739014860ff9", "principalArn": "arn:aws:iam::111122223333:role/Admin", "startedOn": "2024-02-14T22:44:41+00:00", "status": "SUCCEEDED" } ] }

Pour plus d’informations, consultez Génération de la politique de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez ListPolicyGenerations dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-tags-for-resource.

AWS CLI

Pour récupérer une liste des balises appliquées à la ressource spécifiée

L’exemple list-tags-for-resource suivant récupère la liste des balises appliquées à la ressource spécifiée dans votre compte AWS.

aws accessanalyzer list-tags-for-resource \ --resource-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account

Sortie :

{ "tags": { "Zone-of-trust": "Account", "Name": "ConsoleAnalyzer" } }

Pour plus d’informations, consultez Génération de la politique de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez ListTagsForResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser start-policy-generation.

AWS CLI

Pour lancer une demande de génération de politique

L’exemple start-policy-generation suivant lance une demande de génération de politique dans votre compte AWS.

aws accessanalyzer start-policy-generation \ --policy-generation-details '{"principalArn":"arn:aws:iam::111122223333:role/Admin"}' \ --cloud-trail-details file://myfile.json

Contenu de myfile.json :

{ "accessRole": "arn:aws:iam::111122223333:role/service-role/AccessAnalyzerMonitorServiceRole", "startTime": "2024-02-13T00:30:00Z", "trails": [ { "allRegions": true, "cloudTrailArn": "arn:aws:cloudtrail:us-west-2:111122223333:trail/my-trail" } ] }

Sortie :

{ "jobId": "c557dc4a-0338-4489-95dd-739014860ff9" }

Pour plus d’informations, consultez Génération de la politique de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez StartPolicyGeneration dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser start-resource-scan.

AWS CLI

Pour lancer immédiatement une analyse des politiques appliquées à la ressource spécifiée

L’exemple start-resource-scan suivant lance immédiatement une analyse des politiques appliquées à la ressource spécifiée dans votre compte AWS.

aws accessanalyzer start-resource-scan \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --resource-arn arn:aws:iam::111122223333:role/Cognito_testpoolAuth_Role

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Génération de la politique de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez StartResourceScan dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser tag-resource.

AWS CLI

Pour ajouter une balise à la ressource spécifiée

L’exemple tag-resource suivant ajoute une balise à la ressource spécifiée dans votre compte AWS.

aws accessanalyzer tag-resource \ --resource-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --tags Environment=dev,Purpose=testing

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez TagResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser untag-resource.

AWS CLI

Pour supprimer des balises des ressources spécifiées

L’exemple untag-resource suivant supprime les balises de la ressource spécifiée dans votre compte AWS.

aws accessanalyzer untag-resource \ --resource-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --tag-keys Environment Purpose

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez UntagResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-archive-rule.

AWS CLI

Pour mettre à jour les critères et les valeurs de la règle d’archivage spécifiée

L’exemple update-archive-rule suivant met à jour les critères et les valeurs de la règle d’archivage spécifiée dans votre compte AWS.

aws accessanalyzer update-archive-rule \ --analyzer-name UnusedAccess-ConsoleAnalyzer-organization \ --rule-name MyArchiveRule \ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}'

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Règles d’archivage dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez UpdateArchiveRule dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-findings.

AWS CLI

Pour mettre à jour le statut des résultats spécifiés

L’exemple update-findings suivant met à jour le statut des résultats spécifiés dans votre compte AWS.

aws accessanalyzer update-findings \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/UnusedAccess-ConsoleAnalyzer-organization \ --ids 4f319ac3-2e0c-4dc4-bf51-7013a086b6ae 780d586a-2cce-4f72-aff6-359d450e7500 \ --status ARCHIVED

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez UpdateFindings dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser validate-policy.

AWS CLI

Pour demander la validation d’une politique et renvoyer une liste de résultats

L’exemple validate-policy suivant demande la validation d’une politique et renvoie une liste de résultats. La politique présentée dans cet exemple est une politique de confiance pour un rôle Amazon Cognito utilisé pour la fédération d’identité web. Les résultats générés par la politique de confiance concernent une valeur d’élément Sid vide et un principal de politique incompatible en raison de l’utilisation d’une action incorrecte pour endosser le rôle, sts:AssumeRole. L’action d’acceptation de rôle correcte à utiliser avec Cognito est sts:AssumeRoleWithWebIdentity.

aws accessanalyzer validate-policy \ --policy-document file://myfile.json \ --policy-type RESOURCE_POLICY

Contenu de myfile.json :

{ "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ], "Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-west-2_EXAMPLE" } } } ] }

Sortie :

{ "findings": [ { "findingDetails": "Add a value to the empty string in the Sid element.", "findingType": "SUGGESTION", "issueCode": "EMPTY_SID_VALUE", "learnMoreLink": "https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html#access-analyzer-reference-policy-checks-suggestion-empty-sid-value", "locations": [ { "path": [ { "value": "Statement" }, { "index": 0 }, { "value": "Sid" } ], "span": { "end": { "column": 21, "line": 5, "offset": 81 }, "start": { "column": 19, "line": 5, "offset": 79 } } } ] }, { "findingDetails": "The sts:AssumeRole action is invalid with the following principal(s): cognito-identity.amazonaws.com. Use a SAML provider principal with the sts:AssumeRoleWithSAML action or use an OIDC provider principal with the sts:AssumeRoleWithWebIdentity action. Ensure the provider is Federated if you use either of the two options.", "findingType": "ERROR", "issueCode": "MISMATCHED_ACTION_FOR_PRINCIPAL", "learnMoreLink": "https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html#access-analyzer-reference-policy-checks-error-mismatched-action-for-principal", "locations": [ { "path": [ { "value": "Statement" }, { "index": 0 }, { "value": "Action" }, { "index": 0 } ], "span": { "end": { "column": 32, "line": 11, "offset": 274 }, "start": { "column": 16, "line": 11, "offset": 258 } } }, { "path": [ { "value": "Statement" }, { "index": 0 }, { "value": "Principal" }, { "value": "Federated" } ], "span": { "end": { "column": 61, "line": 8, "offset": 202 }, "start": { "column": 29, "line": 8, "offset": 170 } } } ] }, { "findingDetails": "The following actions: sts:TagSession are not supported by the condition key cognito-identity.amazonaws.com:aud. The condition will not be evaluated for these actions. We recommend that you move these actions to a different statement without this condition key.", "findingType": "ERROR", "issueCode": "UNSUPPORTED_ACTION_FOR_CONDITION_KEY", "learnMoreLink": "https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html#access-analyzer-reference-policy-checks-error-unsupported-action-for-condition-key", "locations": [ { "path": [ { "value": "Statement" }, { "index": 0 }, { "value": "Action" }, { "index": 1 } ], "span": { "end": { "column": 32, "line": 12, "offset": 308 }, "start": { "column": 16, "line": 12, "offset": 292 } } }, { "path": [ { "value": "Statement" }, { "index": 0 }, { "value": "Condition" }, { "value": "StringEquals" }, { "value": "cognito-identity.amazonaws.com:aud" } ], "span": { "end": { "column": 79, "line": 16, "offset": 464 }, "start": { "column": 58, "line": 16, "offset": 443 } } } ] } ] }

Pour plus d’informations, consultez Vérifications de validation des politiques dans le Guide de l’utilisateur AWS IAM.

  • Pour plus de détails sur l’API, consultez ValidatePolicy dans la Référence des commandes de l’AWS CLI.