IAMEsempi di Access Analyzer utilizzando AWS CLI - AWS Command Line Interface

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à.

IAMEsempi di Access Analyzer utilizzando AWS CLI

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

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni illustrino come richiamare le singole funzioni di servizio, è possibile visualizzare le azioni nel contesto degli scenari correlati.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

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

AWS CLI

Per applicare una regola di archiviazione ai risultati esistenti che soddisfano i criteri della regola di archiviazione

L'apply-archive-ruleesempio seguente applica una regola di archiviazione ai risultati esistenti che soddisfano i criteri della regola di archiviazione.

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 le regole di archiviazione nella Guida AWS IAM per l'utente.

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

AWS CLI

Per annullare la generazione della politica richiesta

L'cancel-policy-generationesempio seguente annulla l'ID del lavoro richiesto per la generazione delle politiche.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, vedere Generazione di policy di IAM Access Analyzer nella Guida per l'AWS IAMutente.

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

AWS CLI

Per verificare se l'accesso specificato non è consentito da una politica

L'check-access-not-grantedesempio seguente verifica se l'accesso specificato non è consentito da una politica.

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

Output:

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

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

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

AWS CLI

Per verificare se è consentito un nuovo accesso per una politica aggiornata rispetto alla politica esistente

L'check-no-new-accessesempio seguente verifica se è consentito un nuovo accesso per una politica aggiornata rispetto alla politica 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:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] } ] }

Contenuto di new-policy.json.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] } ] }

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, vedere Anteprima dell'accesso con IAM Access Analyzer APIs nella Guida per l'AWS IAMutente.

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

AWS CLI

Per creare un'anteprima di accesso che consenta di visualizzare in anteprima i risultati di IAM Access Analyzer relativi alla risorsa prima di distribuire le autorizzazioni delle risorse

L'create-access-previewesempio seguente crea un'anteprima di accesso che consente di visualizzare in anteprima i risultati di IAM Access Analyzer relativi alla risorsa prima di distribuire le autorizzazioni delle risorse nell'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:::DOC-EXAMPLE-BUCKET": { "s3Bucket": { "bucketPolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::111122223333:root\"]},\"Action\":[\"s3:PutObject\",\"s3:PutObjectAcl\"],\"Resource\":\"arn:aws:s3:::DOC-EXAMPLE-BUCKET/*\"}]}", "bucketPublicAccessBlock": { "ignorePublicAcls": true, "restrictPublicBuckets": true }, "bucketAclGrants": [ { "grantee": { "id": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be" }, "permission": "READ" } ] } } }

Output:

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

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

Il seguente esempio di codice mostra come utilizzarecreate-analyzer.

AWS CLI

Per 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 la Guida introduttiva ai risultati di AWS Identity and Access Management Access Analyzer nella Guida per l'AWS IAMutente.

  • Per API i dettagli, vedere CreateAnalyzerin AWS CLI Command Reference.

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

AWS CLI

Per creare una regola di archiviazione per l'analizzatore specificato

L'create-archive-ruleesempio seguente crea una regola di archiviazione per l'analizzatore specificato nel tuo 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 le regole di archiviazione nella Guida per l'AWS IAMutente.

Il seguente esempio di codice mostra come utilizzaredelete-analyzer.

AWS CLI

Per 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 le regole di archiviazione nella Guida per l'AWS IAMutente.

  • Per API i dettagli, vedere DeleteAnalyzerin AWS CLI Command Reference.

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

AWS CLI

Per 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 le regole di archiviazione nella Guida per l'AWS IAMutente.

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

AWS CLI

Per recuperare informazioni su un'anteprima di accesso per l'analizzatore specificato

L'get-access-previewesempio 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:::DOC-EXAMPLE-BUCKET": { "s3Bucket": { "bucketPolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::111122223333:root\"]},\"Action\":[\"s3:PutObject\",\"s3:PutObjectAcl\"],\"Resource\":\"arn:aws:s3:::DOC-EXAMPLE-BUCKET/*\"}]}", "bucketAclGrants": [ { "permission": "READ", "grantee": { "id": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be" } } ], "bucketPublicAccessBlock": { "ignorePublicAcls": true, "restrictPublicBuckets": true } } } }, "createdAt": "2024-02-17T00:18:44+00:00", "status": "COMPLETED" } }

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

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

AWS CLI

Per recuperare informazioni su una risorsa che è stata 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:::DOC-EXAMPLE-BUCKET

Output:

{ "resource": { "analyzedAt": "2024-02-15T18:01:53.002000+00:00", "isPublic": false, "resourceArn": "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::S3::Bucket" } }

Per ulteriori informazioni, vedere Using AWS Identity and Access Management Access Analyzer nella Guida per l'AWS IAMutente.

Il seguente esempio di codice mostra come utilizzareget-analyzer.

AWS CLI

Per recuperare informazioni sull'analizzatore specificato

L'get-analyzeresempio seguente recupera 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, vedere Using AWS Identity and Access Management Access Analyzer nella Guida per l'AWS IAMutente.

  • Per API i dettagli, vedere GetAnalyzerin AWS CLI Command Reference.

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

AWS CLI

Per 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 le regole di archiviazione nella Guida per l'AWS IAMutente.

  • Per API i dettagli, vedere GetArchiveRulein AWS CLI Command Reference.

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

AWS CLI

Per recuperare informazioni sul risultato specificato

L'get-finding-v2esempio seguente recupera informazioni sul risultato 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 la sezione Revisione dei risultati nella Guida per l'AWS IAMutente.

  • Per API i dettagli, vedere GetFindingV2 in AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareget-finding.

AWS CLI

Per recuperare informazioni sul risultato specificato

L'get-findingesempio seguente recupera informazioni sul risultato 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 la sezione Revisione dei risultati nella Guida per l'AWS IAMutente.

  • Per API i dettagli, vedere GetFindingin AWS CLI Command Reference.

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

AWS CLI

Per recuperare la politica che è stata generata utilizzando il comando `` StartPolicyGeneration API

L'get-generated-policyesempio seguente recupera la policy che è stata generata utilizzando il StartPolicyGeneration API nel 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, vedere Generazione di policy di IAM Access Analyzer nella Guida per l'AWS IAMutente.

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

AWS CLI

Per recuperare un elenco dei risultati dell'anteprima di accesso generati dall'anteprima di accesso specificata

L'list-access-preview-findingsesempio seguente recupera un elenco di risultati di anteprima di accesso generati dall'anteprima di accesso specificata nel tuo 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:::DOC-EXAMPLE-BUCKET", "isPublic": false, "resourceType": "AWS::S3::Bucket", "createdAt": "2024-02-17T00:18:46+00:00", "changeType": "NEW", "status": "ACTIVE", "resourceOwnerAccount": "111122223333", "sources": [ { "type": "POLICY" } ] } ] }

Per ulteriori informazioni, vedere Visualizzazione dell'anteprima dell'accesso con IAM Access Analyzer APIs nella Guida per l'AWS IAMutente.

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

AWS CLI

Per 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 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, vedere Visualizzazione dell'anteprima dell'accesso con IAM Access Analyzer APIs nella Guida per l'utente.AWS IAM

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

AWS CLI

Per 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, vedere Using AWS Identity and Access Management Access Analyzer nella Guida per l'AWS IAMutente.

Il seguente esempio di codice mostra come utilizzarelist-analyzers.

AWS CLI

Per recuperare un elenco di analizzatori

L'list-analyzersesempio seguente recupera un elenco di analizzatori presenti 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:::DOC-EXAMPLE-BUCKET", "lastResourceAnalyzedAt": "2024-02-15T21:51:56.517000+00:00", "name": "ConsoleAnalyzer-organization", "status": "ACTIVE", "tags": { "auto-delete": "no" }, "type": "ORGANIZATION" }, { "arn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account", "createdAt": "2019-12-03T07:28:17+00:00", "lastResourceAnalyzed": "arn:aws:sns:us-west-2:111122223333:config-topic", "lastResourceAnalyzedAt": "2024-02-15T18:01:53.003000+00:00", "name": "ConsoleAnalyzer-account", "status": "ACTIVE", "tags": { "auto-delete": "no" }, "type": "ACCOUNT" } ] }

Per ulteriori informazioni, vedere Using AWS Identity and Access Management Access Analyzer nella Guida per l'AWS IAMutente.

  • Per API i dettagli, vedere ListAnalyzersin AWS CLI Command Reference.

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

AWS CLI

Per 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, vedere Using AWS Identity and Access Management Access Analyzer nella Guida per l'AWS IAMutente.

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

AWS CLI

Per recuperare un elenco di risultati generati dall'analizzatore specificato

L'list-findings-v2esempio seguente recupera un elenco di risultati generati dall'analizzatore specificato nel tuo account. AWS Questo esempio filtra i risultati per includere solo i IAM ruoli 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, vedere Using AWS Identity and Access Management Access Analyzer nella Guida per l'AWS IAMutente.

  • Per API i dettagli, vedere ListFindingsV2 in AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarelist-findings.

AWS CLI

Per recuperare un elenco di risultati generati dall'analizzatore specificato

L'list-findingsesempio seguente recupera un elenco di risultati generati dall'analizzatore specificato nel tuo account. AWS Questo esempio filtra i risultati per includere solo i IAM ruoli 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, vedere Using AWS Identity and Access Management Access Analyzer nella Guida per l'AWS IAMutente.

  • Per API i dettagli, vedere ListFindingsin AWS CLI Command Reference.

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

AWS CLI

Per 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 la sezione Generazione di policy di IAM Access Analyzer nella Guida per l'AWS IAMutente.

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

AWS CLI

Per recuperare un elenco di tag applicati alla risorsa specificata

L'list-tags-for-resourceesempio seguente recupera un elenco di tag applicati alla risorsa specificata nel tuo 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, vedere Generazione di policy di IAM Access Analyzer nella Guida per l'AWS IAMutente.

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

AWS CLI

Per 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, vedere Generazione di policy di IAM Access Analyzer nella Guida per l'AWS IAMutente.

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

AWS CLI

Per avviare immediatamente una scansione delle politiche applicate alla risorsa specificata

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

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, vedere Generazione di policy di IAM Access Analyzer nella Guida per l'AWS IAMutente.

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Per 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, vedere Using AWS Identity and Access Management Access Analyzer nella Guida per l'AWS IAMutente.

  • Per API i dettagli, vedere TagResourcein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Per rimuovere i tag dalle risorse specificate

L'untag-resourceesempio seguente rimuove i tag dalla risorsa specificata nel tuo 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, vedere Using AWS Identity and Access Management Access Analyzer nella Guida per l'AWS IAMutente.

  • Per API i dettagli, vedere UntagResourcein AWS CLI Command Reference.

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

AWS CLI

Per 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 nel tuo 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 le regole di archiviazione nella Guida AWS IAM per l'utente.

Il seguente esempio di codice mostra come utilizzareupdate-findings.

AWS CLI

Per aggiornare lo stato dei risultati 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, vedere Using AWS Identity and Access Management Access Analyzer nella Guida per l'AWS IAMutente.

  • Per API i dettagli, vedere UpdateFindingsin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarevalidate-policy.

AWS CLI

Per richiedere la convalida di una politica e restituire un elenco di risultati

L'validate-policyesempio seguente richiede la convalida di una politica e restituisce un elenco di risultati. La policy dell'esempio è una policy di trust dei ruoli per un ruolo di Amazon Cognito utilizzato per la federazione delle identità web. I risultati generati dalla politica di fiducia si riferiscono a un valore di Sid elemento vuoto e a un principio di policy non corrispondente a causa dell'uso errato dell'azione di assunzione del ruolo,. sts:AssumeRole L'azione 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 Controlli per la convalida delle politiche nella Guida per l'AWS IAMutente.

  • Per API i dettagli, vedere ValidatePolicyin AWS CLI Command Reference.