

# Descobertas de erros do IAM Access Analyzer
<a name="access-analyzer-error-findings"></a>

Quando o IAM Access Analyzer analisa recursos, ele normalmente gera descobertas que mostram quem tem acesso aos recursos. Porém, em alguns casos, o analisador pode encontrar problemas que o impedem de concluir a análise. Nessas situações, o IAM Access Analyzer gera descobertas de erros.

As descobertas de erros indicam que o IAM Access Analyzer não conseguiu concluir a análise de um recurso específico ou de um determinado par entidade principal-recurso. Essas descobertas ajudam a identificar os recursos que talvez requeiram atenção para garantir uma análise adequada.

## Descobertas de erros de acesso externo
<a name="access-analyzer-error-findings-external"></a>

Analisadores de acesso externo, que identificam recursos compartilhados fora de sua conta ou organização, podem gerar dois tipos de descobertas de erros:
+ INTERNAL\$1ERROR: indica que o IAM Access Analyzer encontrou um problema interno ao analisar o recurso. Isso poderia ocorrer devido a limitações do serviço ou a problemas temporários.

  ```
  {
  	"findingDetails": [
  		{
  			"externalAccessDetails": {}
  		}
  	],
  	"resource": "arn:aws:iam::941407043048:role/TestAccessAnalyzer",
  	"status": "ACTIVE",
  	"error": "INTERNAL_ERROR",
  	"createdAt": "2022-07-14T01:31:43.085000+00:00",
  	"resourceType": "AWS::IAM::Role",
  	"findingType": "ExternalAccess",
  	"resourceOwnerAccount": "941407043048",
  	"analyzedAt": "2025-03-19T06:51:46.109000+00:00",
  	"id": "4b035c7d-b7d2-40e4-a6c3-9887d1a995df",
  	"updatedAt": "2022-07-14T01:31:43.085000+00:00"
  }
  ```
+ ACCESS\$1DENIED: indica que o IAM Access Analyzer não tem as permissões necessárias para analisar o recurso. Isso geralmente acontece quando o acesso ao recurso é negado ao perfil vinculado ao serviço (SLR) do IAM Access Analyzer.

  ```
  {
  	"findingDetails": [
  		{
  			"externalAccessDetails": {}
  		}
  	],
  	"resource": "arn:aws:kms:us-west-2:941407043048:key/01cae123-b7f2-4488-9a05-0070a072ea2c",
  	"status": "ACTIVE",
  	"error": "ACCESS_DENIED",
  	"createdAt": "2022-07-14T01:31:43.104000+00:00",
  	"resourceType": "AWS::KMS::Key",
  	"findingType": "ExternalAccess",
  	"resourceOwnerAccount": "941407043048",
  	"analyzedAt": "2025-03-19T06:51:46.090000+00:00",
  	"id": "7ef6f04a-9d2c-4038-9cc0-2a5f00a4d8f8",
  	"updatedAt": "2022-07-14T01:31:43.104000+00:00"
  }
  ```

## Descobertas de erros de acesso interno
<a name="access-analyzer-error-findings-internal"></a>

Analisadores de acesso interno, que identificam o acesso dentro de sua conta ou organização, podem gerar quatro tipos de descobertas de erros:
+ PRINCIPAL\$1LIMIT\$1EXCEEDED: gerado quando mais de 3.000 entidades principais têm acesso a um recurso essencial. Esse erro ajuda você a identificar recursos com acesso excessivamente amplo que talvez precise ser limitado.

  Se você fizer alterações no recurso ou nas entidades principais do ambiente que reduzam o número de entidades principais a menos que o limite, o analisador gerará as descobertas normais durante a próxima varredura e a descoberta de erro será marcada como resolvida.

  ```
  {
  	"id": "efec28fe-b304-412f-af0f-704d0d70c79c",
  	"status": "ACTIVE",
  	"error": "PRINCIPAL_LIMIT_EXCEEDED",
  	"resource": "arn:aws:s3:::critical-data",
  	"resourceType": "AWS::S3::Bucket",
  	"resourceOwnerAccount": "111122223333",
  	"createdAt": "2023-11-30T00:56:56.437000+00:00",
  	"analyzedAt": "2024-03-06T04:11:54.406000+00:00",
  	"updatedAt": "2023-11-30T00:56:56.437000+00:00",
  	"findingType": "InternalAccess",
  	"findingDetails": [
  		{
  			"internalAccessDetails": {}
  		}
  	]
  }
  ```
+ Erros ao nível do recurso (INTERNAL\$1ERROR ou ACCESS\$1DENIED): similares aos erros de acesso externo, indicam que o analisador não conseguiu analisar um determinado recurso devido a problemas internos ou a problemas de permissão. Quando ocorre um erro ao nível do recurso, o analisador gera uma única descoberta de erro para o recurso em vez das descobertas normais.

  ```
  {
  	"id": "efec28fe-b304-412f-af0f-704d0d70c79c",
  	"status": "ACTIVE",
  	"error": "INTERNAL_ERROR", // can be INTERNAL_ERROR or ACCESS_DENIED
  	"resource": "arn:aws:s3:::critical-data",
  	"resourceType": "AWS::S3::Bucket",
  	"resourceOwnerAccount": "111122223333",
  	"createdAt": "2023-11-30T00:56:56.437000+00:00",
  	"analyzedAt": "2024-03-06T04:11:54.406000+00:00",
  	"updatedAt": "2023-11-30T00:56:56.437000+00:00",
  	"findingType": "InternalAccess",
  	"findingDetails": [
  		{
  			"internalAccessDetails": {}
  		}
  	]
  }
  ```
+ Erros ao nível da entidade principal (INTERNAL\$1ERROR ou ACCESS\$1DENIED): indica que o analisador não conseguiu analisar acesso para um determinado recurso a uma determinada entidade principal. Ao contrário dos erros ao nível do recurso, um recurso pode ter descobertas normais para algumas entidades principais e descobertas de erros para outras entidades principais.

  ```
  {
  	"id": "efec28fe-b304-412f-af0f-704d0d70c79c",
  	"status": "ACTIVE",
  	"error": "INTERNAL_ERROR", // can be INTERNAL_ERROR or ACCESS_DENIED
  	"resource": "arn:aws:s3:::critical-data",
  	"resourceType": "AWS::S3::Bucket",
  	"resourceOwnerAccount": "111122223333",
  	"createdAt": "2023-11-30T00:56:56.437000+00:00",
  	"analyzedAt": "2024-03-06T04:11:54.406000+00:00",
  	"updatedAt": "2023-11-30T00:56:56.437000+00:00",
  	"findingType": "InternalAccess", 
  	"findingDetails": [
  		{
  			"internalAccessDetails": {
  				"principal": {
  					"AWS": "arn:aws:iam::111122223333:role/MyRole_1"
  				},
  				"principalOwnerAccount": "111122223333",
  				"principalType": "IAM_ROLE",
  				"accessType": "INTRA_ACCOUNT"
  			}
  		}
  	]
  }
  ```
+ PRINCIPAL\$1ERRORS\$1LIMIT\$1EXCEEDED: gerado quando há muitas descobertas de erros ao nível da entidade principal para um único recurso. Essa é uma descoberta de erro ao nível do recurso que pode aparecer junto com as descobertas normais para o mesmo recurso.

  ```
  {
  	"id": "efec28fe-b304-412f-af0f-704d0d70c79c",
  	"status": "ACTIVE",
  	"error": "PRINCIPAL_ERRORS_LIMIT_EXCEEDED",
  	"resource": "arn:aws:s3:::critical-data",
  	"resourceType": "AWS::S3::Bucket",
  	"resourceOwnerAccount": "111122223333",
  	"createdAt": "2023-11-30T00:56:56.437000+00:00",
  	"analyzedAt": "2024-03-06T04:11:54.406000+00:00",
  	"updatedAt": "2023-11-30T00:56:56.437000+00:00",
  	"findingType": "InternalAccess",
  	"resourceControlPolicyRestriction": "NOT_APPLICABLE",
  	"serviceControlPolicyRestriction": "NOT_APPLICABLE",
  	"findingDetails": [
  		{
  			"internalAccessDetails": {}
  		}
  	]
  }
  ```

## Resolver descobertas de erros
<a name="access-analyzer-error-findings-resolve"></a>

Se você resolver o problema que impedia o IAM Access Analyzer de analisar o recurso, a descoberta de erro será removida completamente em vez de ser alterada para uma descoberta resolvida.

Para resolver as descobertas de erros, considere as seguintes abordagens baseadas no tipo de erro:
+ Para erros de ACCESS\$1DENIED, verifique se o perfil vinculado ao serviço do IAM Access Analyzer tem as permissões necessárias para acessar o recurso.
+ Para erros de PRINCIPAL\$1LIMIT\$1EXCEEDED, revise as políticas de acesso do recurso e considere restringir o acesso a menos entidades principais.
+ Para descobertas de INTERNAL\$1ERROR, poderá ser necessário aguardar um ciclo de análise subsequente ou entrar em contato com o suporte da AWS se o problema persistir.
+ Para PRINCIPAL\$1ERRORS\$1LIMIT\$1EXCEEDED, revise e, se possível, simplifique os padrões de acesso para o recurso afetado.

Depois de fazer alterações para resolver os problemas subjacentes, o IAM Access Analyzer tentará analisar os recursos novamente durante o próximo ciclo de varredura.