Esempi di IAM Access Analyzer con l’utilizzo della AWS CLI - AWS Command Line Interface

Questa documentazione è valida solo per la Versione 1 della AWS CLI. Per la documentazione relativa alla versione 2 della AWS CLI, consulta la Guida per l’utente per la Versione 2.

Esempi di IAM Access Analyzer con l’utilizzo della AWS CLI

Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando la AWS Command Line Interface con lo strumento di analisi degli accessi AWS IAM.

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

Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Operazioni

L’esempio di codice seguente mostra come utilizzare apply-archive-rule.

AWS CLI

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

Nell’esempio seguente, apply-archive-rule 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.

  • Per informazioni dettagliate sull’API, consulta ApplyArchiveRule in AWS CLICommand Reference.

L’esempio di codice seguente mostra come utilizzare cancel-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.

L’esempio di codice seguente mostra come utilizzare check-access-not-granted.

AWS CLI

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

Nell’esempio seguente, check-access-not-granted 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 le API di IAM Access Analyzer nella Guida per l’utente di AWS IAM.

L’esempio di codice seguente mostra come utilizzare check-no-new-access.

AWS CLI

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

Nell’esempio seguente, check-no-new-access 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 le API di IAM Access Analyzer nella Guida per l’utente di AWS IAM.

  • Per informazioni dettagliate sull’API, consulta CheckNoNewAccess in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare check-no-public-access.

AWS CLI

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

Nell’esempio seguente, check-no-public-access verifica se una policy delle risorse può concedere l’accesso pubblico al 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 le API di IAM Access Analyzer nella Guida per l’utente di AWS IAM.

  • Per informazioni dettagliate sull’API, consulta CheckNoPublicAccess in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-access-preview.

AWS CLI

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

Nell’esempio seguente, create-access-preview crea un’anteprima di accesso che consente di visualizzare in anteprima gli esiti dello strumento di analisi degli accessi AWS IAM relativi alla 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 le API di IAM Access Analyzer nella Guida per l’utente di AWS IAM.

  • Per informazioni dettagliate sull’API, consulta CreateAccessPreview in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-analyzer.

AWS CLI

Come creare un analizzatore

Nell’esempio seguente, create-analyzer crea un analizzatore nel tuo account AWS.

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 Informazioni di base sugli esiti di AWS Identity and Access Management Access Analyzer nella Guida per l’utente di AWS IAM.

  • Per informazioni dettagliate sull’API, consulta CreateAnalyzer in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-archive-rule.

AWS CLI

Come creare una regola di archiviazione per l’analizzatore specificato

L’esempio create-archive-rule seguente crea una regola di archiviazione per l’analizzatore specificato nel tuo account AWS.

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.

  • Per informazioni dettagliate sull’API, consulta CreateArchiveRule in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-analyzer.

AWS CLI

Come eliminare l’analizzatore specificato

Nell’esempio seguente, delete-analyzer elimina l’analizzatore specificato nel tuo 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 informazioni dettagliate sull’API, consulta DeleteAnalyzer in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-archive-rule.

AWS CLI

Come eliminare la regola di archiviazione specificata

Nell’esempio seguente, delete-archive-rule elimina la regola di archiviazione specificata nel tuo account AWS.

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.

  • Per informazioni dettagliate sull’API, consulta DeleteArchiveRule in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-access-preview.

AWS CLI

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

L’esempio get-access-preview seguente recupera le informazioni su un’anteprima di accesso per l’analizzatore specificato nel tuo 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 le API di IAM Access Analyzer nella Guida per l’utente di AWS IAM.

  • Per informazioni dettagliate sull’API, consulta GetAccessPreview in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-analyzed-resource.

AWS CLI

Come recuperare informazioni su una risorsa analizzata

L’esempio get-analyzed-resource seguente recupera informazioni su una risorsa che è stata analizzata nel tuo account AWS.

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 Utilizzo di AWS Identity and Access Management Access Analyzer nella Guida per l’utente di AWS IAM.

  • Per informazioni dettagliate sull’API, consulta GetAnalyzedResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-analyzer.

AWS CLI

Come recuperare informazioni sull’analizzatore specificato

Nell’esempio seguente, get-analyzer restituisce le informazioni sull’analizzatore specificato nel tuo 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 Utilizzo di AWS Identity and Access Management Access Analyzer nella Guida per l’utente di AWS IAM.

  • Per informazioni dettagliate sull’API, consulta GetAnalyzer in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-archive-rule.

AWS CLI

Come recuperare informazioni su una regola di archiviazione

L’esempio get-archive-rule seguente recupera informazioni su una regola di archiviazione nel tuo account AWS.

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.

  • Per informazioni dettagliate sull’API, consulta GetArchiveRule in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-finding-v2.

AWS CLI

Come recuperare informazioni sull’esito specificato

Nell’esempio seguente, get-finding-v2 recupera le informazioni sull’esito specificato nel tuo account AWS.

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 informazioni dettagliate sull’API, consulta GetFindingV2 in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-finding.

AWS CLI

Come recuperare informazioni sull’esito specificato

Nell’esempio seguente, get-finding recupera le informazioni sull’esito specificato nel tuo account AWS.

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 informazioni dettagliate sull’API, consulta GetFinding in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-generated-policy.

AWS CLI

Come recuperare la policy generata utilizzando l’API “StartPolicyGeneration

L’esempio get-generated-policy seguente recupera la policy generata utilizzando l’API StartPolicyGeneration nel tuo account AWS.

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.

  • Per informazioni dettagliate sull’API, consulta GetGeneratedPolicy in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-access-preview-findings.

AWS CLI

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

Nell’esempio seguente, list-access-preview-findings recupera un elenco degli esiti dell’anteprima di accesso generati dall’anteprima di accesso specificata nel tuo account AWS.

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 le API di IAM Access Analyzer nella Guida per l’utente di AWS IAM.

L’esempio di codice seguente mostra come utilizzare list-access-previews.

AWS CLI

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

L’esempio list-access-previews seguente recupera un elenco di anteprime di accesso per l’analizzatore specificato nel tuo 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 le API di IAM Access Analyzer nella Guida per l’utente di AWS IAM.

  • Per informazioni dettagliate sull’API, consulta ListAccessPreviews in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-analyzed-resources.

AWS CLI

Come elencare i widget disponibili

L’esempio list-analyzed-resources seguente elenca i widget disponibili nel tuo account AWS.

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 Utilizzo di AWS Identity and Access Management Access Analyzer nella Guida per l’utente di AWS IAM.

L’esempio di codice seguente mostra come utilizzare list-analyzers.

AWS CLI

Come recuperare un elenco di analizzatori

Nell’esempio seguente, list-analyzers recupera un elenco di tutti gli analizzatori nel tuo 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 Utilizzo di AWS Identity and Access Management Access Analyzer nella Guida per l’utente di AWS IAM.

  • Per informazioni dettagliate sull’API, consulta ListAnalyzers in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-archive-rules.

AWS CLI

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

L’esempio list-archive-rules seguente recupera un elenco di regole di archiviazione create per l’analizzatore specificato nel tuo 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 Utilizzo di AWS Identity and Access Management Access Analyzer nella Guida per l’utente di AWS IAM.

  • Per informazioni dettagliate sull’API, consulta ListArchiveRules in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-findings-v2.

AWS CLI

Come recuperare un elenco degli esiti generati dall’analizzatore specificato

L’esempio list-findings-v2 seguente recupera un elenco di esiti generati dall’analizzatore specificato nel tuo account AWS. 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 Utilizzo di AWS Identity and Access Management Access Analyzer nella Guida per l’utente di AWS IAM.

  • Per informazioni dettagliate sull’API, consulta ListFindingsV2 in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-findings.

AWS CLI

Come recuperare un elenco degli esiti generati dall’analizzatore specificato

L’esempio list-findings seguente recupera un elenco di esiti generati dall’analizzatore specificato nel tuo account AWS. 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 Utilizzo di AWS Identity and Access Management Access Analyzer nella Guida per l’utente di AWS IAM.

  • Per informazioni dettagliate sull’API, consulta ListFindings in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-policy-generations.

AWS CLI

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

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

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.

L’esempio di codice seguente mostra come utilizzare list-tags-for-resource.

AWS CLI

Come recuperare un elenco di tag applicati alla risorsa specificata

Nell’esempio seguente, list-tags-for-resource recupera un elenco di tag associati alla risorsa specificata nel tuo account AWS.

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.

  • Per informazioni dettagliate sull’API, consulta ListTagsForResource nella Documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare start-policy-generation.

AWS CLI

Come avviare una richiesta di generazione di policy

L’esempio start-policy-generation seguente avvia una richiesta di generazione di policy nel tuo account AWS.

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.

L’esempio di codice seguente mostra come utilizzare start-resource-scan.

AWS CLI

Come avviare immediatamente una scansione delle policy applicate alla risorsa specificata

L’esempio start-resource-scan seguente avvia immediatamente una scansione delle policy applicate alla risorsa specificata nel tuo 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.

  • Per informazioni dettagliate sull’API, consulta StartResourceScan in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare tag-resource.

AWS CLI

Come aggiungere un tag alla risorsa specificata

Nell’esempio seguente, tag-resource aggiunge un tag alla risorsa specificata nel tuo account AWS.

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 Utilizzo di AWS Identity and Access Management Access Analyzer nella Guida per l’utente di AWS IAM.

  • Per informazioni dettagliate sull’API, consulta TagResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare untag-resource.

AWS CLI

Come rimuovere i tag dalle risorse specificate

Nell’esempio seguente, untag-resource rimuove i tag dalla risorsa specificata nel tuo account AWS.

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 Utilizzo di AWS Identity and Access Management Access Analyzer nella Guida per l’utente di AWS IAM.

  • Per informazioni dettagliate sull’API, consulta UntagResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-archive-rule.

AWS CLI

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

L’esempio update-archive-rule seguente aggiorna i criteri e i valori per la regola di archiviazione specificata nel tuo account AWS.

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.

  • Per informazioni dettagliate sull’API, consulta UpdateArchiveRule in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-findings.

AWS CLI

Come aggiornare lo stato degli esiti specificati

L’esempio update-findings seguente aggiorna lo stato degli esiti specificati nel tuo account AWS.

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 Utilizzo di AWS Identity and Access Management Access Analyzer nella Guida per l’utente di AWS IAM.

  • Per informazioni dettagliate sull’API, consulta UpdateFindings in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare validate-policy.

AWS CLI

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

Nell’esempio seguente, validate-policy 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.

  • Per informazioni dettagliate sull’API, consulta ValidatePolicy in AWS CLI Command Reference.