Esempi di utilizzo di IAM Access Analyzer AWS CLI - AWS Esempi di codice SDK

Sono disponibili altri esempi AWS SDK nel repository AWS Doc SDK Examples. GitHub

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempi di utilizzo di IAM Access Analyzer AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando IAM Access Analyzer. AWS Command Line Interface

Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzareapply-archive-rule.

AWS CLI

Come applicare una regola di archiviazione agli esiti che soddisfano i criteri della regola

L’esempio apply-archive-rule seguente applica una regola di archiviazione agli esiti che soddisfano i criteri della regola.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Regole di archiviazione nella Guida per l’utente di AWS IAM.

Il seguente esempio di codice mostra come utilizzarecancel-policy-generation.

AWS CLI

Come annullare una generazione di policy richiesta

L’esempio cancel-policy-generation seguente annulla l’id del processo di generazione della policy richiesto.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Generazione delle policy per IAM Access Analyzer nella Guida per l’utente di AWS IAM.

Il seguente esempio di codice mostra come utilizzarecheck-access-not-granted.

AWS CLI

Come verificare se l’accesso specificato non è consentito da una policy

L’esempio check-access-not-granted seguente verifica se l’accesso specificato non è consentito da una policy.

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

Contenuto di 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/*" ] } ] }

Output:

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

Per ulteriori informazioni, consulta Anteprima dell'accesso con IAM Access Analyzer APIs nella Guida per l'utente AWS IAM.

Il seguente esempio di codice mostra come utilizzarecheck-no-new-access.

AWS CLI

Come verificare se è consentito un nuovo accesso per una policy aggiornata rispetto alla policy esistente

L’esempio check-no-new-access seguente verifica se è consentito un nuovo accesso per una policy aggiornata rispetto alla policy esistente.

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

Contenuto di 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/*" ] } ] }

Contenuto di 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/*" ] } ] }

Output:

{ "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 } ] }

Per ulteriori informazioni, consulta Anteprima dell'accesso con IAM Access Analyzer APIs nella Guida per l'utente AWS IAM.

Il seguente esempio di codice mostra come utilizzarecheck-no-public-access.

AWS CLI

Come verificare se una policy delle risorse può concedere l’accesso pubblico al tipo di risorsa specificato

L’esempio check-no-public-access seguente verifica se una policy delle risorse può concedere l’accesso pubblico a un tipo di risorsa specificato.

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

Contenuto di myfile.json:

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

Output:

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

Per ulteriori informazioni, consulta Anteprima dell'accesso con IAM Access Analyzer APIs nella Guida per l'utente AWS IAM.

Il seguente esempio di codice mostra come utilizzarecreate-access-preview.

AWS CLI

Come creare un’anteprima di accesso che consenta di visualizzare in anteprima gli esiti dello strumento di analisi degli accessi IAM relativi alla risorsa corrente prima di distribuire le autorizzazioni delle risorse

L'create-access-previewesempio seguente crea un'anteprima di accesso che ti consente di visualizzare in anteprima i risultati di IAM Access Analyzer relativi alla tua risorsa prima di distribuire le autorizzazioni delle risorse nel tuo account. AWS

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

Contenuto di 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" } ] } } }

Output:

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

Per ulteriori informazioni, consulta Anteprima dell'accesso con IAM Access Analyzer APIs nella Guida per l'utente IAM.AWS

Il seguente esempio di codice mostra come utilizzarecreate-analyzer.

AWS CLI

Come creare un analizzatore

L'create-analyzeresempio seguente crea un analizzatore nel tuo AWS account.

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

Output:

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

Per ulteriori informazioni, consulta i risultati di Getting started with AWS Identity and Access Management Access Analyzer nella AWS IAM User Guide.

Il seguente esempio di codice mostra come utilizzarecreate-archive-rule.

AWS CLI

Come creare una regola di archiviazione per l’analizzatore specificato

L'create-archive-ruleesempio seguente crea una regola di archiviazione per l'analizzatore specificato nell' AWS account.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Regole di archiviazione nella Guida per l’utente di AWS IAM.

Il seguente esempio di codice mostra come utilizzaredelete-analyzer.

AWS CLI

Come eliminare l’analizzatore specificato

L'delete-analyzeresempio seguente elimina l'analizzatore specificato nell'account AWS .

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Regole di archiviazione nella Guida per l’utente di AWS IAM.

  • Per i dettagli sull'API, consulta AWS CLI Command DeleteAnalyzerReference.

Il seguente esempio di codice mostra come utilizzaredelete-archive-rule.

AWS CLI

Come eliminare la regola di archiviazione specificata

L'delete-archive-ruleesempio seguente elimina la regola di archiviazione specificata nell' AWS account.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Regole di archiviazione nella Guida per l’utente di AWS IAM.

Il seguente esempio di codice mostra come utilizzareget-access-preview.

AWS CLI

Come recuperare informazioni sull’anteprima di accesso per l’analizzatore specificato

L'get-access-previewesempio seguente recupera le informazioni su un'anteprima di accesso per l'analizzatore specificato nell'account AWS .

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

Output:

{ "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" } }

Per ulteriori informazioni, consulta Anteprima dell'accesso con IAM Access Analyzer APIs nella IAM User Guide.AWS

Il seguente esempio di codice mostra come utilizzareget-analyzed-resource.

AWS CLI

Come recuperare informazioni su una risorsa analizzata

L'get-analyzed-resourceesempio seguente recupera informazioni su una risorsa che è stata analizzata nel tuo AWS account.

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

Output:

{ "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" } }

Per ulteriori informazioni, consulta Using AWS Identity and Access Management Access Analyzer nella AWS IAM User Guide.

Il seguente esempio di codice mostra come utilizzareget-analyzer.

AWS CLI

Come recuperare informazioni sull’analizzatore specificato

L'get-analyzeresempio seguente recupera le informazioni sull'analizzatore specificato nell'account AWS .

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

Output:

{ "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" } }

Per ulteriori informazioni, consulta Using AWS Identity and Access Management Access Analyzer nella AWS IAM User Guide.

Il seguente esempio di codice mostra come utilizzareget-archive-rule.

AWS CLI

Come recuperare informazioni su una regola di archiviazione

L'get-archive-ruleesempio seguente recupera informazioni su una regola di archiviazione nel tuo AWS account.

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

Output:

{ "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" } }

Per ulteriori informazioni, consulta Regole di archiviazione nella Guida per l’utente di AWS IAM.

Il seguente esempio di codice mostra come utilizzareget-finding-v2.

AWS CLI

Come recuperare informazioni sull’esito specificato

L'get-finding-v2esempio seguente recupera informazioni sul risultato specificato nel tuo AWS account.

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

Output:

{ "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" }

Per ulteriori informazioni, consulta Revisione degli esiti nella Guida per l’utente di AWS IAM.

  • Per i dettagli sull'API, consulta GetFindingV2 in AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareget-finding.

AWS CLI

Come recuperare informazioni sull’esito specificato

L'get-findingesempio seguente recupera informazioni sul risultato specificato nel tuo AWS account.

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

Output:

{ "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" } }

Per ulteriori informazioni, consulta Revisione degli esiti nella Guida per l’utente di AWS IAM.

  • Per i dettagli sull'API, consulta AWS CLI Command GetFindingReference.

Il seguente esempio di codice mostra come utilizzareget-generated-policy.

AWS CLI

Per recuperare la policy generata utilizzando l'API `StartPolicyGeneration`

L'get-generated-policyesempio seguente recupera la policy generata utilizzando l' StartPolicyGeneration API del tuo AWS account.

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

Output:

{ "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" } }

Per ulteriori informazioni, consulta Generazione delle policy per IAM Access Analyzer nella Guida per l’utente di AWS IAM.

Il seguente esempio di codice mostra come utilizzarelist-access-preview-findings.

AWS CLI

Come recuperare un elenco degli esiti dell’anteprima di accesso generati dall’anteprima di accesso specificata

L'list-access-preview-findingsesempio seguente recupera un elenco di risultati dell'anteprima di accesso generati dall'anteprima di accesso specificata nell' AWS account.

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

Output:

{ "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" } ] } ] }

Per ulteriori informazioni, consulta Anteprima dell'accesso con IAM Access Analyzer APIs nella AWS IAM User Guide.

Il seguente esempio di codice mostra come utilizzarelist-access-previews.

AWS CLI

Come recuperare un elenco di anteprime di accesso per l’analizzatore specificato

L'list-access-previewsesempio seguente recupera un elenco di anteprime di accesso per l'analizzatore specificato nell'account. AWS

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

Output:

{ "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" } ] }

Per ulteriori informazioni, consulta Anteprima dell'accesso con IAM Access Analyzer APIs nella IAM User Guide.AWS

Il seguente esempio di codice mostra come utilizzarelist-analyzed-resources.

AWS CLI

Come elencare i widget disponibili

L'list-analyzed-resourcesesempio seguente elenca i widget disponibili nel tuo AWS account.

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

Output:

{ "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" } ] }

Per ulteriori informazioni, consulta Using AWS Identity and Access Management Access Analyzer nella AWS IAM User Guide.

Il seguente esempio di codice mostra come utilizzarelist-analyzers.

AWS CLI

Come recuperare un elenco di analizzatori

L'list-analyzersesempio seguente recupera un elenco di analizzatori presenti nell'account. AWS

aws accessanalyzer list-analyzers

Output:

{ "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" } ] }

Per ulteriori informazioni, consulta Using AWS Identity and Access Management Access Analyzer nella AWS IAM User Guide.

Il seguente esempio di codice mostra come utilizzarelist-archive-rules.

AWS CLI

Come recuperare un elenco di regole di archiviazione create per l’analizzatore specificato

L'list-archive-rulesesempio seguente recupera un elenco di regole di archiviazione create per l'analizzatore specificato nell'account AWS .

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

Output:

{ "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" } ] }

Per ulteriori informazioni, consulta Using AWS Identity and Access Management Access Analyzer nella AWS IAM User Guide.

Il seguente esempio di codice mostra come utilizzarelist-findings-v2.

AWS CLI

Come recuperare un elenco degli esiti generati dall’analizzatore specificato

L'list-findings-v2esempio seguente recupera un elenco di risultati generati dall'analizzatore specificato nel tuo AWS account. Questo esempio filtra i risultati per includere solo i ruoli IAM il cui nome contiene 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"]}}'

Output:

{ "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" } ] }

Per ulteriori informazioni, consulta Using AWS Identity and Access Management Access Analyzer nella AWS IAM User Guide.

  • Per i dettagli sull'API, consulta ListFindingsV2 in AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarelist-findings.

AWS CLI

Come recuperare un elenco degli esiti generati dall’analizzatore specificato

L'list-findingsesempio seguente recupera un elenco di risultati generati dall'analizzatore specificato nel tuo AWS account. Questo esempio filtra i risultati per includere solo i ruoli IAM il cui nome contiene 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"]}}'

Output:

{ "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" } ] }

Per ulteriori informazioni, consulta Using AWS Identity and Access Management Access Analyzer nella AWS IAM User Guide.

Il seguente esempio di codice mostra come utilizzarelist-policy-generations.

AWS CLI

Come elencare tutte le generazioni di policy richieste negli ultimi sette giorni

L'list-policy-generationsesempio seguente elenca tutte le generazioni di policy richieste nel tuo AWS account negli ultimi sette giorni.

aws accessanalyzer list-policy-generations

Output:

{ "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" } ] }

Per ulteriori informazioni, consulta Generazione delle policy per IAM Access Analyzer nella Guida per l’utente di AWS IAM.

Il seguente esempio di codice mostra come utilizzarelist-tags-for-resource.

AWS CLI

Come recuperare un elenco di tag applicati alla risorsa specificata

L'list-tags-for-resourceesempio seguente recupera un elenco di tag applicati alla risorsa specificata nell' AWS account.

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

Output:

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

Per ulteriori informazioni, consulta Generazione delle policy per IAM Access Analyzer nella Guida per l’utente di AWS IAM.

Il seguente esempio di codice mostra come utilizzarestart-policy-generation.

AWS CLI

Come avviare una richiesta di generazione di policy

L'start-policy-generationesempio seguente avvia una richiesta di generazione di policy nel tuo AWS account.

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

Contenuto di 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" } ] }

Output:

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

Per ulteriori informazioni, consulta Generazione delle policy per IAM Access Analyzer nella Guida per l’utente di AWS IAM.

Il seguente esempio di codice mostra come utilizzarestart-resource-scan.

AWS CLI

Come avviare immediatamente una scansione delle policy applicate alla risorsa specificata

L'start-resource-scanesempio seguente avvia immediatamente una scansione delle politiche applicate alla risorsa specificata nell'account AWS .

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Generazione delle policy per IAM Access Analyzer nella Guida per l’utente di AWS IAM.

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Come aggiungere un tag alla risorsa specificata

L'tag-resourceesempio seguente aggiunge un tag alla risorsa specificata nell' AWS account.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Using AWS Identity and Access Management Access Analyzer nella AWS IAM User Guide.

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Come rimuovere i tag dalle risorse specificate

L'untag-resourceesempio seguente rimuove i tag dalla risorsa specificata nell' AWS account.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Using AWS Identity and Access Management Access Analyzer nella AWS IAM User Guide.

Il seguente esempio di codice mostra come utilizzareupdate-archive-rule.

AWS CLI

Come aggiornare i criteri e i valori per la regola di archiviazione specificata

L'update-archive-ruleesempio seguente aggiorna i criteri e i valori per la regola di archiviazione specificata nell' AWS account.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Regole di archiviazione nella Guida per l’utente di AWS IAM.

Il seguente esempio di codice mostra come utilizzareupdate-findings.

AWS CLI

Come aggiornare lo stato degli esiti specificati

L'update-findingsesempio seguente aggiorna lo stato dei risultati specificati nel tuo AWS account.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Using AWS Identity and Access Management Access Analyzer nella AWS IAM User Guide.

Il seguente esempio di codice mostra come utilizzarevalidate-policy.

AWS CLI

Come richiedere la convalida di una policy e restituire un elenco di esiti

L’esempio validate-policy seguente richiede la convalida di una policy e restituisce un elenco di esiti. La policy utilizzata nell’esempio è una policy di attendibilità dei ruoli per un ruolo di Amazon Cognito utilizzato per la federazione delle identità web. Gli esiti generati dalla policy di trust si riferiscono a un valore dell’elemento Sid vuoto e a un principale della policy non corrispondente a causa dell’uso errato dell’operazione di assunzione del ruolo, sts:AssumeRole. L’operazione di assunzione del ruolo corretta da utilizzare con Cognito è sts:AssumeRoleWithWebIdentity.

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

Contenuto di 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" } } } ] }

Output:

{ "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 } } } ] } ] }

Per ulteriori informazioni, consulta Verifiche per la validazione delle policy nella Guida per l’utente di AWS IAM.