AWSSupport-TroubleshootS3PublicRead - AWS Systems Manager Referência do runbook de automação

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

AWSSupport-TroubleshootS3PublicRead

Descrição

O runbook AWSSupport-TroubleshootS3PublicRead diagnostica problemas de leitura de objetos do bucket público do Amazon Simple Storage Service (Amazon S3) especificado no parâmetro S3BucketName. Um subconjunto de definições também é analisado para objetos no bucket do S3.

Executar esta automação (console)

Limitações

  • Essa automação não verifica os pontos de acesso que permitem o acesso público aos objetos.

  • Essa automação não avalia as chaves de condição na política de bucket do S3.

  • Se você estiver usando AWS Organizations, essa automação não avalia as políticas de controle de serviços para confirmar se o acesso ao Amazon S3 é permitido.

Tipo de documento

Automação

Proprietário

Amazon

Plataformas

Linux, macOS, Windows

Parâmetros

  • AutomationAssumeRole

    Tipo: String

    Descrição: (opcional) o nome do recurso da Amazon (ARN) do perfil do AWS Identity and Access Management (IAM) que permite que o Systems Manager Automation realize ações em seu nome. Se nenhum perfil for especificado, o Systems Manager Automation usa as permissões do usuário que inicia este runbook.

  • CloudWatchLogGroupName

    Tipo: string

    Descrição: (Opcional) O grupo de CloudWatch registros do Amazon Logs para o qual você deseja enviar a saída de automação. Se não for encontrado um grupo de logs que corresponda ao valor especificado, a automação criará um grupo de logs usando esse valor de parâmetro. O período de retenção do grupo de logs criado por essa automação é de 14 dias.

  • CloudWatchLogStreamName

    Tipo: string

    Descrição: (Opcional) O fluxo de CloudWatch registros para o qual você deseja enviar a saída de automação. Se não for encontrado um fluxo de logs que corresponda ao valor especificado, a automação criará um fluxo de logs usando esse valor de parâmetro. Se um valor para esse parâmetro não for especificado, a automação usará o ExecutionId para o nome do fluxo de logs.

  • HttpGet

    Tipo: booliano

    Valores válidos: True | False

    Padrão: True

    Descrição: (opcional) Se esse parâmetro for definido como true, a automação fará uma solicitação HTTP parcial aos objetos do S3BucketName que forem especificados. Somente o primeiro byte do objeto é retornado usando o cabeçalho HTTP Range.

  • IgnoreBlockPublicAccess

    Tipo: booliano

    Valores válidos: True | False

    Padrão: False

    Descrição: (opcional) Se esse parâmetro for definido como true, a automação ignorará as definições do bloco de acesso público do bucket do S3 especificado no parâmetro S3BucketName. Não é recomendável alterar o valor do este parâmetro padrão.

  • MaxObjects

    Tipo: número inteiro

    Valores válidos: 1 a 25

    Padrão: 5

    Descrição: (opcional) O número de objetos a serem analisados no bucket do S3 especificado no parâmetro S3BucketName.

  • S3 BucketName

    Tipo: string

    Descrição: (obrigatória) O ID do bucket do S3 para solução de problemas.

  • S3 PrefixName

    Tipo: string

    Descrição: (opcional) O prefixo do nome da chave dos objetos que você quer analisar em seu bucket do S3. Para ter mais informações, consulte Chaves do objeto no Guia do usuário do Amazon Simple Storage Service.

  • StartAfter

    Tipo: string

    Descrição: (opcional) O nome da chave do objeto em que a automação deve começar a analisar os objetos em seu bucket do S3.

  • ResourcePartition

    Tipo: string

    Valores válidos: aws | aws-us-gov | aws-cn

    Padrão: aws

    Descrição: (obrigatório) A partição em que o bucket do S3 está localizado.

  • Detalhado

    Tipo: Booliano

    Valores válidos: True | False

    Padrão: False

    Descrição: (opcional) Para retornar informações mais detalhadas durante a automação, defina esse parâmetro como true. Somente mensagens de aviso e erro serão retornadas se o parâmetro estiver definido como false.

Permissões obrigatórias do IAM

O parâmetro AutomationAssumeRole requer as seguintes ações para usar o runbook com êxito.

As logs:PutLogEvents permissões logs:CreateLogGrouplogs:CreateLogStream, e só são necessárias se você quiser que a automação envie dados de registro para o CloudWatch Logs.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:SimulateCustomPolicy", "iam:GetContextKeysForCustomPolicy", "s3:ListAllMyBuckets", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:PutRetentionPolicy", "s3:GetAccountPublicAccessBlock" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectTagging" ], "Resource": "arn:aws:s3:::awsexamplebucket1/*", "Effect": "Allow" }, { "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:GetBucketPublicAccessBlock", "s3:GetBucketRequestPayment", "s3:GetBucketPolicyStatus", "s3:GetBucketPolicy", "s3:GetBucketAcl" ], "Resource": "arn:aws:s3:::awsexamplebucket1", "Effect": "Allow" } ] }

Etapas do documento

  • aws:assertAwsResourceProperty :Confirma que o bucket do S3 existe e está acessível.

  • aws:executeScript :Retorna a localização do bucket do S3 e seu ID de usuário canônico.

  • aws:executeScript :Retorna as definições do bloco de acesso público de sua conta e do bucket do S3.

  • aws:assertAwsResourceProperty :Confirma que o pagador do bucket do S3 está configurado como BucketOwner. Se Requester Pays estiver habilitado no bucket do S3, a automação será encerrada.

  • aws:executeScript :Retorna o status da política do bucket do S3 e determina se ela é considerada pública. Para obter mais informações sobre buckets públicos do S3, consulte O significado de “público” no Guia do desenvolvedor do Amazon Simple Storage Service.

  • aws:executeAwsApi :Retorna a política de bucket do S3.

  • aws:executeAwsApi :Retorna todas as chaves de contexto encontradas na política de bucket do S3.

  • aws:assertAwsResourceProperty :Confirma se há uma negação explícita na política de bucket do S3 para a ação GetObject da API.

  • aws:executeAwsApi :Retorna a lista de controle de acesso (ACL) do bucket do S3.

  • aws:executeScript- Cria um grupo de CloudWatch registros e um fluxo de registros se você especificar um valor para o CloudWatchLogGroupName parâmetro.

  • aws:executeScript :Com base nos valores especificados nos parâmetros de entrada do runbook, avalia se alguma das definições do bucket do S3 coletadas durante a automação está impedindo que os objetos sejam acessados pelo público. Esse script executa as seguintes funções:

    • Avalia as definições de bloqueio de acesso público

    • Retorna objetos do bucket do S3 com base nos valores especificados nos parâmetros MaxObjects, S3PrefixName e StartAfter.

    • Retorna a política do bucket do S3 para simular uma política do IAM personalizada para os objetos retornados do bucket do S3.

    • Executa uma solicitação HTTP parcial para os objetos retornados se o parâmetro HttpGet estiver definido como true. Somente o primeiro byte do objeto é retornado usando o cabeçalho HTTP Range.

    • Verifica o nome da chave do objeto retornado para confirmar se ele termina com um ou dois pontos. Os nomes de chaves de objetos que terminam em pontos não podem ser baixados do console do Amazon S3.

    • Verifica se o proprietário do objeto retornado corresponde ao proprietário do bucket do S3.

    • Verifica se a ACL do objeto concede permissões de READ ou FULL_CONTROL a usuários anônimos.

    • Retorna tags associadas ao objeto.

    • Usa a política do IAM simulada para confirmar se há uma negação explícita desse objeto na política de bucket do S3 para a ação GetObject da API.

    • Retorna os metadados do objeto para confirmar que a classe de armazenamento é compatível.

    • Verifica as configurações de criptografia do lado do servidor do objeto para confirmar se o objeto está criptografado usando uma chave AWS Key Management Service (AWS KMS) gerenciada pelo cliente.

Saídas

AnalyzeObjects.balde

AnalyzeObjects.objeto