Amazon EC2 Linux 인스턴스를 AWS Managed Microsoft AD Active Directory에 원활하게 연결 - AWS Directory Service

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

Amazon EC2 Linux 인스턴스를 AWS Managed Microsoft AD Active Directory에 원활하게 연결

이 절차는 Amazon EC2 Linux 인스턴스를 AWS Managed Microsoft AD Active Directory에 원활하게 조인합니다. 여러 AWS 계정에서 원활한 도메인 조인을 수행해야 하는 경우 선택적으로 디렉터리 공유를 활성화하도록 선택할 수 있습니다.

다음과 같은 Linux 인스턴스 배포판과 버전이 지원됩니다.

  • Amazon Linux AMI 2018.03.0

  • Amazon Linux 2(64비트 x86)

  • Red Hat Enterprise Linux 8(HVM)(64비트 x86)

  • Ubuntu Server 18.04 LTS 및 Ubuntu Server 16.04 LTS

  • CentOS 7 x86-64

  • SUSE Linux Enterprise Server 15 SP1

참고

Ubuntu 14 및 Red Hat Enterprise Linux 7 이전의 배포판은 원활한 도메인 조인 기능을 지원하지 않습니다.

Linux 인스턴스를 AWS Managed Microsoft AD Active Directory에 원활하게 연결하는 프로세스에 대한 데모는 다음 YouTube 비디오를 참조하세요.

사전 조건

Linux 인스턴스에 원활한 도메인 조인을 설정하려면 먼저 이 섹션의 절차를 완료해야 합니다.

원활한 도메인 가입 서비스 계정을 선택합니다

Linux 컴퓨터를 AWS Managed Microsoft AD에 원활하게 연결할 수 있습니다.Active Directory 도메인. 이렇게 하려면 컴퓨터 계정 생성 권한이 있는 사용자 계정을 사용하여 컴퓨터를 도메인에 조인해야 합니다. AWS 위임된 관리자 또는 다른 그룹의 구성원은 컴퓨터를 도메인에 조인할 수 있는 충분한 권한을 가질 수 있지만, 이러한 권한은 사용하지 않는 것이 좋습니다. 가장 좋은 방법은 컴퓨터를 도메인에 조인하는 데 필요한 최소 권한이 있는 서비스 계정을 사용하는 것입니다.

컴퓨터에 도메인에 가입하는 데 필요한 최소 권한이 있는 계정을 위임하려면 다음 PowerShell 명령을 실행할 수 있습니다. 도메인에 조인된 Windows 컴퓨터에 AWS Managed Microsoft AD용 Active Directory 관리 도구 설치이(가) 설치되어 있는 상태에서 이러한 명령을 실행해야 합니다. 또한 컴퓨터 OU 또는 컨테이너에 대한 권한을 수정할 권한이 있는 계정을 사용해야 합니다. 이 PowerShell 명령은 서비스 계정이 도메인의 기본 컴퓨터 컨테이너에서 컴퓨터 객체를 생성할 수 있는 권한을 설정합니다.

$AccountName = 'awsSeamlessDomain' # DO NOT modify anything below this comment. # Getting Active Directory information. Import-Module 'ActiveDirectory' $Domain = Get-ADDomain -ErrorAction Stop $BaseDn = $Domain.DistinguishedName $ComputersContainer = $Domain.ComputersContainer $SchemaNamingContext = Get-ADRootDSE | Select-Object -ExpandProperty 'schemaNamingContext' [System.GUID]$ServicePrincipalNameGuid = (Get-ADObject -SearchBase $SchemaNamingContext -Filter { lDAPDisplayName -eq 'Computer' } -Properties 'schemaIDGUID').schemaIDGUID # Getting Service account Information. $AccountProperties = Get-ADUser -Identity $AccountName $AccountSid = New-Object -TypeName 'System.Security.Principal.SecurityIdentifier' $AccountProperties.SID.Value # Getting ACL settings for the Computers container. $ObjectAcl = Get-ACL -Path "AD:\$ComputersContainer" # Setting ACL allowing the service account the ability to create child computer objects in the Computers container. $AddAccessRule = New-Object -TypeName 'System.DirectoryServices.ActiveDirectoryAccessRule' $AccountSid, 'CreateChild', 'Allow', $ServicePrincipalNameGUID, 'All' $ObjectAcl.AddAccessRule($AddAccessRule) Set-ACL -AclObject $ObjectAcl -Path "AD:\$ComputersContainer"

그래픽 사용자 인터페이스(GUI)를 사용하려는 경우 에 설명된 수동 프로세스를 사용할 수 있습니다서비스 계정에 권한 위임.

도메인 서비스 계정을 저장할 보안 암호 생성

를 사용하여 도메인 서비스 계정을 AWS Secrets Manager 저장할 수 있습니다.

보안 암호를 만들고 도메인 서비스 계정 정보를 저장하려면
  1. 에 로그인 AWS Management Console 하고 에서 AWS Secrets Manager 콘솔을 엽니다https://console.aws.amazon.com/secretsmanager/.

  2. 새 보안 암호 저장(Store a new secret)을 선택합니다.

  3. 새 보안 암호 저장(Store a new secret) 페이지에서 다음을 수행합니다.

    1. 암호 유형에서 다른 암호 유형을 선택합니다.

    2. 키/값 페어에서 다음을 수행합니다.

      1. 첫 번째 상자에 awsSeamlessDomainUsername를 입력합니다. 동일한 행의 다음 상자에 서비스 계정의 사용자 이름을 입력합니다. 예를 들어 이전에 PowerShell 명령을 사용한 경우 서비스 계정 이름은 입니다awsSeamlessDomain.

        참고

        있는 그대로 awsSeamlessDomainUsername을 입력해야 합니다. 선행 공백이나 끝 공백이 없어야 합니다. 그렇지 않으면 도메인 조인에 실패합니다.

        AWS Secrets Manager 콘솔의 보안 암호 유형 선택 페이지에서. 다른 유형의 보안 암호는 보안 암호 유형에서 선택되고 키 값으로 입력awsSeamlessDomainUsername됩니다.
      2. Add row(행 추가)를 선택합니다.

      3. 새 행의 첫 번째 상자에 awsSeamlessDomainPassword를 입력합니다. 같은 행의 다음 상자에 서비스 계정의 암호를 입력합니다.

        참고

        있는 그대로 awsSeamlessDomainPassword을 입력해야 합니다. 선행 공백이나 끝 공백이 없어야 합니다. 그렇지 않으면 도메인 조인에 실패합니다.

      4. 암호화 키에서 기본값을 그대로 둡니다aws/secretsmanager. 는 이 옵션을 선택할 때 AWS Secrets Manager 항상 암호를 암호화합니다. 사용자가 생성한 키를 선택할 수도 있습니다.

        참고

        사용하는 보안 암호에 AWS Secrets Manager따라 와 관련된 요금이 있습니다. 현재 기준의 전체적인 요금 목록은 AWS Secrets Manager 요금을 참조하세요.

        aws/secretsmanager Secrets Manager가 생성하는 AWS 관리형 키를 사용하여 보안 암호를 무료로 암호화할 수 있습니다. 암호를 암호화하는 자체 KMS 키를 생성하는 경우 는 현재 AWS KMS 요금으로 AWS 요금을 부과합니다. 자세한 내용은 AWS Key Management Service 요금을 참조하세요.

      5. Next(다음)를 선택합니다.

  4. 보안 암호 이름 에 다음 형식을 사용하여 디렉터리 ID가 포함된 보안 암호 이름을 입력합니다.d-xxxxxxxxx 디렉터리 ID:

    aws/directory-services/d-xxxxxxxxx/seamless-domain-join

    이는 애플리케이션에서 보안 암호를 검색하는 데 사용됩니다.

    참고

    aws/directory-services/d-xxxxxxxxx/seamless-domain-join 그대로 입력해야 하지만 바꿉니다.d-xxxxxxxxxx 디렉터리 ID를 사용합니다. 선행 공백이나 끝 공백이 없어야 합니다. 그렇지 않으면 도메인 가입에 실패합니다.

    AWS Secrets Manager 콘솔의 보안 암호 구성 페이지에서 보안 암호 이름이 입력되고 강조 표시됩니다.
  5. 다른 모든 항목은 기본값으로 설정한 후 Next(다음)를 선택합니다.

  6. Configure automatic rotation(자동 교체 구성)Disable automatic rotation(자동 교체 사용 안 함)으로 선택하고 Next(다음)를 선택합니다.

    이 보안 암호를 저장한 후 교체를 켤 수 있습니다.

  7. 설정을 검토한 다음 Store(저장)를 선택하여 변경 내용을 저장합니다. 이제 Secrets Manager 콘솔에서 새 보안 암호가 목록에 포함된 계정의 보안 암호 목록으로 돌아갑니다.

  8. 목록에서 새로 생성한 보안 암호 이름을 선택하고 보안 암호 ARN 값을 기록해 둡니다. 다음 섹션에서 이 값을 사용하게 됩니다.

도메인 서비스 계정 보안 암호의 교체 켜기

보안 태세를 개선하기 위해 보안 암호를 정기적으로 교체하는 것이 좋습니다.

도메인 서비스 계정 보안 암호의 교체를 켜려면

필요한 IAM 정책 및 역할 생성

다음 사전 조건 단계를 사용하여 Secrets Manager 심리스 도메인 조인 보안 암호(이전에 생성한)에 대한 읽기 전용 액세스를 허용하는 사용자 지정 정책을 생성하고 새 LinuxEC2DomainJoin IAM 역할을 생성합니다.

Secrets Manager IAM 읽기 정책 생성

IAM 콘솔을 사용하여 Secrets Manager 보안 암호에 대한 읽기 전용 액세스 권한을 부여하는 정책을 생성합니다.

Secrets Manager IAM 읽기 정책을 생성하려면
  1. IAM 정책을 생성할 권한이 있는 사용자 AWS Management Console 로 에 로그인합니다. 그런 다음 에서 IAM 콘솔을 엽니다https://console.aws.amazon.com/iam/.

  2. 탐색 창의 액세스 관리 에서 정책 을 선택합니다.

  3. 정책 생성을 선택합니다.

  4. JSON 탭을 선택하고 다음 JSON 정책 문서에서 텍스트를 복사합니다. 그런 다음 JSON 텍스트 상자에 붙여 넣습니다.

    참고

    리전 및 리소스를 이전에 생성한 보안 암호ARN의 실제 리전 및 ARN 로 바꾸어야 합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": [ "arn:aws:secretsmanager:us-east-1:xxxxxxxxx:secret:aws/directory-services/d-xxxxxxxxx/seamless-domain-join" ] } ] }
  5. 마쳤으면 [Next]를 선택합니다. 정책 검사기가 모든 구문 오류를 보고합니다. 자세한 내용은 IAM 정책 검증을 참조하세요.

  6. Review policy(정책 검토) 페이지에서 SM-Secret-Linux-DJ-d-xxxxxxxxxx-Read와 같은 정책의 이름을 입력합니다. Summary(요약)을 검토하여 정책이 부여하는 권한을 확인합니다. 그런 다음 Create policy(정책 생성)를 선택하여 변경 내용을 저장합니다. 새로운 정책이 관리형 정책 목록에 나타나며 ID 연결 준비가 완료됩니다.

참고

보안 암호당 정책을 하나씩 생성하는 것이 좋습니다. 이렇게 하면 인스턴스가 적절한 보안 암호에만 액세스할 수 있고 인스턴스가 손상될 경우 미치는 영향이 최소화됩니다.

LinuxEC2DomainJoin 역할 생성

IAM 콘솔을 사용하여 Linux EC2 인스턴스를 도메인 조인하는 데 사용할 역할을 생성합니다.

LinuxEC2DomainJoin 역할을 생성하려면
  1. IAM 정책을 생성할 권한이 있는 사용자 AWS Management Console 로 에 로그인합니다. 그런 다음 에서 IAM 콘솔을 엽니다https://console.aws.amazon.com/iam/.

  2. 탐색 창의 액세스 관리에서 역할을 선택합니다.

  3. 콘텐츠 창에서 Create role(역할 생성)을 선택합니다.

  4. 신뢰할 수 있는 엔티티 유형 선택 아래에서 AWS 서비스를 선택합니다.

  5. 사용 사례 에서 EC2를 선택한 다음 다음 를 선택합니다.

    IAM 콘솔의 신뢰할 수 있는 엔터티 선택 page. AWS service 및 가 선택EC2됩니다.
  6. Filter policies(필터 정책)의 경우 다음을 수행합니다.

    1. AmazonSSMManagedInstanceCore을 입력합니다. 그런 다음 목록에서 해당 항목의 확인란을 선택합니다.

    2. AmazonSSMDirectoryServiceAccess을 입력합니다. 그런 다음 목록에서 해당 항목의 확인란을 선택합니다.

    3. SM-Secret-Linux-DJ-d-xxxxxxxxxx-Read(또는 이전 절차에서 생성한 IAM 정책의 이름)을(를) 입력합니다. 그런 다음 목록에서 해당 항목의 확인란을 선택합니다.

    4. 위에 나열된 세 가지 정책을 추가한 후 역할 생성 을 선택합니다.

    참고

    는 인스턴스를 에 조인할 수 있는 권한을 mazonSSMDirectoryServiceAccess 제공합니다.Active Directory 에서 관리합니다 AWS Directory Service. 는 AWS Systems Manager 서비스를 사용하는 데 필요한 최소 권한을 mazonSSMManagedInstanceCore 제공합니다. 이러한 권한을 사용하여 역할을 생성하는 방법에 대한 자세한 내용과 IAM 역할에 할당할 수 있는 다른 권한 및 정책에 대한 자세한 내용은 AWS Systems Manager 사용 설명서Systems Manager용 IAM 인스턴스 프로파일 생성을 참조하세요.

  7. 역할 이름 필드에 LinuxEC2DomainJoin 또는 원하는 다른 이름과 같은 새 역할의 이름을 입력합니다.

  8. (선택 사항)역할 설명에 설명을 입력합니다.

  9. (선택 사항) 3단계: 태그 추가에서 새 태그 추가를 선택하여 태그를 추가합니다. 태그 키-값 페어는 이 역할에 대한 액세스를 구성, 추적 또는 제어하는 데 사용됩니다.

  10. 역할 생성을 선택합니다.

Linux 인스턴스에 원활하게 조인

Linux 인스턴스에 원활하게 조인하려면
  1. 에 로그인 AWS Management Console 하고 에서 Amazon EC2 콘솔을 엽니다https://console.aws.amazon.com/ec2/.

  2. 탐색 모음의 리전 선택기에서 기존 디렉터리 AWS 리전 와 동일한 를 선택합니다.

  3. EC2 대시보드 인스턴스 시작 섹션에서 인스턴스 시작 을 선택합니다.

  4. 인스턴스 시작 페이지의 이름 및 태그 섹션에서 Linux EC2 인스턴스에 사용할 이름을 입력합니다.

  5. (선택 사항) 추가 태그 추가를 선택하여 이 EC2 인스턴스에 대한 액세스를 구성, 추적 또는 제어하기 위해 하나 이상의 태그 키-값 페어를 추가합니다.

  6. 애플리케이션 및 OS 이미지(Amazon Machine Image) 섹션에서 시작AMI하려는 Linux를 선택합니다.

    참고

    AMI 사용된 에는 AWS Systems Manager (SSM 에이전트) 버전 2.3.1644.0 이상이 있어야 합니다. 해당 에서 인스턴스를 AMI 시작하여 에 설치된 SSM 에이전트 버전을 확인하려면 현재 설치된 에이전트 버전 가져오기를 AMI참조하세요. SSM SSM 에이전트를 업그레이드해야 하는 경우 Linux용 EC2 인스턴스에 SSM 에이전트 설치 및 구성을 참조하세요.

    SSM 는 Linux 인스턴스를 에 조인할 때 aws:domainJoin 플러그인을 사용합니다.Active Directory 도메인. 플러그인은 Linux 인스턴스의 호스트 이름을 EC2AMAZ- 형식으로 변경합니다.XXXXXXX. 에 대한 자세한 내용은 AWS Systems Manager 사용 설명서AWS Systems Manager 명령 문서 플러그인 참조aws:domainJoin참조하세요.

  7. 인스턴스 유형 섹션의 인스턴스 유형 드롭다운 목록에서 사용하려는 인스턴스 유형을 선택합니다.

  8. 키 페어(로그인) 섹션에서 새 키 페어 생성을 선택하거나 기존 키 페어에서 선택할 수 있습니다. 새로운 키 페어를 생성하려면 새 키 페어 생성을 선택합니다. 키 페어의 이름을 입력하고 키 페어 유형프라이빗 키 파일 형식에 대한 옵션을 선택합니다. 프라이빗 키를 Open 에 사용할 수 있는 형식으로 저장하려면 .pem 을 SSH선택합니다. 프라이빗 키를 Pu 에 사용할 수 있는 형식으로 저장하려면 .ppk 를 TTY선택합니다. Create key pair(키 페어 생성)를 선택합니다. 브라우저에서 프라이빗 키 파일이 자동으로 다운로드됩니다. 안전한 장소에 프라이빗 키 파일을 저장합니다.

    중요

    이때가 사용자가 프라이빗 키 파일을 저장할 수 있는 유일한 기회입니다.

  9. 인스턴스 시작 페이지의 네트워크 설정 섹션에서 편집을 선택합니다. VPC - 필수 드롭다운 목록에서 디렉터리VPC가 생성된 을 선택합니다.

  10. 서브넷 드롭다운 목록에서 의 퍼블릭 VPC 서브넷 중 하나를 선택합니다. 선택한 서브넷에서는 인터넷 게이트웨이로 모든 외부 트래픽이 라우팅되어야 합니다. 그렇지 않으면 인스턴스를 원격으로 연결할 수 없게 됩니다.

    인터넷 게이트웨이에 연결하는 방법에 대한 자세한 내용은 Amazon VPC 사용 설명서인터넷 게이트웨이를 사용하여 인터넷에 연결을 참조하세요.

  11. Auto-assign Public IP(퍼블릭 IP 자동 할당)에서 Enable(활성화)을 선택합니다.

    퍼블릭 및 프라이빗 IP 주소 지정에 대한 자세한 내용은 Amazon 사용 설명서의 Amazon EC2 인스턴스 IP 주소를 참조하세요. EC2

  12. 방화벽(보안 그룹) 설정의 경우 기본 설정을 사용하거나 필요에 맞게 변경할 수 있습니다.

  13. 스토리지 구성 설정의 경우 기본 설정을 사용하거나 필요에 맞게 변경할 수 있습니다.

  14. 고급 세부 정보 섹션을 선택하고 도메인 조인 디렉터리 드롭다운 목록에서 도메인을 선택합니다.

    참고

    도메인 조인 디렉터리를 선택하면 다음이 표시될 수 있습니다.

    도메인 조인 디렉터리를 선택할 때 오류 메시지가 표시됩니다. 기존 SSM 문서에 오류가 있습니다.

    이 오류는 EC2 시작 마법사가 예기치 않은 속성이 있는 기존 SSM 문서를 식별하는 경우 발생합니다. 다음 중 하나를 수행할 수 있습니다.

    • 이전에 SSM 문서를 편집했는데 속성이 예상되는 경우 닫기를 선택하고 변경 없이 EC2 인스턴스를 시작합니다.

    • 기존 SSM 문서 삭제 링크를 선택하여 SSM 문서를 삭제합니다. 이렇게 하면 속성이 올바른 SSM 문서를 생성할 수 있습니다. EC2 인스턴스를 시작하면 SSM 문서가 자동으로 생성됩니다.

  15. IAM 인스턴스 프로파일 의 경우 사전 조건 섹션 2단계: Linux IAM 역할 생성 에서 이전에 생성한 역할을 선택합니다. EC2DomainJoin

  16. 인스턴스 시작을 선택합니다.

참고

SUSE Linux에서 원활한 도메인 조인을 수행하는 경우 인증이 작동하려면 재부팅이 필요합니다. Linux 터미널SUSE에서 재부팅하려면 sudo 재부팅 을 입력합니다.