View a markdown version of this page

AWSSupport-TroubleshootSAMLIssues - AWS Systems Manager Automation 런북 참조

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWSSupport-TroubleshootSAMLIssues

설명

AWSSupport-TroubleshootSAMLIssues 자동화 실행서는 Amazon Simple Storage Service(Amazon S3)에 저장된 SAML 응답 파일을 분석하여 SAML(Security Assertion Markup Language) 관련 문제를 진단하는 데 도움이 됩니다. 스키마 확인, 서명 검증, 대상 제한 확인 및 만료 시간 확인을 포함한 포괄적인 검증을 수행합니다. 실행서는 SAML 응답에서 발급자, 어설션, 주체, 조건, 서명 및 속성을 포함한 주요 SAML 요소를 디코딩하고 추출합니다. SAML을 사용하여 IAM 자격 증명 공급자를 통해 AWS 리소스(예: Amazon Connect 또는 Amazon WorkSpaces 애플리케이션)에 액세스하는 환경의 경우 SAML 응답 서명의 인증서가 IAM 자격 증명 공급자에 구성된 인증서와 일치하는지 확인합니다.

어떻게 작동하나요?

실행서는 다음 단계를 수행합니다.

  • SAML 응답 형식 및 필수 요소를 검증합니다.

  • SAML 응답 구성 요소(발급자, 어설션, 제목, 조건, 서명, 속성)를 디코딩하고 추출합니다.

  • 제공된 경우 IAM 자격 증명 공급자 인증서와 비교하여 디지털 서명을 확인합니다.

  • 대상 제한 및 시간 유효성을 확인합니다.

  • 구문 분석된 SAML 구조 및 검증 결과를 보여주는 자세한 진단 정보를 제공합니다.

이 자동화 실행(콘솔)

문서 유형

자동화

소유자

Amazon

플랫폼

/

필수 IAM 권한

실행서를 성공적으로 사용하려면 AutomationAssumeRole 파라미터에 다음 작업이 필요합니다.

  • 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

정책 예제:

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

지침

다음 단계에 따라 자동화를 구성합니다.

  1. 이 실행서를 사용하기 전에 Base64-encoded SAML 응답(txt 파일)을 캡처하여 S3 버킷에 저장해야 합니다. SAML 응답 캡처 지침은 이 문서에서 확인할 수 있습니다.

  2. Systems ManagerAWSSupport-TroubleshootSAMLIssues의 문서로 이동합니다.

  3. Execute automation(자동화 실행)을 선택합니다.

  4. 입력 파라미터에 다음을 입력합니다.

    • AutomationAssumeRole(선택 사항):

      • 설명: (선택 사항) SSM Automation이 사용자를 대신하여 작업을 수행하도록 허용하는 (IAM) 역할의 AWS Identity and Access Management Amazon 리소스 이름(ARN)입니다. 역할을 지정하지 않은 경우, Systems Manager Automation에서는 이 실행서를 시작하는 사용자의 권한을 사용합니다.

      • 유형: AWS::IAM::Role::Arn

    • InputFileS3URI(필수):

      • 설명: (필수) SAML 응답 txt 파일의 Amazon Simple Storage Service(Amazon S3) URI(예: s3://bucket-name/path/to/file.txt).

      • 유형: 문자열

      • 패턴 허용: ^s3://[a-z0-9][a-z0-9.-][a-z0-9](/.)?$

    • S3OutputPrefix(선택 사항):

      • 설명: (선택 사항) 분석 출력 파일은 입력 버킷에 'saml_analysis_<executionID of the runbook>.json' 이름으로 저장됩니다. 특정 접두사가 있는 파일을 출력하려는 경우이 파라미터를 사용할 수 있습니다. 기본값은 'output/'이며,이 경우 결과를 출력하는 파일 URI는 's3://bucket-name/output/saml_analysis_<executionID of the runbook>.json'이 됩니다.

      • 유형: 문자열

      • 패턴 허용: ^[a-zA-Z0-9+=,.@\\-_/]*/$

    • ExpectedAudience(선택 사항):

      • 설명: (선택 사항) SAML 응답의 예상 대상 값입니다. 지정하지 않으면를 사용합니다urn:amazon:webservices. IdP 및 SP 설정에서 특정 대상 값을 구성한 경우 정확한 형식(예: , urn:amazon:webserviceshttps://signin.aws.amazon.com/saml)을 제공하세요.

      • 유형: 문자열

      • 기본값: urn:amazon:webservices

    • IamIdProviderArn(선택 사항):

      • 설명: (선택 사항) IAM ID 공급자 엔터티를 사용하여 IdP를 AWS IAM과 직접 연결하는 경우 해당 ARN(예: arn:aws:iam::<account-id>:saml-provider/<provider-name>)을 제공하세요.

      • 유형: 문자열

      • 패턴 허용: ^$|^arn:aws:iam::[0-9]{12}:saml-provider/[a-zA-Z0-9_-]+$

    • SAMLAuthenticationTime(선택 사항):

      • 설명: (선택 사항) SAML 인증이 수행된 날짜 및 시간입니다. 시간대는 UTC여야 합니다. YYYY-MM-DDThh:mm:ss 형식이어야 합니다(예: 2025-02-01T10:00:00). 이 파라미터를 제공하지 않으면 현재 타임스탬프에 대해 만료 검사가 수행됩니다.

      • 유형: 문자열

      • 패턴 허용: ^$|^\\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$

    • S3BucketOwnerRoleArn(선택 사항):

      • 설명: (선택 사항) Amazon S3 버킷에 액세스하기 위한 IAM 역할 ARN입니다. Amazon S3 버킷 및 계정을 가져올 수 있는 권한이 있는 IAM 역할의 ARN은 퍼블릭 액세스 설정, 버킷 암호화 구성, 버킷 ACLs, 버킷 정책 상태 및 버킷에 객체 업로드를 차단합니다. 이 파라미터를 지정하지 않으면 실행서는 'AutomationAssumeRole'(지정된 경우) 또는이 실행서를 시작하는 사용자('AutomationAssumeRole'이 지정되지 않은 경우)를 사용합니다.

      • 유형: AWS::IAM::Role::Arn

  5. 실행을 선택합니다.

  6. 자동화가 시작됩니다.

  7. 문서는 다음 단계를 수행합니다.

    • ValidateIAMIDProvider

      제공된 IAM ID 공급자 ARN이 존재하고 액세스할 수 있는지 확인하여 검증합니다. ARN이 제공되지 않으면 검증을 건너뛰고 단계가 성공적으로 완료됩니다.

    • CheckS3BucketPublicStatus

      Amazon S3 버킷이 익명 또는 퍼블릭 읽기 또는 쓰기 액세스 권한을 허용하는지 확인합니다. 버킷이 이러한 권한을 허용하는 경우이 단계에서 자동화가 중지됩니다.

    • CheckS3ObjectExistence

      Amazon S3 버킷에 대한 액세스를 검증합니다. 버킷과 객체가 있는지, 자동화에 소스에서 읽고 대상에 쓰는 데 필요한 권한이 있는지 확인합니다.

    • AnalyzeSAMLResponse

      검사(스키마 검증, 서명 확인, 대상 검증, 만료 확인)를 수행하여 SAML 응답 파일을 분석합니다. 세부 JSON 보고서를 생성하여 지정된 Amazon S3 위치에 저장합니다.

  8. 완료되면 출력 섹션에서 실행의 자세한 결과를 검토합니다.

    • 출력 섹션에는 분석 결과가 설명된 Amazon S3 객체에 대한 정보가 포함되어 있습니다.

  9. 분석 결과의 Amazon S3 객체는 다음 정보가 포함된 Json 파일입니다.

    • validation_result: SAML 응답의 기본 검증 결과를 포함합니다.

      • saml_info: 발급자, 서명 및 어설션을 포함한 주요 SAML 정보입니다.

      • schema_validation: SAML 스키마 검증 결과입니다.

    • verification_result: 보다 자세한 진단 결과를 제공합니다.

      • 서명: 서명 확인 결과입니다.

      • audience: 대상 제한 검증의 결과입니다.

      • expiration: 만료 시간 확인 결과입니다.

참조

Systems Manager Automation