포털에 대한 사용자 지정 도메인 구성 - Amazon WorkSpaces Secure Browser

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

포털에 대한 사용자 지정 도메인 구성

작동 방식

사용자 지정 도메인을 구성하는 경우:

  • 사용자 지정 도메인을 사용하여 역방향 프록시를 생성하고 구성하여 트래픽을 포털 엔드포인트로 라우팅합니다.

  • 사용자는 기본 포털 엔드포인트 대신 사용자 지정 도메인을 통해 포털에 액세스합니다.

  • SSL 인증서는 프로세스 전반에 걸쳐 보안 연결을 보장합니다.

사전 조건

사용자 지정 도메인을 설정하기 전에 다음이 있는지 확인합니다.

  • Amazon Route53과 같은 DNS 서비스 공급자를 통해 관리하는 도메인 이름입니다.

  • WorkSpaces Secure Browser 포털. 포털 생성에 대한 자세한 내용은 섹션을 참조하세요Amazon WorkSpaces Secure Browser용 웹 포털 생성.

  • AWS Certificate Manager, CloudFront 및 DNS 구성을 관리하는 데 필요한 권한이 있는지 확인합니다.

중요

사용자는 적절한 포털 기능을 보장하려면 브라우저에서 사용자 지정 도메인에 대해 타사 쿠키를 활성화해야 합니다.

포털의 보안 및 기능을 유지하려면 사용자 지정 도메인과 DNS 레코드를 소유하고 올바르게 관리해야 합니다.

참고

사용자 지정 도메인에 대해 Single Sign-On 확장을 활성화하려면 사용자가 1.0.2505.6608 이상의 버전으로 브라우저에 확장을 설치해야 합니다.

사용자는 포털에 로그인할 때 확장 프로그램을 설치하라는 메시지를 받게 됩니다. 확장 프로그램의 사용자 경험에 대한 자세한 내용은 Amazon WorkSpaces Secure Browser용 Single Sign-On 확장 프로그램 섹션을 참조하십시오.

시작하기

새 포털을 생성하거나 기존 포털을 편집할 때 사용자 지정 도메인을 포털 설정 속성으로 구성할 수 있습니다. 콘솔 AWS , SDK, CloudFormation 또는 AWS CLI 명령을 사용하여이 작업을 수행할 수 있습니다.

Amazon CloudFront 배포를 사용자 지정 도메인에서 WorkSpaces Secure Browser 포털 엔드포인트로 트래픽을 라우팅하는 역방향 프록시로 설정하는 것이 좋습니다.

참고

Amazon CloudFront가 역방향 프록시 솔루션으로 권장되지만 대체 역방향 프록시 구성을 사용할 수 있습니다. Amazon CloudFront 설정 단계에 설명된 대로 필요한 오리진 및 캐시 구성 설정을 충족하는지 확인합니다.

CloudFront를 역방향 프록시로 설정

역방향 프록시 설정을 완료하려면 다음이 필요합니다.

  • 를 통한 SSL 인증서 AWS Certificate Manager (ACM)

  • Amazon CloudFront 배포

  • DNS 레코드

  • 사용자 지정 도메인으로 구성된 포털

SSL 인증서

아직 없는 경우 다음 단계에 따라 ACM을 통해 요청합니다.

  1. 에서 ACM 콘솔로 이동합니다https://console.aws.amazon.com/acm.

    중요

    CloudFront에서 인증서를 저장해야 하므로 미국 동부(버지니아 북부) 리전을 사용합니다.

  2. 인증서 요청:

    • 새 ACM 사용자의 경우: 인증서 프로비저닝에서 시작하기를 선택합니다.

    • 기존 ACM 사용자의 경우: 인증서 요청을 선택합니다.

  3. 퍼블릭 인증서 요청을 선택한 다음 인증서 요청을 선택합니다.

    참고

    기존 인증서를 가져올 수도 있습니다. 자세한 내용은 ACM 사용 설명서의 ACM으로 인증서 가져오기를 참조하세요.

  4. 기본 도메인 이름(예: myportal.example.com)을 입력합니다.

  5. 검증 방법을 선택합니다.

    • DNS 검증(Route 53 사용자에게 권장) - 호스팅 영역에서 자동 레코드 세트 생성을 허용합니다. 자세한 내용은 ACM 사용 설명서DNS 검증을 참조하세요.

    • 이메일 검증 - 자세한 내용은 ACM 사용 설명서이메일 검증을 참조하세요.

  6. 설정을 검토하고 확인 및 요청을 선택합니다.

CloudFront 배포

CloudFront 배포를 생성하여 사용자 지정 도메인의 요청을 포털 엔드포인트로 프록시합니다.

  1. 에서 CloudFront 콘솔로 이동합니다https://console.aws.amazon.com/cloudfront.

  2. 배포 생성(Create Distribution)을 선택합니다.

    • 배포 이름: 배포의 이름을 입력합니다.

    • 배포 유형: 단일 웹 사이트 또는 앱

    참고

    사용자 지정 도메인이 동일한 AWS 계정의 Route 53에서 관리되는 경우 CloudFront에서 자동으로 DNS를 관리할 수 있습니다. 사용자 지정 도메인을 입력하고 “도메인 확인”을 클릭합니다. 다른 DNS 공급자의 도메인이 있는 경우이 단계를 건너뛰고 나중에 도메인을 구성합니다.

  3. 오리진 설정을 구성합니다.

    • 오리진 유형: 기타

    • 사용자 지정 오리진: 포털 엔드포인트 <portalId>.workspaces-web.com 입력합니다.

    • 오리진 경로: 비워 둡니다(기본값).

  4. 오리진 설정 사용자 지정:

    • 사용자 지정 헤더 추가

      중요

      사용자 지정 도메인을 통한 포털 액세스는이 헤더가 프록시 요청에 있는 경우에만 작동합니다. 헤더 이름과 값이 언급된 대로 정확히 지정되었는지 확인합니다.

      • 헤더 이름: workspacessecurebrowser-custom-domain

      • : 사용자 지정 도메인(예: myportal.example.com)

    • 프로토콜: HTTPS 전용

    • HTTPS 포트: 443(기본값 유지)

    • 최소 원래 SSL 프로토콜: TLSv1.2(기본값)

    • 오리진 IP 주소 유형: IPv4 전용(Amazon WorkSpaces Secure Browser는이 관리 안내서 작성 시 IPv6를 지원하지 않습니다.)

  5. 캐시 설정 사용자 지정:

    • 최종 사용자 프로토콜 정책: HTTP를 HTTPS로 리디렉션

    • 허용된 HTTP 메서드: GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE

    • 캐시 정책: CachingDisabled

    • 오리진 요청 정책: AllViewerExceptHostHeader

      중요

      사용자 지정 도메인을 통한 포털 액세스는 오리진 요청 정책이 AllViewerExceptHostHeader로 설정된 경우에만 작동합니다. 이름에서 알 수 있듯이이 정책은 요청 헤더에서 호스트 헤더만 필터링하고 나머지 모든 헤더를 오리진으로 전달합니다.

  6. 원하는 경우 WAF를 구성할 수 있지만이 설정을 위해 필요하지는 않습니다.

  7. TLS 인증서 가져오기에서 1단계에서 생성한 TLS 인증서를 선택합니다.

  8. 설정을 검토하고 배포 생성을 선택합니다.

DNS 레코드

호스팅 영역이 동일한 AWS 계정에 있는 경우 Cloudfront는 Route 53의 DNS 레코드를 업데이트하여 지정된 도메인에서 2단계에서 생성된 배포로 트래픽을 라우팅할 수 있습니다.

  1. CloudFront 설정으로 이동

  2. “도메인을 CloudFront로 라우팅”을 클릭합니다.

  3. "라우팅 자동 설정"을 클릭합니다.

다른 서비스 공급자 또는 다른 AWS 계정에서 사용자 지정 도메인에 대한 DNS를 구성한 경우 도메인의 트래픽을 배포로 라우팅하도록 DNS 공급자를 구성합니다. 다음 단계에서는 Route 53을 사용하여 이를 수행하는 방법을 설명합니다.

  1. 에서 Amazon Route 53 콘솔을 엽니다https://console.aws.amazon.com/route53.

  2. 액세스 DNS 관리:

    • 이 AWS 계정에서 Route 53를 처음 사용하는 경우 Amazon Route 53 개요 페이지가 열립니다. DNS 관리에서 지금 시작하기를 선택합니다.

    • 이 AWS 계정으로 이전에 Route 53를 사용한 경우 다음 단계로 진행합니다.

  3. 탐색 창에서 호스팅 영역(Hosted zones)을 선택합니다.

  4. 호스팅 영역이 아직 없는 경우 호스팅 영역을 생성합니다.

  5. 호스팅 영역 페이지에서 관리하려는 호스팅 영역의 이름을 선택합니다.

  6. [Create Record Set]를 선택합니다.

  7. 도메인에 대한 항목을 생성합니다(예: myportal.example.com).

    • 유형: A – IPv4 주소

    • 별칭]: 예

    • 별칭 대상: CloudFront 배포 URL

    기타 모든 설정은 기본값을 유지합니다.

참고

Route 53을 사용하여 도메인의 DNS를 관리하지 않는 경우 DNS 서비스 공급자를 사용하고 도메인을 가리키는 DNS 항목을 CloudFront 배포의 URL에 추가합니다.

또는 다음 CloudFormation 템플릿을 사용하여 CloudFront 배포를 생성할 수 있습니다.

이 CloudFormation 템플릿은 CloudFront 배포를 자동으로 생성하고, 역방향 프록시 설정을 구성하고, 선택적으로 Route53 DNS 레코드를 생성합니다.

예 workspaces-web-custom-domain-template.yaml
AWSTemplateFormatVersion: '2010-09-09' Description: 'CloudFront Distribution for custom domain configuration with existing AWS WorkSpaces Secure Browser Portal' Parameters: PortalEndpoint: Type: String Description: 'The endpoint of your existing WorkSpaces Web Portal (e.g., abc123.workspaces-web.com)' AllowedPattern: '^[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)?\.workspaces-web\.com$' ConstraintDescription: 'Must be a valid WorkSpaces Web portal endpoint' CustomDomainName: Type: String Description: 'Custom domain name for the portal (e.g., myportal.example.com)' AllowedPattern: '^([a-zA-Z0-9]?((?!-)([A-Za-z0-9-]*[A-Za-z0-9])\.)+[a-zA-Z0-9]+)$' ConstraintDescription: 'Must be a valid domain name' CertificateArn: Type: String Description: 'ARN of the validated SSL certificate in ACM (must be in us-east-1 region for CloudFront)' AllowedPattern: 'arn:aws:acm:us-east-1:[0-9]{12}:certificate/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}' ConstraintDescription: 'Must be a valid ACM certificate ARN in us-east-1 region' CreateRoute53Record: Type: String Description: 'Create Route53 record for custom domain (requires existing hosted zone)' Default: 'No' AllowedValues: - 'Yes' - 'No' HostedZoneId: Type: String Description: 'Route53 Hosted Zone ID for the custom domain (required if creating Route53 record)' Default: '' Conditions: ShouldCreateRoute53Record: !And - !Equals [!Ref CreateRoute53Record, 'Yes'] - !Not [!Equals [!Ref HostedZoneId, '']] Resources: # CloudFront Distribution CloudFrontDistribution: Type: AWS::CloudFront::Distribution Properties: DistributionConfig: Aliases: - !Ref CustomDomainName Comment: !Sub 'CloudFront distribution for WorkSpaces Web Portal - ${CustomDomainName}' Enabled: true HttpVersion: http2 IPV6Enabled: false # WorkSpaces Secure Browser does not support IPv6 PriceClass: PriceClass_All # Origin Configuration Origins: - Id: WorkSpacesWebOrigin DomainName: !Ref PortalEndpoint CustomOriginConfig: HTTPSPort: 443 OriginProtocolPolicy: https-only OriginSSLProtocols: - TLSv1.2 OriginCustomHeaders: - HeaderName: workspacessecurebrowser-custom-domain HeaderValue: !Ref CustomDomainName # Default Cache Behavior DefaultCacheBehavior: TargetOriginId: WorkSpacesWebOrigin ViewerProtocolPolicy: https-only AllowedMethods: - GET - HEAD - OPTIONS - PUT - POST - PATCH - DELETE Compress: false # Cache Policy: CachingDisabled (using predefined managed policy) CachePolicyId: 4135ea2d-6df8-44a3-9df3-4b5a84be39ad # Origin Request Policy: AllViewerExceptHostHeader (using predefined managed policy) OriginRequestPolicyId: b689b0a8-53d0-40ab-baf2-68738e2966ac # SSL Configuration ViewerCertificate: AcmCertificateArn: !Ref CertificateArn SslSupportMethod: sni-only MinimumProtocolVersion: TLSv1.2_2021 Tags: - Key: Name Value: !Sub '${AWS::StackName}-cloudfront' # Route 53 Record (optional - requires hosted zone to exist) Route53Record: Type: AWS::Route53::RecordSet Condition: ShouldCreateRoute53Record Properties: HostedZoneId: !Ref HostedZoneId Name: !Ref CustomDomainName Type: A AliasTarget: DNSName: !GetAtt CloudFrontDistribution.DomainName HostedZoneId: Z2FDTNDATAQYW2 # CloudFront Hosted Zone ID EvaluateTargetHealth: false Outputs: PortalEndpoint: Description: 'WorkSpaces Web Portal endpoint used as origin' Value: !Ref PortalEndpoint Export: Name: !Sub '${AWS::StackName}-PortalEndpoint' CustomDomainEndpoint: Description: 'Custom domain endpoint for the portal' Value: !Sub 'https://${CustomDomainName}' Export: Name: !Sub '${AWS::StackName}-CustomDomainEndpoint' CloudFrontDistributionId: Description: 'CloudFront Distribution ID' Value: !Ref CloudFrontDistribution Export: Name: !Sub '${AWS::StackName}-CloudFrontDistributionId' CloudFrontDomainName: Description: 'CloudFront Distribution Domain Name' Value: !GetAtt CloudFrontDistribution.DomainName Export: Name: !Sub '${AWS::StackName}-CloudFrontDomainName' CertificateArn: Description: 'SSL Certificate ARN used by CloudFront' Value: !Ref CertificateArn Export: Name: !Sub '${AWS::StackName}-CertificateArn' Metadata: AWS::CloudFormation::Interface: ParameterGroups: - Label: default: "Existing Portal Configuration" Parameters: - PortalEndpoint - Label: default: "Custom Domain Configuration" Parameters: - CustomDomainName - CertificateArn - CreateRoute53Record - HostedZoneId ParameterLabels: PortalEndpoint: default: "Portal Endpoint" CustomDomainName: default: "Custom Domain Name" CertificateArn: default: "SSL Certificate ARN" CreateRoute53Record: default: "Create Route53 Record" HostedZoneId: default: "Hosted Zone ID"

이 템플릿을 사용하려면:

  1. 위의 템플릿을 로 저장 workspaces-web-custom-domain-template.yaml

  2. 특정 파라미터 값과 함께 AWS 콘솔, AWS CLI 또는 AWS SDK를 사용하여 배포

  3. 배포 후 아래 4단계에 설명된 대로 사용자 지정 도메인으로 포털을 구성합니다.

포털 구성

AWS 콘솔, UpdatePortal API 또는 update-portal AWS CLI 명령을 사용하여 사용자 지정 도메인을 포털 설정 속성으로 등록합니다.

  1. WorkSpaces Secure Browser 콘솔(https://console.aws.amazon.com/workspaces-web/home)을 엽니다.

  2. 탐색 창에서 웹 포털을 선택합니다.

  3. 구성할 웹 포털을 선택하고 편집을 선택합니다.

  4. 포털 설정에서 사용자 지정 도메인을 추가합니다.

  5. 포털 구성을 저장합니다.

구성 테스트

구성을 테스트하려면 다음 단계를 따릅니다.

  1. 웹 브라우저를 열고 사용자 지정 도메인의 URL(예: https://myportal.example.com)로 이동합니다.

  2. 모든 것이 올바르게 설정된 경우 포털의 로그인 페이지가 표시됩니다.

  3. 그런 다음 브라우저에 포털 URL을 입력합니다. IdP에 로그인한 후 사용자 지정 도메인으로 리디렉션되어야 합니다.

  4. 마지막으로 IdP에 로그인하고 포털의 애플리케이션 타일을 클릭합니다. 사용자 지정 도메인으로 리디렉션되어야 합니다.