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-ruleapplica una regola di archiviazione agli esiti che soddisfano i criteri della regola.aws accessanalyzer apply-archive-rule \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/UnusedAccess-ConsoleAnalyzer-organization\ --rule-nameMyArchiveRuleQuesto 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-generationseguente annulla l’id del processo di generazione della policy richiesto.aws accessanalyzer cancel-policy-generation \ --job-id923a56b0-ebb8-4e80-8a3c-a11ccfbcd6f2Questo 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 CancelPolicyGeneration
in AWS CLI Command Reference.
-
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-grantedverifica se l’accesso specificato non è consentito da una policy.aws accessanalyzer check-access-not-granted \ --policy-documentfile://myfile.json\ --access actions="s3:DeleteBucket","s3:GetBucketLocation" \ --policy-typeIDENTITY_POLICYContenuto 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.
-
Per informazioni dettagliate sull’API, consulta CheckAccessNotGranted
in AWS CLI Command Reference.
-
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-accessverifica se è consentito un nuovo accesso per una policy aggiornata rispetto alla policy esistente.aws accessanalyzer check-no-new-access \ --existing-policy-documentfile://existing-policy.json\ --new-policy-documentfile://new-policy.json\ --policy-typeIDENTITY_POLICYContenuto 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-accessverifica se una policy delle risorse può concedere l’accesso pubblico al tipo di risorsa specificato.aws accessanalyzer check-no-public-access \ --policy-documentfile://check-no-public-access-myfile.json\ --resource-typeAWS::S3::BucketContenuto 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-previewcrea 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-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account\ --configurationsfile://myfile.jsonContenuto 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-analyzercrea un analizzatore nel tuo account AWS.aws accessanalyzer create-analyzer \ --analyzer-nameexample\ --typeACCOUNTOutput:
{ "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-ruleseguente crea una regola di archiviazione per l’analizzatore specificato nel tuo account AWS.aws accessanalyzer create-archive-rule \ --analyzer-nameUnusedAccess-ConsoleAnalyzer-organization\ --rule-nameMyRule\ --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-analyzerelimina l’analizzatore specificato nel tuo account AWS.aws accessanalyzer delete-analyzer \ --analyzer-nameexampleQuesto 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-ruleelimina la regola di archiviazione specificata nel tuo account AWS.aws accessanalyzer delete-archive-rule \ --analyzer-nameUnusedAccess-ConsoleAnalyzer-organization\ --rule-nameMyRuleQuesto 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-previewseguente recupera le informazioni su un’anteprima di accesso per l’analizzatore specificato nel tuo account AWS.aws accessanalyzer get-access-preview \ --access-preview-id3c65eb13-6ef9-4629-8919-a32043619e6b\ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-accountOutput:
{ "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-resourceseguente recupera informazioni su una risorsa che è stata analizzata nel tuo account AWS.aws accessanalyzer get-analyzed-resource \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account\ --resource-arnarn:aws:s3:::amzn-s3-demo-bucketOutput:
{ "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-analyzerrestituisce le informazioni sull’analizzatore specificato nel tuo account AWS.aws accessanalyzer get-analyzer \ --analyzer-nameConsoleAnalyzer-accountOutput:
{ "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-ruleseguente recupera informazioni su una regola di archiviazione nel tuo account AWS.aws accessanalyzer get-archive-rule \ --analyzer-nameUnusedAccess-ConsoleAnalyzer-organization\ --rule-nameMyArchiveRuleOutput:
{ "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-v2recupera le informazioni sull’esito specificato nel tuo account AWS.aws accessanalyzer get-finding-v2 \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-organization\ --id0910eedb-381e-4e95-adda-0d25c19e6e90Output:
{ "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-findingrecupera le informazioni sull’esito specificato nel tuo account AWS.aws accessanalyzer get-finding \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-organization\ --id0910eedb-381e-4e95-adda-0d25c19e6e90Output:
{ "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-policyseguente recupera la policy generata utilizzando l’API StartPolicyGeneration nel tuo account AWS.aws accessanalyzer get-generated-policy \ --job-idc557dc4a-0338-4489-95dd-739014860ff9Output:
{ "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-findingsrecupera 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-id3c65eb13-6ef9-4629-8919-a32043619e6b\ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-accountOutput:
{ "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.
-
Per informazioni dettagliate sull’API, consulta ListAccessPreviewFindings
in AWS CLI Command Reference.
-
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-previewsseguente recupera un elenco di anteprime di accesso per l’analizzatore specificato nel tuo account AWS.aws accessanalyzer list-access-previews \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-accountOutput:
{ "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-resourcesseguente elenca i widget disponibili nel tuo account AWS.aws accessanalyzer list-analyzed-resources \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account\ --resource-typeAWS::IAM::RoleOutput:
{ "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.
-
Per informazioni dettagliate sull’API, consulta ListAnalyzedResources
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-analyzers.
- AWS CLI
-
Come recuperare un elenco di analizzatori
Nell’esempio seguente,
list-analyzersrecupera un elenco di tutti gli analizzatori nel tuo account AWS.aws accessanalyzer list-analyzersOutput:
{ "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-rulesseguente recupera un elenco di regole di archiviazione create per l’analizzatore specificato nel tuo account AWS.aws accessanalyzer list-archive-rules \ --analyzer-nameUnusedAccess-ConsoleAnalyzer-organizationOutput:
{ "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-v2seguente 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 contieneCognito.aws accessanalyzer list-findings-v2 \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account\ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}'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-findingsseguente 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 contieneCognito.aws accessanalyzer list-findings \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account\ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}'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-generationsseguente elenca tutte le generazioni di policy richieste negli ultimi sette giorni nel tuo account AWS.aws accessanalyzer list-policy-generationsOutput:
{ "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.
-
Per informazioni dettagliate sull’API, consulta ListPolicyGenerations
in AWS CLI Command Reference.
-
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-resourcerecupera un elenco di tag associati alla risorsa specificata nel tuo account AWS.aws accessanalyzer list-tags-for-resource \ --resource-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-accountOutput:
{ "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-generationseguente 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-detailsfile://myfile.jsonContenuto 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.
-
Per informazioni dettagliate sull’API, consulta StartPolicyGeneration
in AWS CLI Command Reference.
-
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-scanseguente avvia immediatamente una scansione delle policy applicate alla risorsa specificata nel tuo account AWS.aws accessanalyzer start-resource-scan \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account\ --resource-arnarn:aws:iam::111122223333:role/Cognito_testpoolAuth_RoleQuesto 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-resourceaggiunge un tag alla risorsa specificata nel tuo account AWS.aws accessanalyzer tag-resource \ --resource-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account\ --tagsEnvironment=dev,Purpose=testingQuesto 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-resourcerimuove i tag dalla risorsa specificata nel tuo account AWS.aws accessanalyzer untag-resource \ --resource-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account\ --tag-keysEnvironmentPurposeQuesto 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-ruleseguente aggiorna i criteri e i valori per la regola di archiviazione specificata nel tuo account AWS.aws accessanalyzer update-archive-rule \ --analyzer-nameUnusedAccess-ConsoleAnalyzer-organization\ --rule-nameMyArchiveRule\ --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-findingsseguente aggiorna lo stato degli esiti specificati nel tuo account AWS.aws accessanalyzer update-findings \ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/UnusedAccess-ConsoleAnalyzer-organization\ --ids4f319ac3-2e0c-4dc4-bf51-7013a086b6ae780d586a-2cce-4f72-aff6-359d450e7500\ --statusARCHIVEDQuesto 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-policyrichiede 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’elementoSidvuoto 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-documentfile://myfile.json\ --policy-typeRESOURCE_POLICYContenuto 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.
-