Exemplos do IAM Access Analyzer usando AWS CLI - AWS Exemplos de código do SDK

Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples GitHub .

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplos do IAM Access Analyzer usando AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com o IAM Access Analyzer.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

Tópicos

Ações

O código de exemplo a seguir mostra como usar apply-archive-rule.

AWS CLI

Como aplicar uma regra de arquivamento para descobertas existentes que atendam aos critérios da regra de arquivamento

O exemplo apply-archive-rule a seguir aplica uma regra de arquivamento às descobertas existentes que atendam aos critérios da regra de arquivamento.

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

Este comando não produz saída.

Para obter mais informações, consulte Regras de arquivamento no Guia do usuário do AWS IAM.

  • Para obter detalhes da API, consulte ApplyArchiveRuleem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar cancel-policy-generation.

AWS CLI

Como cancelar uma solicitação de geração de política

O exemplo cancel-policy-generation a seguir cancela o ID do trabalho de geração de política solicitada.

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

Este comando não produz saída.

Para obter mais informações, consulte Geração de política do IAM Access Analyzer no Guia do usuário do AWS IAM.

O código de exemplo a seguir mostra como usar check-access-not-granted.

AWS CLI

Como verificar se o acesso especificado não é permitido por uma política

O exemplo check-access-not-granted a seguir verifica se o acesso especificado não é permitido por uma política.

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

Conteúdo de myfile.json:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }

Saída:

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

Para obter mais informações, consulte Pré-visualização do acesso com o IAM Access Analyzer APIs no Guia do usuário do AWS IAM.

O código de exemplo a seguir mostra como usar check-no-new-access.

AWS CLI

Como verificar se um novo acesso é permitido para uma política atualizada em comparação com a política existente

O exemplo check-no-new-access a seguir verifica se um novo acesso é permitido para uma política atualizada em comparação com a política existente.

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

Conteúdo de existing-policy.json:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }

Conteúdo de new-policy.json:

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

Saída:

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

Para obter mais informações, consulte Pré-visualização do acesso com o IAM Access Analyzer APIs no Guia do usuário do AWS IAM.

  • Para obter detalhes da API, consulte CheckNoNewAccessem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar check-no-public-access.

AWS CLI

Como verificar se uma política de recursos pode conceder acesso público ao tipo de recurso especificado

O exemplo check-no-public-access a seguir verifica se uma política de recursos pode conceder acesso público ao tipo de recurso especificado.

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

Conteúdo de myfile.json:

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

Saída:

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

Para obter mais informações, consulte Pré-visualização do acesso com o IAM Access Analyzer APIs no Guia do usuário do AWS IAM.

O código de exemplo a seguir mostra como usar create-access-preview.

AWS CLI

Para criar uma visualização prévia de acesso que permita que você visualize as descobertas do IAM Access Analyzer para seu recurso antes de implantar as permissões do recurso

O create-access-preview exemplo a seguir cria uma visualização prévia de acesso que permite que você visualize as descobertas do IAM Access Analyzer para seu recurso antes de implantar permissões de recursos em sua AWS conta.

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

Conteúdo de myfile.json:

{ "arn:aws:s3:::amzn-s3-demo-bucket": { "s3Bucket": { "bucketPolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::111122223333:root\"]},\"Action\":[\"s3:PutObject\",\"s3:PutObjectAcl\"],\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/*\"}]}", "bucketPublicAccessBlock": { "ignorePublicAcls": true, "restrictPublicBuckets": true }, "bucketAclGrants": [ { "grantee": { "id": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be" }, "permission": "READ" } ] } } }

Saída:

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

Para obter mais informações, consulte Pré-visualização do acesso com o IAM Access Analyzer APIs no Guia do usuário do AWS IAM.

O código de exemplo a seguir mostra como usar create-analyzer.

AWS CLI

Para criar um analisador

O create-analyzer exemplo a seguir cria um analisador na sua AWS conta.

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

Saída:

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

Para obter mais informações, consulte as descobertas do Getting Started with AWS Identity and Access Management Access Analyzer no Guia AWS do usuário do IAM.

  • Para obter detalhes da API, consulte CreateAnalyzerem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar create-archive-rule.

AWS CLI

Para criar uma regra de arquivamento para o analisador especificado

O create-archive-rule exemplo a seguir cria uma regra de arquivamento para o analisador especificado em sua AWS conta.

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

Este comando não produz saída.

Para obter mais informações, consulte Regras de arquivamento no Guia do usuário do AWS IAM.

  • Para obter detalhes da API, consulte CreateArchiveRuleem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar delete-analyzer.

AWS CLI

Para excluir o analisador especificado

O delete-analyzer exemplo a seguir exclui o analisador especificado em sua AWS conta.

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

Este comando não produz saída.

Para obter mais informações, consulte Regras de arquivamento no Guia do usuário do AWS IAM.

  • Para obter detalhes da API, consulte DeleteAnalyzerem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar delete-archive-rule.

AWS CLI

Para excluir a regra de arquivamento especificada

O delete-archive-rule exemplo a seguir exclui a regra de arquivamento especificada em sua AWS conta.

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

Este comando não produz saída.

Para obter mais informações, consulte Regras de arquivamento no Guia do usuário do AWS IAM.

  • Para obter detalhes da API, consulte DeleteArchiveRuleem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-access-preview.

AWS CLI

Para recuperar informações sobre uma pré-visualização de acesso para o analisador especificado

O get-access-preview exemplo a seguir recupera informações sobre uma visualização prévia de acesso para o analisador especificado em sua AWS conta.

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

Saída:

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

Para obter mais informações, consulte Pré-visualização do acesso com o IAM Access Analyzer APIs no Guia do usuário do AWS IAM.

  • Para obter detalhes da API, consulte GetAccessPreviewem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-analyzed-resource.

AWS CLI

Para recuperar informações sobre um recurso que foi analisado

O get-analyzed-resource exemplo a seguir recupera informações sobre um recurso que foi analisado em sua AWS conta.

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

Saída:

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

Para obter mais informações, consulte Como usar o AWS Identity and Access Management Access Analyzer no Guia AWS do usuário do IAM.

O código de exemplo a seguir mostra como usar get-analyzer.

AWS CLI

Para recuperar informações sobre o analisador especificado

O get-analyzer exemplo a seguir recupera informações sobre o analisador especificado em sua AWS conta.

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

Saída:

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

Para obter mais informações, consulte Como usar o AWS Identity and Access Management Access Analyzer no Guia AWS do usuário do IAM.

  • Para obter detalhes da API, consulte GetAnalyzerem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-archive-rule.

AWS CLI

Para recuperar informações sobre uma regra de arquivamento

O get-archive-rule exemplo a seguir recupera informações sobre uma regra de arquivamento em sua AWS conta.

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

Saída:

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

Para obter mais informações, consulte Regras de arquivamento no Guia do usuário do AWS IAM.

  • Para obter detalhes da API, consulte GetArchiveRuleem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-finding-v2.

AWS CLI

Para recuperar informações sobre a descoberta especificada

O get-finding-v2 exemplo a seguir recupera informações sobre a descoberta especificada em sua AWS conta.

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

Saída:

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

Para obter mais informações, consulte Revisar descobertas no Guia do usuário do AWS IAM.

  • Para obter detalhes da API, consulte GetFindingV2 na Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-finding.

AWS CLI

Para recuperar informações sobre a descoberta especificada

O get-finding exemplo a seguir recupera informações sobre a descoberta especificada em sua AWS conta.

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

Saída:

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

Para obter mais informações, consulte Revisar descobertas no Guia do usuário do AWS IAM.

  • Para obter detalhes da API, consulte GetFindingem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-generated-policy.

AWS CLI

Para recuperar a política que foi gerada usando a API `StartPolicyGeneration`

O get-generated-policy exemplo a seguir recupera a política que foi gerada usando a StartPolicyGeneration API em sua AWS conta.

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

Saída:

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

Para obter mais informações, consulte Geração de política do IAM Access Analyzer no Guia do usuário do AWS IAM.

  • Para obter detalhes da API, consulte GetGeneratedPolicyem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-access-preview-findings.

AWS CLI

Para recuperar uma lista de descobertas de pré-visualização de acesso geradas pela pré-visualização de acesso especificada

O list-access-preview-findings exemplo a seguir recupera uma lista de descobertas de visualização de acesso geradas pela visualização prévia de acesso especificada em sua AWS conta.

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

Saída:

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

Para obter mais informações, consulte Pré-visualização do acesso com o IAM Access Analyzer APIs no Guia do usuário do AWS IAM.

O código de exemplo a seguir mostra como usar list-access-previews.

AWS CLI

Para recuperar uma lista de pré-visualizações de acesso para o analisador especificado

O list-access-previews exemplo a seguir recupera uma lista de visualizações de acesso para o analisador especificado em sua conta. AWS

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

Saída:

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

Para obter mais informações, consulte Pré-visualização do acesso com o IAM Access Analyzer APIs no Guia do usuário do AWS IAM.

  • Para obter detalhes da API, consulte ListAccessPreviewsem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-analyzed-resources.

AWS CLI

Para listar os widgets disponíveis

O list-analyzed-resources exemplo a seguir lista os widgets disponíveis na sua AWS conta.

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

Saída:

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

Para obter mais informações, consulte Como usar o AWS Identity and Access Management Access Analyzer no Guia AWS do usuário do IAM.

O código de exemplo a seguir mostra como usar list-analyzers.

AWS CLI

Para recuperar uma lista de analisadores

O list-analyzers exemplo a seguir recupera uma lista de analisadores em sua conta. AWS

aws accessanalyzer list-analyzers

Saída:

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

Para obter mais informações, consulte Como usar o AWS Identity and Access Management Access Analyzer no Guia AWS do usuário do IAM.

  • Para obter detalhes da API, consulte ListAnalyzersem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-archive-rules.

AWS CLI

Para recuperar uma lista de regras de arquivamento criadas para o analisador especificado

O list-archive-rules exemplo a seguir recupera uma lista de regras de arquivamento criadas para o analisador especificado em sua AWS conta.

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

Saída:

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

Para obter mais informações, consulte Como usar o AWS Identity and Access Management Access Analyzer no Guia AWS do usuário do IAM.

  • Para obter detalhes da API, consulte ListArchiveRulesem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-findings-v2.

AWS CLI

Para recuperar uma lista de descobertas geradas pelo analisador especificado

O list-findings-v2 exemplo a seguir recupera uma lista de descobertas geradas pelo analisador especificado em sua AWS conta. Este exemplo filtra os resultados para incluir somente perfis do IAM cujo nome contenha 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"]}}'

Saída:

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

Para obter mais informações, consulte Como usar o AWS Identity and Access Management Access Analyzer no Guia AWS do usuário do IAM.

  • Para obter detalhes da API, consulte ListFindingsV2 na Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-findings.

AWS CLI

Para recuperar uma lista de descobertas geradas pelo analisador especificado

O list-findings exemplo a seguir recupera uma lista de descobertas geradas pelo analisador especificado em sua AWS conta. Este exemplo filtra os resultados para incluir somente perfis do IAM cujo nome contenha 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"]}}'

Saída:

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

Para obter mais informações, consulte Como usar o AWS Identity and Access Management Access Analyzer no Guia AWS do usuário do IAM.

  • Para obter detalhes da API, consulte ListFindingsem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-policy-generations.

AWS CLI

Para listar todas as gerações de políticas solicitadas nos últimos sete dias

O list-policy-generations exemplo a seguir lista todas as gerações de políticas solicitadas nos últimos sete dias em sua AWS conta.

aws accessanalyzer list-policy-generations

Saída:

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

Para obter mais informações, consulte Geração de política do IAM Access Analyzer no Guia do usuário do AWS IAM.

O código de exemplo a seguir mostra como usar list-tags-for-resource.

AWS CLI

Para recuperar uma lista de tags aplicadas ao recurso especificado

O list-tags-for-resource exemplo a seguir recupera uma lista de tags aplicadas ao recurso especificado em sua AWS conta.

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

Saída:

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

Para obter mais informações, consulte Geração de política do IAM Access Analyzer no Guia do usuário do AWS IAM.

O código de exemplo a seguir mostra como usar start-policy-generation.

AWS CLI

Para iniciar uma solicitação de geração de política

O start-policy-generation exemplo a seguir inicia uma solicitação de geração de política em sua AWS conta.

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

Conteúdo de myfile.json:

{ "accessRole": "arn:aws:iam::111122223333:role/service-role/AccessAnalyzerMonitorServiceRole", "startTime": "2024-02-13T00:30:00Z", "trails": [ { "allRegions": true, "cloudTrailArn": "arn:aws:cloudtrail:us-west-2:111122223333:trail/my-trail" } ] }

Saída:

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

Para obter mais informações, consulte Geração de política do IAM Access Analyzer no Guia do usuário do AWS IAM.

O código de exemplo a seguir mostra como usar start-resource-scan.

AWS CLI

Para iniciar imediatamente uma verificação das políticas aplicadas ao recurso especificado

O start-resource-scan exemplo a seguir inicia imediatamente uma análise das políticas aplicadas ao recurso especificado em sua AWS conta.

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

Este comando não produz saída.

Para obter mais informações, consulte Geração de política do IAM Access Analyzer no Guia do usuário do AWS IAM.

  • Para obter detalhes da API, consulte StartResourceScanem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar tag-resource.

AWS CLI

Para adicionar uma tag ao recurso especificado

O tag-resource exemplo a seguir adiciona uma tag ao recurso especificado em sua AWS conta.

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

Este comando não produz saída.

Para obter mais informações, consulte Como usar o AWS Identity and Access Management Access Analyzer no Guia AWS do usuário do IAM.

  • Para obter detalhes da API, consulte TagResourceem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar untag-resource.

AWS CLI

Para remover tags dos recursos especificados

O untag-resource exemplo a seguir remove as tags do recurso especificado em sua AWS conta.

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

Este comando não produz saída.

Para obter mais informações, consulte Como usar o AWS Identity and Access Management Access Analyzer no Guia AWS do usuário do IAM.

  • Para obter detalhes da API, consulte UntagResourceem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar update-archive-rule.

AWS CLI

Para atualizar os critérios e valores da regra de arquivamento especificada

O update-archive-rule exemplo a seguir atualiza os critérios e os valores da regra de arquivamento especificada em sua AWS conta.

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

Este comando não produz saída.

Para obter mais informações, consulte Regras de arquivamento no Guia do usuário do AWS IAM.

  • Para obter detalhes da API, consulte UpdateArchiveRuleem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar update-findings.

AWS CLI

Para atualizar o status das descobertas especificadas

O update-findings exemplo a seguir atualiza o status das descobertas especificadas em sua AWS conta.

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

Este comando não produz saída.

Para obter mais informações, consulte Como usar o AWS Identity and Access Management Access Analyzer no Guia AWS do usuário do IAM.

  • Para obter detalhes da API, consulte UpdateFindingsem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar validate-policy.

AWS CLI

Para solicitar a validação de uma política e retornar uma lista de descobertas

O exemplo validate-policy a seguir solicita a validação de uma política e retorna uma lista de descobertas. A política no exemplo é uma política de confiança na função para uma função do Amazon Cognito usada para federação de identidades na web. As descobertas geradas a partir da política de confiança estão relacionadas a um valor de elemento Sid vazio e a uma entidade principal de política incompatível devido à ação incorreta de assumir a função que está sendo usada, sts:AssumeRole. A ação correta de assumir a função para uso com o Cognito é sts:AssumeRoleWithWebIdentity.

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

Conteúdo de myfile.json:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ], "Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-west-2_EXAMPLE" } } } ] }

Saída:

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

Para obter mais informações, consulte Verificações de validação de políticas no Guia do usuário do AWS IAM.

  • Para obter detalhes da API, consulte ValidatePolicyem Referência de AWS CLI Comandos.