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 doS3BucketName
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âmetroS3BucketName
. Não é recomendável alterar o valor do este parâmetro padrão. -
MaxObjects
Tipo: 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 comofalse
.
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:CreateLogGroup
logs: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:::amzn-s3-demo-bucket1/*", "Effect": "Allow" }, { "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:GetBucketPublicAccessBlock", "s3:GetBucketRequestPayment", "s3:GetBucketPolicyStatus", "s3:GetBucketPolicy", "s3:GetBucketAcl" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1", "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 comoBucketOwner
. SeRequester 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çãoGetObject
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 oCloudWatchLogGroupName
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
eStartAfter
. -
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 comotrue
. 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
ouFULL_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