IAMExemples d'Access Analyzer utilisant 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.

IAMExemples d'Access Analyzer utilisant AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l'aide de l'outil AWS Command Line Interface with IAM Access Analyzer.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Les actions vous indiquent comment appeler des fonctions de service individuelles, mais vous pouvez les visualiser dans leur contexte dans les scénarios correspondants.

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 AWS IAM l'utilisateur.

  • Pour API plus de détails, voir ApplyArchiveRulela 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 IAM Access Analyzer dans le guide de l'AWS IAMutilisateur.

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:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] } ] }

Sortie :

{ "result": "PASS", "message": "The policy document does not grant access to perform 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'AWS IAMutilisateur.

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:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] } ] }

Contenu de new-policy.json :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-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'AWS IAMutilisateur.

  • Pour API plus de détails, voir CheckNoNewAccessla 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 IAM d'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 IAM d'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:::DOC-EXAMPLE-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:::DOC-EXAMPLE-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'AWS IAMutilisateur.

  • Pour API plus de détails, voir CreateAccessPreviewla 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 résultats de Getting started with AWS Identity and Access Management Access Analyzer dans le guide de l'AWS IAMutilisateur.

  • Pour API plus de détails, voir CreateAnalyzerla 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 AWS IAM l'utilisateur.

  • Pour API plus de détails, voir CreateArchiveRulela 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 AWS IAM l'utilisateur.

  • Pour API plus de détails, voir DeleteAnalyzerla 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 AWS IAM l'utilisateur.

  • Pour API plus de détails, voir DeleteArchiveRulela 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:::DOC-EXAMPLE-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:::DOC-EXAMPLE-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'AWS IAMutilisateur.

  • Pour API plus de détails, voir GetAccessPreviewla 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:::DOC-EXAMPLE-BUCKET

Sortie :

{ "resource": { "analyzedAt": "2024-02-15T18:01:53.002000+00:00", "isPublic": false, "resourceArn": "arn:aws:s3:::DOC-EXAMPLE-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'AWS IAMutilisateur.

  • Pour API plus de détails, voir GetAnalyzedResourcela 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'AWS IAMutilisateur.

  • Pour API plus de détails, voir GetAnalyzerla 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 AWS IAM l'utilisateur.

  • Pour API plus de détails, voir GetArchiveRulela 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 AWS IAM l'utilisateur.

  • Pour API plus de détails, 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 AWS IAM l'utilisateur.

  • Pour API plus de détails, voir GetFindingla 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 qui a été générée à l'aide du `StartPolicyGeneration` API

L'get-generated-policyexemple suivant récupère la politique qui a été générée à l'aide du StartPolicyGeneration API dans 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 IAM Access Analyzer dans le guide de l'AWS IAMutilisateur.

  • Pour API plus de détails, voir GetGeneratedPolicyla 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 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:::DOC-EXAMPLE-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'AWS IAMutilisateur.

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'AWS IAMutilisateur.

  • Pour API plus de détails, voir ListAccessPreviewsla 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'AWS IAMutilisateur.

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:::DOC-EXAMPLE-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'AWS IAMutilisateur.

  • Pour API plus de détails, voir ListAnalyzersla 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'AWS IAMutilisateur.

  • Pour API plus de détails, voir ListArchiveRulesla 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 n'inclure que IAM les rôles 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'AWS IAMutilisateur.

  • Pour API plus de détails, 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 n'inclure que IAM les rôles 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'AWS IAMutilisateur.

  • Pour API plus de détails, voir ListFindingsla 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 IAM Access Analyzer dans le guide de l'AWS IAMutilisateur.

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 IAM Access Analyzer dans le guide de l'AWS IAMutilisateur.

  • Pour API plus de détails, voir ListTagsForResourcela 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 IAM Access Analyzer dans le guide de l'AWS IAMutilisateur.

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 IAM Access Analyzer dans le guide de l'AWS IAMutilisateur.

  • Pour API plus de détails, voir StartResourceScanla section Référence des AWS CLI commandes.

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

AWS CLI

Pour ajouter un tag à 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'AWS IAMutilisateur.

  • Pour API plus de détails, voir TagResourcela 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'AWS IAMutilisateur.

  • Pour API plus de détails, voir UntagResourcela 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 AWS IAM l'utilisateur.

  • Pour API plus de détails, voir UpdateArchiveRulela 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'AWS IAMutilisateur.

  • Pour API plus de détails, voir UpdateFindingsla 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'AWS IAMutilisateur.

  • Pour API plus de détails, voir ValidatePolicyla section Référence des AWS CLI commandes.