Active Directory 작업의 모범 사례
다음은 Amazon FSx for NetApp ONTAP SVM을 자체 관리형 Microsoft Active Directory에 조인할 때 고려해야 할 몇 가지 제안 및 지침입니다. 이는 모범 사례로 권장되지만 필수 사항은 아닙니다.
주제
Amazon FSx 서비스 계정에 권한 위임
Amazon FSx에 제공하는 서비스 계정을 필요한 최소 권한으로 구성해야 합니다. 또한 조직 단위(OU)를 다른 도메인 컨트롤러 문제와 분리합니다.
Amazon FSx SVM을 도메인에 조인하려면 서비스 계정에 권한이 위임되었는지 확인해야 합니다. Domain Admins 그룹의 구성원은 이 작업을 수행할 수 있는 충분한 권한을 가지고 있습니다. 그러나 이 작업에 필요한 최소 권한만을 가진 서비스 계정을 사용하는 것이 모범 사례입니다. 다음 절차는 FSx for ONTAP SVM을 도메인에 조인하는 데 필요한 권한만 위임하는 방법을 보여줍니다.
이 절차는 디렉터리에 조인되고 Active Directory User and Computers MMC 스냅인이 설치된 머신에서 수행합니다.
Microsoft Active Directory 도메인의 서비스 계정을 생성하려면
Microsoft Active Directory 도메인의 도메인 관리자로 로그인했는지 확인합니다.
-
Active Directory User and Computers MMC 스냅인을 엽니다.
작업 창에서 도메인 노드를 확장합니다.
-
수정하려는 OU에 대한 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 찾아 연 다음 제어 위임을 선택합니다.
-
제어 위임 마법사 페이지에서 다음을 선택합니다.
-
추가를 선택하여 선택된 사용자 및 그룹에 특정 사용자 또는 특정 그룹을 추가한 후 다음을 선택합니다.
-
위임할 작업 페이지에서 위임할 사용자 지정 작업 만들기를 선택하고 다음을 선택합니다.
-
폴더의 다음 객체만을 선택한 후 컴퓨터 객체를 선택합니다.
-
이 폴더에서 선택한 객체 생성을 선택한 후 이 폴더에서 선택한 객체 삭제를 선택합니다. 그런 다음 다음을 선택합니다.
-
이러한 권한 표시에서 일반 및 속성별 이 선택되어 있는지 확인합니다.
-
권한에서 다음을 선택합니다.
-
암호 재설정
-
읽기 및 쓰기 계정 제한
-
DNS 호스트 이름에 대한 검증된 쓰기
-
서비스 보안 주체 이름에 대한 검증된 쓰기
msDS -SupportedEncryptionTypes 쓰기
-
-
다음을 선택한 후 완료를 선택합니다.
-
Active Directory User and Computers MMC 스냅인을 닫습니다.
중요
SVM이 생성된 후 Amazon FSx가 OU에 생성한 컴퓨터 객체를 이동하지 않습니다. 그러면 SVM이 잘못 구성될 수 있습니다.
Amazon FSx를 사용하여 Active Directory 구성을 최신 상태로 유지
Amazon FSx SVM을 중단 없이 사용할 수 있도록 하려면 자체 관리형 AD 설정을 변경할 때 SVM의 자체 관리형 Active Directory(AD) 구성을 업데이트합니다.
예를 들어 AD가 시간 기반 암호 재설정 정책을 사용한다고 가정합니다. 이 경우 암호가 재설정되는 즉시 Amazon FSx로 서비스 계정 암호를 업데이트해야 합니다. 이 작업을 수행하려면 Amazon FSx 콘솔, Amazon FSx API 또는 AWS CLI를 사용합니다. 마찬가지로 Active Directory 도메인의 DNS 서버 IP 주소가 변경되는 경우 변경이 발생하는 즉시 Amazon FSx로 DNS 서버 IP 주소를 업데이트합니다.
업데이트된 자체 관리형 Active Directory 구성에 문제가 있는 경우 SVM 상태가 잘못 구성됨으로 전환됩니다. 이 상태에는 콘솔, API 및 CLI의 SVM 설명 옆에 오류 메시지와 권장 조치가 표시됩니다. SVM의 AD 구성에 문제가 발생하는 경우 구성 속성에 대해 권장되는 수정 조치를 취해야 합니다. 문제가 해결되면 SVM의 상태가 생성됨으로 변경되는지 확인합니다.
자세한 내용은 AWS Management 콘솔, AWS CLI 및 API를 사용하여 기존 SVM Active Directory 구성 업데이트하기 및 ONTAP CLI를 사용하여 Active Directory 구성 수정 섹션을 참조하세요.
보안 그룹을 사용하여 VPC 내 트래픽 제한
Virtual Private Cloud(VPC)에서 네트워크 트래픽을 제한하기 위해 VPC에 최소 권한 원칙을 구현할 수 있습니다. 다시 말해, 권한을 필요한 최소 권한으로 제한할 수 있습니다. 이렇게 하려면 보안 그룹 규칙을 사용합니다. 자세한 내용은 Amazon VPC 보안 그룹를 참조하세요.
파일 시스템의 네트워크 인터페이스에 대한 아웃바운드 보안 그룹 규칙 생성
보안을 강화하려면 아웃바운드 트래픽 규칙을 사용하여 보안 그룹을 구성하는 것이 좋습니다. 이러한 규칙은 아웃바운드 트래픽을 자체 관리형 AD 도메인 컨트롤러에만 허용하거나 서브넷 또는 보안 그룹 내에서만 허용해야 합니다. Amazon FSx 파일 시스템의 탄력적 네트워크 인터페이스와 연결된 VPC에 이 보안 그룹을 적용합니다. 자세한 내용은 Amazon VPC를 사용한 파일 시스템 액세스 제어를 참조하세요.
AWS Secrets Manager를 사용하여 Active Directory 자격 증명 저장
AWS Secrets Manager를 사용하여 Microsoft Active Directory 도메인 조인 서비스 계정 자격 증명을 안전하게 저장하고 관리할 수 있습니다. 이 접근 방식을 사용하면 애플리케이션 코드 또는 구성 파일에 민감한 자격 증명을 일반 텍스트로 저장할 필요가 없으므로 보안 태세가 강화됩니다.
보안 암호에 대한 액세스를 관리하도록 IAM 정책을 구성하고 암호에 대한 자동 교체 정책을 설정할 수도 있습니다.
1단계: KMS 키 생성
KMS 키를 생성하여 Secrets Manager에서 Active Directory 자격 증명을 암호화하고 해독합니다.
키 생성
참고
암호화 키의 경우, AWS 기본 KMS 키를 사용하지 말고 신규 키를 생성하세요. Active Directory에 조인하려는 SVM이 포함된 동일한 리전에서 AWS KMS key을 생성해야 합니다.
https://console.aws.amazon.com/kms에서 AWS KMS 콘솔을 엽니다.
-
키 생성을 선택합니다.
-
키 유형에 대해 대칭을 선택합니다.
-
키 사용에서 암호화 및 암호 해독을 선택합니다.
-
고급 옵션에서 다음을 수행합니다.
-
키 구성 요소 오리진에서 KMS를 선택합니다.
-
리전 구분에서 단일 리전 키를 선택하고 다음을 선택합니다.
-
-
다음을 선택합니다.
-
별칭의 경우 KMS 키의 이름을 입력합니다.
-
(선택 사항) 설명에 KMS 키에 대한 설명을 입력합니다.
-
(선택 사항) 태그의 경우 KMS 키에 태그를 지정하고 다음을 선택합니다.
-
(선택 사항) 키 관리자의 경우 이 키를 관리할 권한이 있는 IAM 사용자 및 역할을 제공합니다.
-
키 삭제의 경우 키 관리자가 이 키를 삭제하도록 허용 확인란을 선택한 상태로 유지하고 다음을 선택합니다.
-
(선택 사항) 키 사용자의 경우 암호화 작업에 이 키를 사용할 권한이 있는 IAM 사용자 및 역할을 제공합니다. 다음을 선택합니다.
-
키 정책의 경우 편집을 선택하고 정책 설명에 다음을 포함하여 Amazon FSx가 KMS 키를 사용하도록 허용하고 다음을 선택합니다.
us-west-2를 파일 시스템이 배포된 AWS 리전으로 바꾸고123456789012를 AWS 계정 ID로 바꿔야 합니다.{ "Sid": "Allow FSx to use the KMS key", "Version": "2012-10-17", "Effect": "Allow", "Principal": { "Service": "fsx.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key:*", "Condition": { "StringEquals": { "kms:EncryptionContext:SecretARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:*", "kms:ViaService": "secretsmanager.us-west-2.amazonaws.com", "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:fsx:us-west-2:123456789012:file-system/*" } } } -
마침을 클릭합니다.
참고
특정 보안 암호 및 파일 시스템을 대상으로 Resource 및 aws:SourceArn 필드를 수정하여 보다 세분화된 액세스 제어를 설정할 수 있습니다.
2단계: AWS Secrets Manager 보안 암호 생성
보안 암호 생성
-
https://console.aws.amazon.com/secretsmanager/
에서 Secrets Manager 콘솔을 엽니다. -
Store a new secret(새 보안 암호 저장)을 선택합니다.
-
보안 암호 유형에서 다른 유형의 보안 암호를 선택합니다.
-
키/값 쌍의 경우 다음을 수행하여 2개의 키를 추가합니다.
-
첫 번째 키에는
CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME를 입력합니다. -
첫 번째 키 값에는 AD 사용자의 사용자 이름(도메인 접두사 제외)만 입력합니다.
-
두 번째 키에는
CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD를 입력합니다. -
두 번째 키의 값으로 도메인의 AD 사용자에 대해 생성한 암호를 입력합니다.
-
-
암호화 키에는 이전 단계에서 생성한 KMS 키의 ARN을 입력하고 다음을 선택합니다.
-
보안 암호 이름에는 나중에 암호를 찾는 데 도움이 되는 설명이 포함된 이름을 입력합니다.
-
(선택 사항) 설명에 보안 암호 이름에 대한 설명을 입력합니다.
-
리소스 권한의 경우 편집을 선택합니다.
권한 정책에 다음 정책을 추가하여 Amazon FSx가 보안 암호를 사용하도록 허용한 후 다음을 선택합니다.
us-west-2를 파일 시스템이 배포된 AWS 리전으로 바꾸고123456789012를 AWS 계정 ID로 바꿔야 합니다.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "fsx.amazonaws.com" }, "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": "arn:aws:secretsmanager:us-west-2:123456789012:secret:*", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:fsx:us-west-2:123456789012:file-system/*" } } } ] } -
(선택 사항) 자격 증명을 자동으로 교체하도록 Secrets Manager를 구성할 수 있습니다. 다음을 선택합니다.
-
마침을 클릭합니다.
1단계: KMS 키 생성
KMS 키를 생성하여 Secrets Manager에서 Active Directory 자격 증명을 암호화하고 해독합니다.
KMS 키를 생성하기 위해 AWS CLI 명령 create-key를 사용합니다.
이 명령에서 --policy 파라미터를 설정하여 KMS 키에 대한 권한을 정의하는 키 정책을 지정합니다. 정책이 다음을 포함해야 합니다.
-
Amazon FSx의 서비스 위탁자(
fsx.amazonaws.com). -
필수 KMS 작업:
kms:Decrypt및kms:DescribeKey. -
AWS 리전 및 계정에 대한 리소스 ARN 패턴입니다.
-
키 사용을 제한하는 조건 키:
-
kms:ViaService- Secrets Manager를 통해 요청이 들어오도록 함. -
aws:SourceAccount키로 사용자 계정으로 제한합니다. -
aws:SourceArn키로 특정 Amazon FSx 파일 시스템으로 제한합니다.
-
다음 예제에서는 Amazon FSx가 복호화 및 키 설명 작업에 키를 사용하도록 허용하는 정책을 사용하여 대칭 암호화 KMS 키를 생성합니다. 명령은 AWS 계정 ID와 리전을 자동으로 검색한 다음 이러한 값으로 키 정책을 구성하여 Amazon FSx, Secrets Manager 및 KMS 키 간의 적절한 액세스 제어를 보장합니다. AWS CLI 환경이 Active Directory에 조인할 SVM과 동일한 리전에 있는지 확인합니다.
# Set region and get Account ID REGION=${AWS_REGION:-$(aws configure get region)} ACCOUNT_ID=$(aws sts get-caller-identity --query 'Account' --output text) # Create Key KMS_KEY_ARN=$(aws kms create-key --policy "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Sid\": \"Enable IAM User Permissions\", \"Effect\": \"Allow\", \"Principal\": { \"AWS\": \"arn:aws:iam::$ACCOUNT_ID:root\" }, \"Action\": \"kms:*\", \"Resource\": \"*\" }, { \"Sid\": \"Allow FSx to use the KMS key\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"fsx.amazonaws.com\" }, \"Action\": [ \"kms:Decrypt\", \"kms:DescribeKey\" ], \"Resource\": \"*\", \"Condition\": { \"StringEquals\": { \"kms:ViaService\": \"secretsmanager.$REGION.amazonaws.com\", \"aws:SourceAccount\": \"$ACCOUNT_ID\" }, \"ArnLike\": { \"aws:SourceArn\": \"arn:aws:fsx:$REGION:$ACCOUNT_ID:file-system/*\" } } } ] }" --query 'KeyMetadata.Arn' --output text) echo "KMS Key ARN: $KMS_KEY_ARN"
참고
특정 보안 암호 및 파일 시스템을 대상으로 Resource 및 aws:SourceArn 필드를 수정하여 보다 세분화된 액세스 제어를 설정할 수 있습니다.
2단계: AWS Secrets Manager 보안 암호 생성
Amazon FSx가 Active Directory에 액세스할 수 있는 보안 암호를 생성하려면 AWS CLI 명령 create-secret을 사용하고 다음 파라미터를 설정합니다.
-
--name: 보안 암호의 식별자입니다. -
--description: 보안 암호의 용도에 대한 설명입니다. -
--kms-key-id: 저장 시 보안 암호를 암호화하기 위해 1단계에서 생성한 KMS 키의 ARN입니다. -
--secret-string: AD 자격 증명을 다음 형식으로 포함하는 JSON 문자열입니다.-
CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME:svc-fsx와 같이 도메인 접두사가 없는 AD 서비스 계정 사용자 이름입니다.CORP\svc-fsx와 같은 도메인 접두사를 제공하지 마세요. -
CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD: AD 서비스 계정 암호
-
-
--region: SVM이 생성될 AWS 리전입니다.AWS_REGION이 설정되지 않은 경우 기본적으로 구성된 리전으로 설정됩니다.
보안 암호를 생성한 후 put-resource-policy 명령을 사용하여 리소스 정책을 연결하고 다음 파라미터를 설정합니다.
-
--secret-id: 정책을 연결할 보안 암호의 이름 또는 ARN입니다. 다음 예제에서는FSxSecret을--secret-id로 사용합니다. -
--region: 보안 암호와 동일한 AWS 리전입니다. -
--resource-policy: 보안 암호에 액세스할 수 있는 권한을 Amazon FSx에 부여하는 JSON 정책 문서입니다. 정책이 다음을 포함해야 합니다.-
Amazon FSx의 서비스 위탁자(
fsx.amazonaws.com). -
필수 Secrets Manager 작업:
secretsmanager:GetSecretValue및secretsmanager:DescribeSecret. -
AWS 리전 및 계정에 대한 리소스 ARN 패턴입니다.
-
액세스를 제한하는 다음 조건 키:
-
aws:SourceAccount키로 사용자 계정으로 제한합니다. -
aws:SourceArn키로 특정 Amazon FSx 파일 시스템으로 제한합니다.
-
-
다음 예제에서는 필수 형식으로 보안 암호를 생성하고 Amazon FSx가 보안 암호를 사용하도록 허용하는 리소스 정책을 연결합니다. 이 예제에서는 AWS 계정 ID와 리전을 자동으로 검색한 다음 Amazon FSx와 보안 암호 간에 적절한 액세스 제어를 보장하기 위해 이러한 값으로 리소스 정책을 구성합니다.
KMS_KEY_ARN을 1단계에서 생성한 키의 ARN으로 바꾸고 CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME 및 CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD를 Active Directory 서비스 계정 자격 증명으로 바꿔야 합니다. 또한 Active Directory에 조인할 SVM과 동일한 리전에 대해 AWS CLI 환경이 구성되어 있는지 확인합니다.
# Set region and get account ID REGION=${AWS_REGION:-$(aws configure get region)} ACCOUNT_ID=$(aws sts get-caller-identity --query 'Account' --output text) # Replace with your KMS key ARN from Step 1 KMS_KEY_ARN="arn:aws:kms:us-east-2:123456789012:key/1234542f-d114-555b-9ade-fec3c9200d8e" # Replace with your Active Directory credentials AD_USERNAME="Your_Username" AD_PASSWORD="Your_Password" # Create the secret SECRET_ARN=$(aws secretsmanager create-secret \ --name "FSxSecret" \ --description "Secret for FSx access" \ --kms-key-id "$KMS_KEY_ARN" \ --secret-string "{\"CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME\":\"$AD_USERNAME\",\"CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD\":\"$AD_PASSWORD\"}" \ --region "$REGION" \ --query 'ARN' \ --output text) echo "Secret created with ARN: $SECRET_ARN" # Attach the resource policy with proper formatting aws secretsmanager put-resource-policy \ --secret-id "FSxSecret" \ --region "$REGION" \ --resource-policy "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"fsx.amazonaws.com\" }, \"Action\": [ \"secretsmanager:GetSecretValue\", \"secretsmanager:DescribeSecret\" ], \"Resource\": \"$SECRET_ARN\", \"Condition\": { \"StringEquals\": { \"aws:SourceAccount\": \"$ACCOUNT_ID\" }, \"ArnLike\": { \"aws:SourceArn\": \"arn:aws:fsx:$REGION:$ACCOUNT_ID:file-system/*\" } } } ] }" echo "Resource policy attached successfully"
참고
특정 보안 암호 및 파일 시스템을 대상으로 Resource 및 aws:SourceArn 필드를 수정하여 보다 세분화된 액세스 제어를 설정할 수 있습니다.