Exemples d'utilisation d'IAM Access Analyzer AWS CLI - AWS Command Line Interface

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.

Exemples d'utilisation d'IAM Access Analyzer AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l'aide de l' AWS Command Line Interface 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 utiliserapply-archive-rule.

AWS CLI

Pour appliquer une règle d’archivage à des résultats existants répondant aux critères de règles 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, reportez-vous ApplyArchiveRuleà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercancel-policy-generation.

AWS CLI

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

L’exemple cancel-policy-generation suivant annule l’ID 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 d’une politique IAM Access Analyzer dans le Guide de l’utilisateur AWS  IAM.

  • Pour plus de détails sur l'API, reportez-vous CancelPolicyGenerationà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercheck-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 la section Prévisualisation de l'accès avec IAM Access Analyzer APIs dans le guide de l'utilisateur d'AWS IAM.

  • Pour plus de détails sur l'API, reportez-vous CheckAccessNotGrantedà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercheck-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 la section Prévisualisation de l'accès avec IAM Access Analyzer APIs dans le guide de l'utilisateur d'AWS IAM.

  • Pour plus de détails sur l'API, reportez-vous CheckNoNewAccessà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercheck-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 la section Prévisualisation de l'accès avec IAM Access Analyzer APIs dans le guide de l'utilisateur d'AWS IAM.

  • Pour plus de détails sur l'API, reportez-vous CheckNoPublicAccessà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-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'create-access-previewexemple suivant crée un aperçu des accès qui vous permet de prévisualiser les résultats d'IAM Access Analyzer pour votre ressource avant de déployer les autorisations de ressources dans votre AWS compte.

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 la section Prévisualisation de l'accès avec IAM Access Analyzer APIs dans le guide de l'utilisateur d'AWS IAM.

  • Pour plus de détails sur l'API, reportez-vous CreateAccessPreviewà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-analyzer.

AWS CLI

Pour créer un analyseur

L'create-analyzerexemple suivant crée un analyseur dans votre AWS compte.

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 les conclusions de Getting started with AWS Identity and Access Management Access Analyzer dans le guide de l'utilisateur AWS IAM.

  • Pour plus de détails sur l'API, reportez-vous CreateAnalyzerà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-archive-rule.

AWS CLI

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

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

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, reportez-vous CreateArchiveRuleà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-analyzer.

AWS CLI

Pour supprimer l’analyseur spécifié

L'delete-analyzerexemple suivant supprime l'analyseur spécifié dans votre AWS compte.

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, reportez-vous DeleteAnalyzerà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-archive-rule.

AWS CLI

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

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

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, reportez-vous DeleteArchiveRuleà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-access-preview.

AWS CLI

Pour extraire des informations sur un aperçu des accès pour l’analyseur spécifié

L'get-access-previewexemple suivant permet de récupérer des informations sur un aperçu des accès pour l'analyseur spécifié dans votre AWS compte.

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 la section Prévisualisation de l'accès avec IAM Access Analyzer APIs dans le guide de l'utilisateur d'AWS IAM.

  • Pour plus de détails sur l'API, reportez-vous GetAccessPreviewà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-analyzed-resource.

AWS CLI

Pour extraire des informations sur une ressource analysée

L'get-analyzed-resourceexemple suivant permet de récupérer des informations sur une ressource analysée dans votre AWS compte.

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 la section Using AWS Identity and Access Management Access Analyzer dans le guide de l'utilisateur AWS IAM.

  • Pour plus de détails sur l'API, reportez-vous GetAnalyzedResourceà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-analyzer.

AWS CLI

Pour extraire des informations sur l’analyseur spécifié

L'get-analyzerexemple suivant permet de récupérer des informations sur l'analyseur spécifié dans votre AWS compte.

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 la section Using AWS Identity and Access Management Access Analyzer dans le guide de l'utilisateur AWS IAM.

  • Pour plus de détails sur l'API, reportez-vous GetAnalyzerà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-archive-rule.

AWS CLI

Pour extraire des informations relatives à une règle d’archivage

L'get-archive-ruleexemple suivant permet de récupérer des informations sur une règle d'archivage de votre AWS compte.

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, reportez-vous GetArchiveRuleà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-finding-v2.

AWS CLI

Pour extraire des informations sur le résultat spécifié

L'get-finding-v2exemple suivant permet de récupérer des informations sur le résultat spécifié dans votre AWS compte.

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, voir GetFindingV2 dans AWS CLI Command Reference.

L'exemple de code suivant montre comment utiliserget-finding.

AWS CLI

Pour extraire des informations sur le résultat spécifié

L'get-findingexemple suivant permet de récupérer des informations sur le résultat spécifié dans votre AWS compte.

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, reportez-vous GetFindingà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-generated-policy.

AWS CLI

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

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

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 d’une politique IAM Access Analyzer dans le Guide de l’utilisateur AWS  IAM.

  • Pour plus de détails sur l'API, reportez-vous GetGeneratedPolicyà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-access-preview-findings.

AWS CLI

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

L'list-access-preview-findingsexemple suivant extrait une liste des résultats d'aperçu des accès générés par l'aperçu d'accès spécifié dans votre AWS compte.

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 la section Prévisualisation de l'accès avec IAM Access Analyzer APIs dans le guide de l'utilisateur d'AWS IAM.

L'exemple de code suivant montre comment utiliserlist-access-previews.

AWS CLI

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

L'list-access-previewsexemple suivant extrait une liste d'aperçus d'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 la section Prévisualisation de l'accès avec IAM Access Analyzer APIs dans le guide de l'utilisateur d'AWS IAM.

  • Pour plus de détails sur l'API, reportez-vous ListAccessPreviewsà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-analyzed-resources.

AWS CLI

Pour répertorier les widgets disponibles

L'list-analyzed-resourcesexemple suivant répertorie les widgets disponibles dans votre AWS compte.

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 la section Using AWS Identity and Access Management Access Analyzer dans le guide de l'utilisateur AWS IAM.

  • Pour plus de détails sur l'API, reportez-vous ListAnalyzedResourcesà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-analyzers.

AWS CLI

Pour extraire une liste d’analyseurs

L'list-analyzersexemple suivant permet de récupérer la liste des analyseurs de votre AWS compte.

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 la section Using AWS Identity and Access Management Access Analyzer dans le guide de l'utilisateur AWS IAM.

  • Pour plus de détails sur l'API, reportez-vous ListAnalyzersà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-archive-rules.

AWS CLI

Pour extraire une liste des règles d’archivage créées pour l’analyseur spécifié

L'list-archive-rulesexemple suivant extrait une liste de règles d'archivage créées pour l'analyseur spécifié dans votre AWS compte.

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 la section Using AWS Identity and Access Management Access Analyzer dans le guide de l'utilisateur AWS IAM.

  • Pour plus de détails sur l'API, reportez-vous ListArchiveRulesà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-findings-v2.

AWS CLI

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

L'list-findings-v2exemple suivant extrait une liste des résultats générés par l'analyseur spécifié dans votre AWS compte. 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 la section Using AWS Identity and Access Management Access Analyzer dans le guide de l'utilisateur AWS IAM.

  • Pour plus de détails sur l'API, voir ListFindingsV2 dans AWS CLI Command Reference.

L'exemple de code suivant montre comment utiliserlist-findings.

AWS CLI

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

L'list-findingsexemple suivant extrait une liste des résultats générés par l'analyseur spécifié dans votre AWS compte. 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 la section Using AWS Identity and Access Management Access Analyzer dans le guide de l'utilisateur AWS IAM.

  • Pour plus de détails sur l'API, reportez-vous ListFindingsà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-policy-generations.

AWS CLI

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

L'list-policy-generationsexemple suivant répertorie toutes les générations de politiques demandées au cours des sept derniers jours sur votre AWS compte.

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 d’une politique IAM Access Analyzer dans le Guide de l’utilisateur AWS  IAM.

  • Pour plus de détails sur l'API, reportez-vous ListPolicyGenerationsà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-tags-for-resource.

AWS CLI

Pour extraire une liste des balises appliquées à la ressource spécifiée

L'list-tags-for-resourceexemple suivant extrait une liste de balises appliquées à la ressource spécifiée dans votre AWS compte.

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 d’une politique IAM Access Analyzer dans le Guide de l’utilisateur AWS  IAM.

  • Pour plus de détails sur l'API, reportez-vous ListTagsForResourceà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserstart-policy-generation.

AWS CLI

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

L'start-policy-generationexemple suivant lance une demande de génération de politiques dans votre AWS compte.

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 d’une politique IAM Access Analyzer dans le Guide de l’utilisateur AWS  IAM.

  • Pour plus de détails sur l'API, reportez-vous StartPolicyGenerationà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserstart-resource-scan.

AWS CLI

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

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

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 d’une politique IAM Access Analyzer dans le Guide de l’utilisateur AWS  IAM.

  • Pour plus de détails sur l'API, reportez-vous StartResourceScanà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisertag-resource.

AWS CLI

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

L'tag-resourceexemple suivant ajoute une balise à la ressource spécifiée dans votre AWS compte.

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 la section Using AWS Identity and Access Management Access Analyzer dans le guide de l'utilisateur AWS IAM.

  • Pour plus de détails sur l'API, reportez-vous TagResourceà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliseruntag-resource.

AWS CLI

Pour supprimer des balises des ressources spécifiées

L'untag-resourceexemple suivant supprime les balises de la ressource spécifiée dans votre AWS compte.

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 la section Using AWS Identity and Access Management Access Analyzer dans le guide de l'utilisateur AWS IAM.

  • Pour plus de détails sur l'API, reportez-vous UntagResourceà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-archive-rule.

AWS CLI

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

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

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, reportez-vous UpdateArchiveRuleà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-findings.

AWS CLI

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

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

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 la section Using AWS Identity and Access Management Access Analyzer dans le guide de l'utilisateur AWS IAM.

  • Pour plus de détails sur l'API, reportez-vous UpdateFindingsà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliservalidate-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 renvoyer une liste de résultats. La politique 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 non concordant en raison de l’utilisation d’une action d’acceptation de rôle incorrecte, 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, reportez-vous ValidatePolicyà la section Référence des AWS CLI commandes.