View a markdown version of this page

AWSSupport-TroubleshootSAMLIssues - AWS Systems Manager Referência do Automation Runbook

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-TroubleshootSAMLIssues

Descrição

O runbook de AWSSupport-TroubleshootSAMLIssues automação ajuda a diagnosticar problemas relacionados à Security Assertion Markup Language (SAML) analisando os arquivos de resposta SAML armazenados no Amazon Simple Storage Service (Amazon S3). Ele realiza uma validação abrangente, incluindo verificação de esquema, validação de assinatura, verificação de restrição de público e verificação de prazo de validade. O runbook decodifica e extrai os principais elementos do SAML, incluindo emissor, afirmações, assunto, condições, assinaturas e atributos da resposta do SAML. Para ambientes em que o SAML é usado para acessar AWS recursos (como Amazon Connect ou Amazon WorkSpaces Applications) por meio de um provedor de identidade do IAM, ele verifica se os certificados nas assinaturas de resposta do SAML correspondem aos certificados configurados no provedor de identidade do IAM.

Como funciona?

O runbook executa as seguintes etapas:

  • Valida o formato de resposta SAML e os elementos necessários.

  • Decodifica e extrai componentes de resposta SAML (emissor, afirmações, assunto, condições, assinaturas, atributos).

  • Verifica as assinaturas digitais em relação aos certificados do IAM Identity Provider quando fornecidos.

  • Verifica as restrições de público e a validade do horário.

  • Fornece informações detalhadas de diagnóstico mostrando a estrutura SAML analisada e os resultados da validação.

Executar esta automação (console)

Tipo de documento

Automação

Proprietário

Amazon

Plataformas

/

Permissões obrigatórias do IAM

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

  • s3:GetBucketLocation

  • s3:ListBucket

  • s3:GetBucketPublicAccessBlock

  • s3:GetAccountPublicAccessBlock

  • s3:GetObject

  • s3:GetBucketPolicyStatus

  • s3:GetEncryptionConfiguration

  • s3:GetBucketOwnershipControls

  • s3:GetBucketAcl

  • s3:GetBucketPolicy

  • s3:PutObject

  • iam:GetSAMLProvider

  • sts:AssumeRole

Exemplo de política:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:GetBucketPublicAccessBlock", "s3:GetAccountPublicAccessBlock", "s3:GetObject", "s3:GetBucketPolicyStatus", "s3:GetEncryptionConfiguration", "s3:GetBucketOwnershipControls", "s3:GetBucketAcl", "s3:GetBucketPolicy", "s3:PutObject", "iam:GetSAMLProvider", "sts:AssumeRole" ], "Resource": "*", "Effect": "Allow" } ] }

Instruções

Siga estas etapas para configurar a automação:

  1. Antes de usar esse runbook, você precisa capturar e armazenar uma resposta SAML codificada em Base64 (arquivo txt) em um bucket do S3. As instruções para capturar as respostas do SAML podem ser encontradas neste documento.

  2. Navegue até AWSSupport-TroubleshootSAMLIssuesem Systems Manager em Documentos.

  3. Selecione Execute automation (Executar automação).

  4. Para os parâmetros de entrada, insira o seguinte:

    • AutomationAssumeRole (Opcional):

      • Descrição: (Opcional) O Amazon Resource Name (ARN) da função AWS Identity and Access Management (IAM) que permite que o SSM Automation execute as 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.

      • Tipo: AWS::IAM::Role::Arn

    • InputFileS3URI (obrigatório):

      • Descrição: (Obrigatório) URI do Amazon Simple Storage Service (Amazon S3) do arquivo txt de resposta SAML (por exemplo, s3://bucket - .txt). name/path/to/file

      • Tipo: string

      • Padrão de permissão: ^s3://[a-z0-9][a-z0-9.-][a-z0-9](/.)?$

    • S3 OutputPrefix (opcional):

      • <executionID of the runbook>Descrição: (Opcional) Os arquivos de saída da análise são armazenados no bucket de entrada com o nome 'saml_analysis_ .json'. Você pode usar esse parâmetro se quiser gerar um arquivo com um prefixo específico. <executionID of the runbook>O valor padrão é “output/”. Nesse caso, o URI do arquivo que gera o resultado será 's3://bucket - name/output/saml _analysis_ .json'.

      • Tipo: string

      • Padrão de permissão: ^[a-zA-Z0-9+=,.@\\-_/]*/$

    • ExpectedAudience (Opcional):

      • Descrição: (Opcional) Valor de público esperado na resposta do SAML. Se não for especificado, usamosurn:amazon:webservices. Se você configurou um valor de público específico em sua configuração de IdP e SP, forneça o formato exato (por exemplo,urn:amazon:webservices,https://signin.aws.amazon.com/saml).

      • Tipo: string

      • Padrão: urn:amazon:webservices

    • IamIdProviderArn (Opcional):

      • Descrição: (Opcional) Se você estiver usando uma entidade IAM ID Provider para vincular diretamente seu IdP ao AWS IAM, forneça seu ARN (por exemplo,). arn:aws:iam::<account-id>:saml-provider/<provider-name>

      • Tipo: string

      • Padrão de permissão: ^$|^arn:aws:iam::[0-9]{12}:saml-provider/[a-zA-Z0-9_-]+$

    • SAMLAuthenticationHorário (opcional):

      • Descrição: (Opcional) A data e a hora em que a autenticação SAML foi realizada. O fuso horário deve ser UTC. Deve estar no YYYY-MM-DDThh formato:mm:ss (por exemplo, 2025-02-01T 10:00:00). Se esse parâmetro não for fornecido, as verificações de expiração serão realizadas em relação ao timestamp atual.

      • Tipo: string

      • Padrão de permissão: ^$|^\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$

    • S3 BucketOwnerRoleArn (opcional):

      • Descrição: (Opcional) ARN da função do IAM para acessar os buckets do Amazon S3. O ARN da função do IAM com permissões para obter o bucket e a conta do Amazon S3 bloqueia as configurações de acesso público, a configuração da criptografia do bucket, o bucket, o ACLs status da política do bucket e o upload de objetos para o bucket. Se esse parâmetro não for especificado, o runbook usa o `AutomationAssumeRole` (se especificado) ou o usuário que inicia esse runbook (se `AutomationAssumeRole` não for especificado).

      • Tipo: AWS::IAM::Role::Arn

  5. Selecione Executar.

  6. A automação é iniciada.

  7. O bucket realiza as seguintes etapas:

    • Validar IAMIDProvider

      Valida o ARN do provedor de ID do IAM fornecido verificando se ele existe e está acessível. Se nenhum ARN for fornecido, a validação será ignorada e a etapa será concluída com êxito.

    • Verificações 3 BucketPublicStatus

      Verifica se o bucket do Amazon S3 permite permissões de acesso anônimas ou públicas de leitura ou gravação. Se o bucket permitir essas permissões, a automação será interrompida nessa etapa.

    • Verificações 3 ObjectExistence

      Valida o acesso aos buckets do Amazon S3. Verifica se o bucket e o objeto existem e se a automação tem as permissões necessárias para ler da origem e gravar no destino.

    • Analise SAMLResponse

      Analisa o arquivo de resposta SAML executando as verificações (validação de esquema, verificação de assinatura, validação de público, verificação de expiração). Gera um relatório JSON detalhado e o salva no local especificado do Amazon S3.

  8. Depois de concluído, revise a seção Saídas para obter os resultados detalhados da execução:

    • A seção Saídas contém informações sobre o objeto Amazon S3 onde os resultados da análise são descritos.

  9. O objeto Amazon S3 nos resultados da análise é um arquivo Json contendo as seguintes informações:

    • validation_result: contém resultados básicos de validação da resposta SAML.

      • saml_info: principais informações do SAML, incluindo emissor, assinaturas e afirmações.

      • schema_validation: resultados da validação do esquema SAML.

    • verification_result: fornece resultados diagnósticos mais detalhados.

      • assinatura: resultados da verificação da assinatura.

      • público: resultados da validação da restrição de público.

      • expiração: resultados da verificação do prazo de validade.

Referências

Automação do Systems Manager