Exemples d’utilisation de l’AWS CLI avec l’analyseur d’accès IAM
Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec l’analyseur d’accès IAM.
Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.
Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.
Rubriques
Actions
L’exemple de code suivant montre comment utiliser apply-archive-rule.
- AWS CLI
-
Pour appliquer une règle d’archivage à des résultats existants qui répondent aux critères de la règle d’archivage
L’exemple
apply-archive-rulesuivant 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-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/UnusedAccess-ConsoleAnalyzer-organization\ --rule-nameMyArchiveRuleCette commande ne produit aucune sortie.
Pour plus d’informations, consultez Règles d’archivage dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez ApplyArchiveRule
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser cancel-policy-generation.
- AWS CLI
-
Pour annuler la génération de politique demandée
L’exemple
cancel-policy-generationsuivant annule l’identifiant de tâche de génération de la politique demandée.aws accessanalyzer cancel-policy-generation \ --job-id923a56b0-ebb8-4e80-8a3c-a11ccfbcd6f2Cette commande ne produit aucune sortie.
Pour plus d’informations, consultez Génération de la politique de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez CancelPolicyGeneration
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser check-access-not-granted.
- AWS CLI
-
Pour vérifier si l’accès spécifié n’est pas autorisé par une politique
L’exemple
check-access-not-grantedsuivant vérifie si l’accès spécifié n’est pas autorisé par une politique.aws accessanalyzer check-access-not-granted \ --policy-documentfile://myfile.json\ --access actions="s3:DeleteBucket","s3:GetBucketLocation" \ --policy-typeIDENTITY_POLICYContenu de
myfile.json:{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }Sortie :
{ "result": "PASS", "message": "The policy document does not grant access to perform one or more of the listed actions." }Pour plus d’informations, consultez Prévisualiser l’accès avec les API de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez CheckAccessNotGranted
AWS CLI dans la Référence des commandes de l’.
-
L’exemple de code suivant montre comment utiliser check-no-new-access.
- AWS CLI
-
Pour vérifier si un nouvel accès est autorisé pour une politique mise à jour par rapport à la politique existante
L’exemple
check-no-new-accesssuivant 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-documentfile://existing-policy.json\ --new-policy-documentfile://new-policy.json\ --policy-typeIDENTITY_POLICYContenu de
existing-policy.json:{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }Contenu de
new-policy.json:{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }Sortie :
{ "result": "FAIL", "message": "The modified permissions grant new access compared to your existing policy.", "reasons": [ { "description": "New access in the statement with index: 0.", "statementIndex": 0 } ] }Pour plus d’informations, consultez Prévisualiser l’accès avec les API de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez CheckNoNewAccess
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser check-no-public-access.
- AWS CLI
-
Pour vérifier si une politique de ressources peut accorder un accès public au type de ressource spécifié
L’exemple
check-no-public-accesssuivant 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-documentfile://check-no-public-access-myfile.json\ --resource-typeAWS::S3::BucketContenu de
myfile.json:{ "Version":"2012-10-17", "Statement": [ { "Sid": "CheckNoPublicAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/JohnDoe" }, "Action": [ "s3:GetObject" ] } ] }Sortie :
{ "result": "PASS", "message": "The resource policy does not grant public access for the given resource type." }Pour plus d’informations, consultez Prévisualiser l’accès avec les API de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez CheckNoPublicAccess
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-access-preview.
- AWS CLI
-
Pour créer un aperçu des accès vous permettant de prévisualiser les résultats de l’analyseur d’accès IAM pour votre ressource avant de déployer les autorisations relatives aux ressources
L’exemple
create-access-previewsuivant crée un aperçu des accès qui vous permet de prévisualiser les résultats de l’analyseur d’accès IAM pour votre ressource avant de déployer les autorisations de ressources dans votre compte AWS.aws accessanalyzer create-access-preview \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account\ --configurationsfile://myfile.jsonContenu de
myfile.json:{ "arn:aws:s3:::amzn-s3-demo-bucket": { "s3Bucket": { "bucketPolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::111122223333:root\"]},\"Action\":[\"s3:PutObject\",\"s3:PutObjectAcl\"],\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/*\"}]}", "bucketPublicAccessBlock": { "ignorePublicAcls": true, "restrictPublicBuckets": true }, "bucketAclGrants": [ { "grantee": { "id": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be" }, "permission": "READ" } ] } } }Sortie :
{ "id": "3c65eb13-6ef9-4629-8919-a32043619e6b" }Pour plus d’informations, consultez Prévisualiser l’accès avec les API de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez CreateAccessPreview
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-analyzer.
- AWS CLI
-
Pour créer un analyseur
L’exemple
create-analyzersuivant crée un analyseur dans votre compte AWS.aws accessanalyzer create-analyzer \ --analyzer-nameexample\ --typeACCOUNTSortie :
{ "arn": "arn:aws:access-analyzer:us-east-2:111122223333:analyzer/example" }Pour plus d’informations, consultez Premiers pas avec les résultats de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez CreateAnalyzer
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-archive-rule.
- AWS CLI
-
Pour créer une règle d’archivage pour l’analyseur spécifié
L’exemple
create-archive-rulesuivant crée une règle d’archivage pour l’analyseur spécifié dans votre compte AWS.aws accessanalyzer create-archive-rule \ --analyzer-nameUnusedAccess-ConsoleAnalyzer-organization\ --rule-nameMyRule\ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}'Cette commande ne produit aucune sortie.
Pour plus d’informations, consultez Règles d’archivage dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez CreateArchiveRule
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-analyzer.
- AWS CLI
-
Pour supprimer l’analyseur spécifié
L’exemple
delete-analyzersuivant supprime l’analyseur spécifié dans votre compte AWS.aws accessanalyzer delete-analyzer \ --analyzer-nameexampleCette commande ne produit aucune sortie.
Pour plus d’informations, consultez Règles d’archivage dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez DeleteAnalyzer
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-archive-rule.
- AWS CLI
-
Pour supprimer la règle d’archivage spécifiée
L’exemple
delete-archive-rulesuivant supprime la règle d’archivage spécifiée dans votre compte AWS.aws accessanalyzer delete-archive-rule \ --analyzer-nameUnusedAccess-ConsoleAnalyzer-organization\ --rule-nameMyRuleCette commande ne produit aucune sortie.
Pour plus d’informations, consultez Règles d’archivage dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez DeleteArchiveRule
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-access-preview.
- AWS CLI
-
Pour récupérer les informations sur un aperçu des accès pour l’analyseur spécifié
L’exemple
get-access-previewsuivant récupère les informations sur un aperçu des accès pour l’analyseur spécifié dans votre compte AWS.aws accessanalyzer get-access-preview \ --access-preview-id3c65eb13-6ef9-4629-8919-a32043619e6b\ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-accountSortie :
{ "accessPreview": { "id": "3c65eb13-6ef9-4629-8919-a32043619e6b", "analyzerArn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account", "configurations": { "arn:aws:s3:::amzn-s3-demo-bucket": { "s3Bucket": { "bucketPolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::111122223333:root\"]},\"Action\":[\"s3:PutObject\",\"s3:PutObjectAcl\"],\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/*\"}]}", "bucketAclGrants": [ { "permission": "READ", "grantee": { "id": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be" } } ], "bucketPublicAccessBlock": { "ignorePublicAcls": true, "restrictPublicBuckets": true } } } }, "createdAt": "2024-02-17T00:18:44+00:00", "status": "COMPLETED" } }Pour plus d’informations, consultez Prévisualiser l’accès avec les API de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez GetAccessPreview
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-analyzed-resource.
- AWS CLI
-
Pour récupérer les informations sur une ressource analysée
L’exemple
get-analyzed-resourcesuivant récupère les informations sur une ressource qui a été analysée dans votre compte AWS.aws accessanalyzer get-analyzed-resource \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account\ --resource-arnarn:aws:s3:::amzn-s3-demo-bucketSortie :
{ "resource": { "analyzedAt": "2024-02-15T18:01:53.002000+00:00", "isPublic": false, "resourceArn": "arn:aws:s3:::amzn-s3-demo-bucket", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::S3::Bucket" } }Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez GetAnalyzedResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-analyzer.
- AWS CLI
-
Pour récupérer les informations sur l’analyseur spécifié
L’exemple
get-analyzersuivant récupère les informations sur l’analyseur spécifié dans votre compte AWS.aws accessanalyzer get-analyzer \ --analyzer-nameConsoleAnalyzer-accountSortie :
{ "analyzer": { "arn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account", "createdAt": "2019-12-03T07:28:17+00:00", "lastResourceAnalyzed": "arn:aws:sns:us-west-2:111122223333:config-topic", "lastResourceAnalyzedAt": "2024-02-15T18:01:53.003000+00:00", "name": "ConsoleAnalyzer-account", "status": "ACTIVE", "tags": { "auto-delete": "no" }, "type": "ACCOUNT" } }Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez GetAnalyzer
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-archive-rule.
- AWS CLI
-
Pour récupérer les informations relatives à une règle d’archivage
L’exemple
get-archive-rulesuivant récupère les informations concernant une règle d’archivage de votre compte AWS.aws accessanalyzer get-archive-rule \ --analyzer-nameUnusedAccess-ConsoleAnalyzer-organization\ --rule-nameMyArchiveRuleSortie :
{ "archiveRule": { "createdAt": "2024-02-15T00:49:27+00:00", "filter": { "resource": { "contains": [ "Cognito" ] }, "resourceType": { "eq": [ "AWS::IAM::Role" ] } }, "ruleName": "MyArchiveRule", "updatedAt": "2024-02-15T00:49:27+00:00" } }Pour plus d’informations, consultez Règles d’archivage dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez GetArchiveRule
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-finding-v2.
- AWS CLI
-
Pour récupérer les informations sur le résultat spécifié
L’exemple
get-finding-v2suivant récupère les informations sur le résultat spécifié dans votre compte AWS.aws accessanalyzer get-finding-v2 \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-organization\ --id0910eedb-381e-4e95-adda-0d25c19e6e90Sortie :
{ "findingDetails": [ { "externalAccessDetails": { "action": [ "sts:AssumeRoleWithWebIdentity" ], "condition": { "cognito-identity.amazonaws.com:aud": "us-west-2:EXAMPLE0-0000-0000-0000-000000000000" }, "isPublic": false, "principal": { "Federated": "cognito-identity.amazonaws.com" } } } ], "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolAuth_Role", "status": "ACTIVE", "error": null, "createdAt": "2021-02-26T21:17:50.905000+00:00", "resourceType": "AWS::IAM::Role", "findingType": "ExternalAccess", "resourceOwnerAccount": "111122223333", "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "id": "0910eedb-381e-4e95-adda-0d25c19e6e90", "updatedAt": "2021-02-26T21:17:50.905000+00:00" }Pour plus d’informations, consultez Examen des résultats dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez GetFindingV2
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-finding.
- AWS CLI
-
Pour récupérer les informations sur le résultat spécifié
L’exemple
get-findingsuivant récupère les informations sur le résultat spécifié dans votre compte AWS.aws accessanalyzer get-finding \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-organization\ --id0910eedb-381e-4e95-adda-0d25c19e6e90Sortie :
{ "finding": { "id": "0910eedb-381e-4e95-adda-0d25c19e6e90", "principal": { "Federated": "cognito-identity.amazonaws.com" }, "action": [ "sts:AssumeRoleWithWebIdentity" ], "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolAuth_Role", "isPublic": false, "resourceType": "AWS::IAM::Role", "condition": { "cognito-identity.amazonaws.com:aud": "us-west-2:EXAMPLE0-0000-0000-0000-000000000000" }, "createdAt": "2021-02-26T21:17:50.905000+00:00", "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "updatedAt": "2021-02-26T21:17:50.905000+00:00", "status": "ACTIVE", "resourceOwnerAccount": "111122223333" } }Pour plus d’informations, consultez Examen des résultats dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez GetFinding
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-generated-policy.
- AWS CLI
-
Pour récupérer la politique générée à l’aide de l’API StartPolicyGeneration
L’exemple
get-generated-policysuivant récupère la politique qui a été générée à l’aide de l’API StartPolicyGeneration dans votre compte AWS.aws accessanalyzer get-generated-policy \ --job-idc557dc4a-0338-4489-95dd-739014860ff9Sortie :
{ "generatedPolicyResult": { "generatedPolicies": [ { "policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"SupportedServiceSid0\",\"Effect\":\"Allow\",\"Action\":[\"access-analyzer:GetAnalyzer\",\"access-analyzer:ListAnalyzers\",\"access-analyzer:ListArchiveRules\",\"access-analyzer:ListFindings\",\"cloudtrail:DescribeTrails\",\"cloudtrail:GetEventDataStore\",\"cloudtrail:GetEventSelectors\",\"cloudtrail:GetInsightSelectors\",\"cloudtrail:GetTrailStatus\",\"cloudtrail:ListChannels\",\"cloudtrail:ListEventDataStores\",\"cloudtrail:ListQueries\",\"cloudtrail:ListTags\",\"cloudtrail:LookupEvents\",\"ec2:DescribeRegions\",\"iam:GetAccountSummary\",\"iam:GetOpenIDConnectProvider\",\"iam:GetRole\",\"iam:ListAccessKeys\",\"iam:ListAccountAliases\",\"iam:ListOpenIDConnectProviders\",\"iam:ListRoles\",\"iam:ListSAMLProviders\",\"kms:ListAliases\",\"s3:GetBucketLocation\",\"s3:ListAllMyBuckets\"],\"Resource\":\"*\"}]}" } ], "properties": { "cloudTrailProperties": { "endTime": "2024-02-14T22:44:40+00:00", "startTime": "2024-02-13T00:30:00+00:00", "trailProperties": [ { "allRegions": true, "cloudTrailArn": "arn:aws:cloudtrail:us-west-2:111122223333:trail/my-trail", "regions": [] } ] }, "isComplete": false, "principalArn": "arn:aws:iam::111122223333:role/Admin" } }, "jobDetails": { "completedOn": "2024-02-14T22:47:01+00:00", "jobId": "c557dc4a-0338-4489-95dd-739014860ff9", "startedOn": "2024-02-14T22:44:41+00:00", "status": "SUCCEEDED" } }Pour plus d’informations, consultez Génération de la politique de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez GetGeneratedPolicy
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-access-preview-findings.
- AWS CLI
-
Pour récupérer la liste des résultats d’aperçu d’accès générés par l’aperçu d’accès spécifié
L’exemple
list-access-preview-findingssuivant récupère une liste des résultats d’aperçu des accès générés par l’aperçu des accès spécifié dans votre compte AWS.aws accessanalyzer list-access-preview-findings \ --access-preview-id3c65eb13-6ef9-4629-8919-a32043619e6b\ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-accountSortie :
{ "findings": [ { "id": "e22fc158-1c87-4c32-9464-e7f405ce8d74", "principal": { "AWS": "111122223333" }, "action": [ "s3:PutObject", "s3:PutObjectAcl" ], "condition": {}, "resource": "arn:aws:s3:::amzn-s3-demo-bucket", "isPublic": false, "resourceType": "AWS::S3::Bucket", "createdAt": "2024-02-17T00:18:46+00:00", "changeType": "NEW", "status": "ACTIVE", "resourceOwnerAccount": "111122223333", "sources": [ { "type": "POLICY" } ] } ] }Pour plus d’informations, consultez Prévisualiser l’accès avec les API de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez ListAccessPreviewFindings
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-access-previews.
- AWS CLI
-
Pour récupérer une liste des aperçus des accès pour l’analyseur spécifié
L’exemple
list-access-previewssuivant récupère une liste d’aperçus des accès pour l’analyseur spécifié dans votre compte AWS.aws accessanalyzer list-access-previews \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-accountSortie :
{ "accessPreviews": [ { "id": "3c65eb13-6ef9-4629-8919-a32043619e6b", "analyzerArn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account", "createdAt": "2024-02-17T00:18:44+00:00", "status": "COMPLETED" } ] }Pour plus d’informations, consultez Prévisualiser l’accès avec les API de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez ListAccessPreviews
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-analyzed-resources.
- AWS CLI
-
Pour répertorier les widgets disponibles
L’exemple
list-analyzed-resourcessuivant répertorie les widgets disponibles dans votre compte AWS.aws accessanalyzer list-analyzed-resources \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account\ --resource-typeAWS::IAM::RoleSortie :
{ "analyzedResources": [ { "resourceArn": "arn:aws:sns:us-west-2:111122223333:Validation-Email", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::SNS::Topic" }, { "resourceArn": "arn:aws:sns:us-west-2:111122223333:admin-alerts", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::SNS::Topic" }, { "resourceArn": "arn:aws:sns:us-west-2:111122223333:config-topic", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::SNS::Topic" }, { "resourceArn": "arn:aws:sns:us-west-2:111122223333:inspector-topic", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::SNS::Topic" } ] }Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez ListAnalyzedResources
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-analyzers.
- AWS CLI
-
Pour récupérer une liste d’analyseurs
L’exemple
list-analyzerssuivant récupère la liste des analyseurs de votre compte AWS.aws accessanalyzer list-analyzersSortie :
{ "analyzers": [ { "arn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/UnusedAccess-ConsoleAnalyzer-organization", "createdAt": "2024-02-15T00:46:40+00:00", "name": "UnusedAccess-ConsoleAnalyzer-organization", "status": "ACTIVE", "tags": { "auto-delete": "no" }, "type": "ORGANIZATION_UNUSED_ACCESS" }, { "arn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-organization", "createdAt": "2020-04-25T07:43:28+00:00", "lastResourceAnalyzed": "arn:aws:s3:::amzn-s3-demo-bucket", "lastResourceAnalyzedAt": "2024-02-15T21:51:56.517000+00:00", "name": "ConsoleAnalyzer-organization", "status": "ACTIVE", "tags": { "auto-delete": "no" }, "type": "ORGANIZATION" }, { "arn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account", "createdAt": "2019-12-03T07:28:17+00:00", "lastResourceAnalyzed": "arn:aws:sns:us-west-2:111122223333:config-topic", "lastResourceAnalyzedAt": "2024-02-15T18:01:53.003000+00:00", "name": "ConsoleAnalyzer-account", "status": "ACTIVE", "tags": { "auto-delete": "no" }, "type": "ACCOUNT" } ] }Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez ListAnalyzers
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-archive-rules.
- AWS CLI
-
Pour récupérer la liste des règles d’archivage créées pour l’analyseur spécifié
L’exemple
list-archive-rulessuivant récupère une liste de règles d’archivage créées pour l’analyseur spécifié dans votre compte AWS.aws accessanalyzer list-archive-rules \ --analyzer-nameUnusedAccess-ConsoleAnalyzer-organizationSortie :
{ "archiveRules": [ { "createdAt": "2024-02-15T00:49:27+00:00", "filter": { "resource": { "contains": [ "Cognito" ] }, "resourceType": { "eq": [ "AWS::IAM::Role" ] } }, "ruleName": "MyArchiveRule", "updatedAt": "2024-02-15T00:49:27+00:00" }, { "createdAt": "2024-02-15T23:27:45+00:00", "filter": { "findingType": { "eq": [ "UnusedIAMUserAccessKey" ] } }, "ruleName": "ArchiveRule-56125a39-e517-4ff8-afb1-ef06f58db612", "updatedAt": "2024-02-15T23:27:45+00:00" } ] }Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez ListArchiveRules
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-findings-v2.
- AWS CLI
-
Pour récupérer une liste de résultats générés par l’analyseur spécifié
L’exemple
list-findings-v2suivant récupère une liste des résultats générés par l’analyseur spécifié dans votre compte AWS. Cet exemple filtre les résultats pour n’inclure que les rôles IAM dont le nom contientCognito.aws accessanalyzer list-findings-v2 \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account\ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}'Sortie :
{ "findings": [ { "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "createdAt": "2021-02-26T21:17:24.710000+00:00", "id": "597f3bc2-3adc-4c18-9879-5c4b23485e46", "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolUnauth_Role", "resourceType": "AWS::IAM::Role", "resourceOwnerAccount": "111122223333", "status": "ACTIVE", "updatedAt": "2021-02-26T21:17:24.710000+00:00", "findingType": "ExternalAccess" }, { "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "createdAt": "2021-02-26T21:17:50.905000+00:00", "id": "ce0e221a-85b9-4d52-91ff-d7678075442f", "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolAuth_Role", "resourceType": "AWS::IAM::Role", "resourceOwnerAccount": "111122223333", "status": "ACTIVE", "updatedAt": "2021-02-26T21:17:50.905000+00:00", "findingType": "ExternalAccess" } ] }Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez ListFindingsV2
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-findings.
- AWS CLI
-
Pour récupérer une liste de résultats générés par l’analyseur spécifié
L’exemple
list-findingssuivant récupère une liste des résultats générés par l’analyseur spécifié dans votre compte AWS. Cet exemple filtre les résultats pour n’inclure que les rôles IAM dont le nom contientCognito.aws accessanalyzer list-findings \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account\ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}'Sortie :
{ "findings": [ { "id": "597f3bc2-3adc-4c18-9879-5c4b23485e46", "principal": { "Federated": "cognito-identity.amazonaws.com" }, "action": [ "sts:AssumeRoleWithWebIdentity" ], "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolUnauth_Role", "isPublic": false, "resourceType": "AWS::IAM::Role", "condition": { "cognito-identity.amazonaws.com:aud": "us-west-2:EXAMPLE0-0000-0000-0000-000000000000" }, "createdAt": "2021-02-26T21:17:24.710000+00:00", "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "updatedAt": "2021-02-26T21:17:24.710000+00:00", "status": "ACTIVE", "resourceOwnerAccount": "111122223333" }, { "id": "ce0e221a-85b9-4d52-91ff-d7678075442f", "principal": { "Federated": "cognito-identity.amazonaws.com" }, "action": [ "sts:AssumeRoleWithWebIdentity" ], "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolAuth_Role", "isPublic": false, "resourceType": "AWS::IAM::Role", "condition": { "cognito-identity.amazonaws.com:aud": "us-west-2:EXAMPLE0-0000-0000-0000-000000000000" }, "createdAt": "2021-02-26T21:17:50.905000+00:00", "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "updatedAt": "2021-02-26T21:17:50.905000+00:00", "status": "ACTIVE", "resourceOwnerAccount": "111122223333" } ] }Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez ListFindings
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-policy-generations.
- AWS CLI
-
Pour répertorier toutes les générations de politiques demandées au cours des sept derniers jours
L’exemple
list-policy-generationssuivant répertorie toutes les générations de politiques demandées au cours des sept derniers jours dans votre compte AWS.aws accessanalyzer list-policy-generationsSortie :
{ "policyGenerations": [ { "completedOn": "2024-02-14T23:43:38+00:00", "jobId": "923a56b0-ebb8-4e80-8a3c-a11ccfbcd6f2", "principalArn": "arn:aws:iam::111122223333:role/Admin", "startedOn": "2024-02-14T23:43:02+00:00", "status": "CANCELED" }, { "completedOn": "2024-02-14T22:47:01+00:00", "jobId": "c557dc4a-0338-4489-95dd-739014860ff9", "principalArn": "arn:aws:iam::111122223333:role/Admin", "startedOn": "2024-02-14T22:44:41+00:00", "status": "SUCCEEDED" } ] }Pour plus d’informations, consultez Génération de la politique de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez ListPolicyGenerations
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-tags-for-resource.
- AWS CLI
-
Pour récupérer une liste des balises appliquées à la ressource spécifiée
L’exemple
list-tags-for-resourcesuivant récupère la liste des balises appliquées à la ressource spécifiée dans votre compte AWS.aws accessanalyzer list-tags-for-resource \ --resource-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-accountSortie :
{ "tags": { "Zone-of-trust": "Account", "Name": "ConsoleAnalyzer" } }Pour plus d’informations, consultez Génération de la politique de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez ListTagsForResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser start-policy-generation.
- AWS CLI
-
Pour lancer une demande de génération de politique
L’exemple
start-policy-generationsuivant lance une demande de génération de politique dans votre compte AWS.aws accessanalyzer start-policy-generation \ --policy-generation-details '{"principalArn":"arn:aws:iam::111122223333:role/Admin"}' \ --cloud-trail-detailsfile://myfile.jsonContenu de
myfile.json:{ "accessRole": "arn:aws:iam::111122223333:role/service-role/AccessAnalyzerMonitorServiceRole", "startTime": "2024-02-13T00:30:00Z", "trails": [ { "allRegions": true, "cloudTrailArn": "arn:aws:cloudtrail:us-west-2:111122223333:trail/my-trail" } ] }Sortie :
{ "jobId": "c557dc4a-0338-4489-95dd-739014860ff9" }Pour plus d’informations, consultez Génération de la politique de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez StartPolicyGeneration
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser start-resource-scan.
- AWS CLI
-
Pour lancer immédiatement une analyse des politiques appliquées à la ressource spécifiée
L’exemple
start-resource-scansuivant lance immédiatement une analyse des politiques appliquées à la ressource spécifiée dans votre compte AWS.aws accessanalyzer start-resource-scan \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account\ --resource-arnarn:aws:iam::111122223333:role/Cognito_testpoolAuth_RoleCette commande ne produit aucune sortie.
Pour plus d’informations, consultez Génération de la politique de l’analyseur d’accès IAM dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez StartResourceScan
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser tag-resource.
- AWS CLI
-
Pour ajouter une balise à la ressource spécifiée
L’exemple
tag-resourcesuivant ajoute une balise à la ressource spécifiée dans votre compte AWS.aws accessanalyzer tag-resource \ --resource-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account\ --tagsEnvironment=dev,Purpose=testingCette commande ne produit aucune sortie.
Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez TagResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser untag-resource.
- AWS CLI
-
Pour supprimer des balises des ressources spécifiées
L’exemple
untag-resourcesuivant supprime les balises de la ressource spécifiée dans votre compte AWS.aws accessanalyzer untag-resource \ --resource-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account\ --tag-keysEnvironmentPurposeCette commande ne produit aucune sortie.
Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez UntagResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-archive-rule.
- AWS CLI
-
Pour mettre à jour les critères et les valeurs de la règle d’archivage spécifiée
L’exemple
update-archive-rulesuivant met à jour les critères et les valeurs de la règle d’archivage spécifiée dans votre compte AWS.aws accessanalyzer update-archive-rule \ --analyzer-nameUnusedAccess-ConsoleAnalyzer-organization\ --rule-nameMyArchiveRule\ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}'Cette commande ne produit aucune sortie.
Pour plus d’informations, consultez Règles d’archivage dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez UpdateArchiveRule
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-findings.
- AWS CLI
-
Pour mettre à jour le statut des résultats spécifiés
L’exemple
update-findingssuivant met à jour le statut des résultats spécifiés dans votre compte AWS.aws accessanalyzer update-findings \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/UnusedAccess-ConsoleAnalyzer-organization\ --ids4f319ac3-2e0c-4dc4-bf51-7013a086b6ae780d586a-2cce-4f72-aff6-359d450e7500\ --statusARCHIVEDCette commande ne produit aucune sortie.
Pour plus d’informations, consultez Utilisation de l’analyseur d’accès AWS Identity and Access Management dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez UpdateFindings
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser validate-policy.
- AWS CLI
-
Pour demander la validation d’une politique et renvoyer une liste de résultats
L’exemple
validate-policysuivant demande la validation d’une politique et renvoie une liste de résultats. La politique présentée dans cet exemple est une politique de confiance pour un rôle Amazon Cognito utilisé pour la fédération d’identité web. Les résultats générés par la politique de confiance concernent une valeur d’élémentSidvide et un principal de politique incompatible en raison de l’utilisation d’une action incorrecte pour endosser le rôle,sts:AssumeRole. L’action d’acceptation de rôle correcte à utiliser avec Cognito eststs:AssumeRoleWithWebIdentity.aws accessanalyzer validate-policy \ --policy-documentfile://myfile.json\ --policy-typeRESOURCE_POLICYContenu de
myfile.json:{ "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ], "Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-west-2_EXAMPLE" } } } ] }Sortie :
{ "findings": [ { "findingDetails": "Add a value to the empty string in the Sid element.", "findingType": "SUGGESTION", "issueCode": "EMPTY_SID_VALUE", "learnMoreLink": "https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html#access-analyzer-reference-policy-checks-suggestion-empty-sid-value", "locations": [ { "path": [ { "value": "Statement" }, { "index": 0 }, { "value": "Sid" } ], "span": { "end": { "column": 21, "line": 5, "offset": 81 }, "start": { "column": 19, "line": 5, "offset": 79 } } } ] }, { "findingDetails": "The sts:AssumeRole action is invalid with the following principal(s): cognito-identity.amazonaws.com. Use a SAML provider principal with the sts:AssumeRoleWithSAML action or use an OIDC provider principal with the sts:AssumeRoleWithWebIdentity action. Ensure the provider is Federated if you use either of the two options.", "findingType": "ERROR", "issueCode": "MISMATCHED_ACTION_FOR_PRINCIPAL", "learnMoreLink": "https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html#access-analyzer-reference-policy-checks-error-mismatched-action-for-principal", "locations": [ { "path": [ { "value": "Statement" }, { "index": 0 }, { "value": "Action" }, { "index": 0 } ], "span": { "end": { "column": 32, "line": 11, "offset": 274 }, "start": { "column": 16, "line": 11, "offset": 258 } } }, { "path": [ { "value": "Statement" }, { "index": 0 }, { "value": "Principal" }, { "value": "Federated" } ], "span": { "end": { "column": 61, "line": 8, "offset": 202 }, "start": { "column": 29, "line": 8, "offset": 170 } } } ] }, { "findingDetails": "The following actions: sts:TagSession are not supported by the condition key cognito-identity.amazonaws.com:aud. The condition will not be evaluated for these actions. We recommend that you move these actions to a different statement without this condition key.", "findingType": "ERROR", "issueCode": "UNSUPPORTED_ACTION_FOR_CONDITION_KEY", "learnMoreLink": "https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html#access-analyzer-reference-policy-checks-error-unsupported-action-for-condition-key", "locations": [ { "path": [ { "value": "Statement" }, { "index": 0 }, { "value": "Action" }, { "index": 1 } ], "span": { "end": { "column": 32, "line": 12, "offset": 308 }, "start": { "column": 16, "line": 12, "offset": 292 } } }, { "path": [ { "value": "Statement" }, { "index": 0 }, { "value": "Condition" }, { "value": "StringEquals" }, { "value": "cognito-identity.amazonaws.com:aud" } ], "span": { "end": { "column": 79, "line": 16, "offset": 464 }, "start": { "column": 58, "line": 16, "offset": 443 } } } ] } ] }Pour plus d’informations, consultez Vérifications de validation des politiques dans le Guide de l’utilisateur AWS IAM.
-
Pour plus de détails sur l’API, consultez ValidatePolicy
dans la Référence des commandes de l’AWS CLI.
-