Exemples d'utilisation d'IAM Access Analyzer AWS CLI - AWS Exemples de code SDK

D'autres exemples de AWS SDK sont disponibles dans le référentiel AWS Doc SDK Examples GitHub .

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 façon de configurer et d'exécuter le code en contexte.

Rubriques

Actions

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

AWS CLI

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

L'apply-archive-ruleexemple suivant applique une règle d'archivage aux résultats existants qui répondent aux critères de la règle 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 aucun résultat.

Pour plus d'informations, consultez la section 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 politiques demandée

L'cancel-policy-generationexemple suivant annule l'identifiant de tâche de génération de politiques demandé.

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

Cette commande ne produit aucun résultat.

Pour plus d’informations, consultez la section Génération de politiques de l’analyseur d’accès IAM dans le AWS Guide de l’utilisateur 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'check-access-not-grantedexemple 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'check-no-new-accessexemple 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'check-no-public-accessexemple 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 qui vous permet de prévisualiser les résultats d'IAM Access Analyzer 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 aucun résultat.

Pour plus d'informations, consultez la section 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 aucun résultat.

Pour plus d'informations, consultez la section 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 aucun résultat.

Pour plus d'informations, consultez la section 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 récupérer 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 récupérer 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 récupérer 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 récupérer des informations relatives à une règle d'archivage

L'get-archive-ruleexemple suivant permet de récupérer les informations relatives à 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 la section 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 récupérer 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 la section Révision 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 récupérer 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 la section Révision 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 la section Génération de politiques de l’analyseur d’accès IAM dans le AWS Guide de l’utilisateur 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 récupérer une liste des résultats d'aperçu d'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 d'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 récupérer la liste des aperçus d'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 récupérer 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 récupérer la 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 récupérer une liste des 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 inclure uniquement 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 récupérer une liste des 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 inclure uniquement 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 répertorier 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 la section Génération de politiques de l’analyseur d’accès IAM dans le AWS Guide de l’utilisateur 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 récupérer une liste de 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 la section Génération de politiques de l’analyseur d’accès IAM dans le AWS Guide de l’utilisateur 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 démarrer une demande de génération de politiques

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 la section Génération de politiques de l’analyseur d’accès IAM dans le AWS Guide de l’utilisateur 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 aucun résultat.

Pour plus d’informations, consultez la section Génération de politiques de l’analyseur d’accès IAM dans le AWS Guide de l’utilisateur 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 aucun résultat.

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 les 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 aucun résultat.

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 aucun résultat.

Pour plus d'informations, consultez la section 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 aucun résultat.

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'validate-policyexemple 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'Sidélément vide et un principe de politique non concordant en raison de l'utilisation d'une action d'acceptation de rôle incorrecte. sts:AssumeRole L'action d'hypothèse 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 la section Contrôles 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.