기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Deadline Cloud의 보안 모범 사례
AWS Deadline Cloud(Deadline Cloud)는 자체 보안 정책을 개발하고 구현할 때 고려해야 할 여러 보안 기능을 제공합니다. 다음 모범 사례는 일반적인 지침이며 완벽한 보안 솔루션을 나타내지는 않습니다. 이러한 모범 사례는 환경에 적절하지 않거나 충분하지 않을 수 있으므로 참고용으로만 사용해 주십시오.
참고
여러 보안 주제의 중요성에 대한 자세한 내용은 공동 책임 모델 섹션을
데이터 보호
데이터 보호를 위해 AWS 계정 보안 인증 정보를 보호하고 AWS Identity and Access Management ()를 사용하여 개별 계정을 설정하는 것이 좋습니다IAM. 이렇게 하면 개별 사용자에게 자신의 직무를 충실히 이행하는 데 필요한 권한만 부여됩니다. 또한 다음과 같은 방법으로 데이터를 보호하는 것이 좋습니다.
-
각 계정에 다단계 인증(MFA)을 사용합니다.
-
SSL/TLS를 사용하여 AWS 리소스와 통신합니다. TLS 1.2가 필요하며 TLS 1.3을 권장합니다.
-
를 사용하여 API 및 사용자 활동 로깅을 설정합니다 AWS CloudTrail.
-
AWS 암호화 솔루션과 내의 모든 기본 보안 제어를 사용합니다 AWS 서비스.
-
Amazon Simple Storage Service(S3)에 저장된 개인 데이터를 검색하고 보호하는 데 도움이 되는 Amazon Macie와 같은 고급 관리형 보안 서비스를 사용합니다.
-
명령줄 인터페이스 또는 FIPS 를 통해 에 액세스할 AWS 때 140-2개의 검증된 암호화 모듈이 필요한 경우 FIPS 엔드포인트를 API사용합니다. 사용 가능한 FIPS 엔드포인트에 대한 자세한 내용은 연방 정보 처리 표준(FIPS) 140-2
를 참조하세요.
이름 필드와 같은 자유 형식 필드에 고객 계정 번호와 같은 중요 식별 정보를 절대 입력하지 마십시오. 여기에는 콘솔, 또는 를 AWS 서비스 사용하여 AWS Deadline Cloud 또는 기타 를 사용하는 경우가 포함됩니다API AWS CLI AWS SDKs. Deadline Cloud 또는 기타 서비스에 입력하는 모든 데이터는 진단 로그에 포함되도록 선택될 수 있습니다. 외부 서버에 URL를 제공할 때 해당 서버에 대한 요청을 검증URL하기 위해 에 보안 인증 정보를 포함하지 마세요.
AWS Identity and Access Management 권한
사용자, AWS Identity and Access Management (IAM) 역할을 사용하고 사용자에게 최소 권한을 부여하여 AWS 리소스에 대한 액세스를 관리합니다. AWS 액세스 자격 증명을 생성, 배포, 교체 및 취소하기 위한 자격 증명 관리 정책 및 절차를 수립합니다. 자세한 내용은 IAM 사용 설명서의 IAM 모범 사례를 참조하세요.
사용자 및 그룹으로 작업 실행
Deadline Cloud에서 대기열 기능을 사용하는 경우 OS 사용자에게 대기열 작업에 대한 최소 권한 권한이 있도록 운영 체제(OS) 사용자와 기본 그룹을 지정하는 것이 좋습니다.
“사용자로 실행”(및 그룹)을 지정하면 대기열에 제출된 작업에 대한 모든 프로세스가 해당 OS 사용자를 사용하여 실행되고 해당 사용자의 관련 OS 권한이 상속됩니다.
플릿 및 대기열 구성이 결합하여 보안 태세를 설정합니다. 대기열 측에서 대기열 작업에 대한 OS 및 권한을 사용하도록 “작업을 사용자로 실행” 및 IAM AWS 역할을 지정할 수 있습니다. 플릿은 특정 대기열에 연결할 때 대기열 내에서 작업을 실행하는 인프라(작업자 호스트, 네트워크, 탑재된 공유 스토리지)를 정의합니다. 작업자 호스트에서 사용할 수 있는 데이터는 하나 이상의 연결된 대기열에서 작업으로 액세스해야 합니다. 사용자 또는 그룹을 지정하면 다른 대기열, 설치된 다른 소프트웨어 또는 작업자 호스트에 액세스할 수 있는 다른 사용자로부터 작업의 데이터를 보호하는 데 도움이 됩니다. 대기열에 사용자가 없는 경우 (sudo
) 대기열 사용자를 가장할 수 있는 에이전트 사용자로 실행됩니다. 이렇게 하면 사용자가 없는 대기열에서 다른 대기열로 권한을 에스컬레이션할 수 있습니다.
네트워킹
트래픽이 가로채거나 리디렉션되지 않도록 하려면 네트워크 트래픽이 라우팅되는 방식과 위치를 보호하는 것이 중요합니다.
다음과 같은 방법으로 네트워킹 환경을 보호하는 것이 좋습니다.
-
Amazon Virtual Private Cloud(Amazon VPC) 서브넷 라우팅 테이블을 보호하여 IP 계층 트래픽이 라우팅되는 방식을 제어합니다.
-
Amazon Route 53(Route 53)을 팜 또는 워크스테이션 설정의 DNS 공급자로 사용하는 경우 Route 53에 대한 액세스를 보호하세요API.
-
온프레미스 워크스테이션 또는 기타 데이터 센터를 사용하는 AWS 등 외부에서 Deadline Cloud에 연결하는 경우 온프레미스 네트워킹 인프라를 보호하세요. 여기에는 라우터, 스위치 및 기타 네트워킹 디바이스의 DNS 서버 및 라우팅 테이블이 포함됩니다.
작업 및 작업 데이터
Deadline Cloud 작업은 작업자 호스트의 세션 내에서 실행됩니다. 각 세션은 작업자 호스트에서 하나 이상의 프로세스를 실행하므로 일반적으로 출력을 생성하려면 데이터를 입력해야 합니다.
이 데이터를 보호하기 위해 대기열을 사용하여 운영 체제 사용자를 구성할 수 있습니다. 작업자 에이전트는 대기열 OS 사용자를 사용하여 세션 하위 프로세스를 실행합니다. 이러한 하위 프로세스는 대기열 OS 사용자의 권한을 상속합니다.
이러한 하위 프로세스가 액세스를 처리하는 데이터에 대한 액세스를 보호하려면 모범 사례를 따르는 것이 좋습니다. 자세한 내용은 공동 책임 모델
팜 구조
Deadline Cloud 플릿과 대기열을 여러 가지 방법으로 정렬할 수 있습니다. 그러나 특정 약정에는 보안에 대한 영향이 있습니다.
팜은 플릿, 대기열, 스토리지 프로필을 포함한 다른 팜과 Deadline Cloud 리소스를 공유할 수 없기 때문에 가장 안전한 경계 중 하나가 있습니다. 그러나 팜 내에서 외부 AWS 리소스를 공유할 수 있으므로 보안 경계가 손상됩니다.
적절한 구성을 사용하여 동일한 팜 내의 대기열 간에 보안 경계를 설정할 수도 있습니다.
다음 모범 사례에 따라 동일한 팜에서 보안 대기열을 생성합니다.
-
플릿을 동일한 보안 경계 내의 대기열과만 연결합니다. 유의할 사항:
-
워커 호스트에서 작업이 실행된 후 임시 디렉터리 또는 대기열 사용자의 홈 디렉터리와 같은 데이터가 뒤쳐질 수 있습니다.
-
작업을 제출하는 대기열에 관계없이 동일한 OS 사용자가 서비스 소유 플릿 워커 호스트에서 모든 작업을 실행합니다.
-
작업이 작업자 호스트에서 실행 중인 프로세스를 그대로 두어 다른 대기열의 작업이 실행 중인 다른 프로세스를 관찰할 수 있습니다.
-
-
동일한 보안 경계 내의 대기열만 작업 첨부를 위해 Amazon S3 버킷을 공유하는지 확인합니다.
-
동일한 보안 경계 내의 대기열만 OS 사용자를 공유하는지 확인합니다.
-
팜에 통합된 다른 모든 AWS 리소스를 경계에 고정합니다.
작업 연결 대기열
작업 첨부 파일은 Amazon S3 버킷을 사용하는 대기열과 연결됩니다.
-
작업 첨부 파일은 Amazon S3 버킷의 루트 접두사에 쓰고 읽습니다.
CreateQueue
API 호출에서 이 루트 접두사를 지정합니다. -
버킷에는 대기열 사용자에게 버킷 및 루트 접두사에 대한 액세스 권한을 부여하는 역할을
Queue Role
지정하는 해당 가 있습니다. 대기열을 생성할 때 작업 첨부 파일 버킷 및 루트 접두사와 함께Queue Role
Amazon 리소스 이름(ARN)을 지정합니다. -
AssumeQueueRoleForRead
,AssumeQueueRoleForUser
및AssumeQueueRoleForWorker
API 작업에 대한 승인된 호출은 에 대한 임시 보안 자격 증명 세트를 반환합니다Queue Role
.
대기열을 생성하고 Amazon S3 버킷 및 루트 접두사를 재사용하면 권한이 없는 당사자에게 정보가 공개될 위험이 있습니다. 예를 들어 QueueA와 QueueB는 동일한 버킷과 루트 접두사를 공유합니다. 보안 워크플로에서 ArtistA는 QueueA에 액세스할 수 있지만 QueueB 액세스할 수 없습니다. 그러나 여러 대기열이 버킷을 공유하는 경우 ArtistA는 QueueB 데이터의 데이터에 액세스할 수 있습니다. QueueA와 동일한 버킷 및 루트 접두사를 사용하기 때문입니다.
콘솔은 기본적으로 안전한 대기열을 설정합니다. 대기열이 공통 보안 경계에 속하지 않는 한, 대기열에 Amazon S3 버킷과 루트 접두사가 서로 다르게 조합되어 있는지 확인합니다.
대기열을 격리하려면 버킷 및 루트 접두사에 대한 대기열 액세스만 허용Queue Role
하도록 를 구성해야 합니다. 다음 예에서는 각각을 바꿉니다.placeholder
리소스별 정보를 포함합니다.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::
JOB_ATTACHMENTS_BUCKET_NAME
", "arn:aws:s3:::JOB_ATTACHMENTS_BUCKET_NAME
/JOB_ATTACHMENTS_ROOT_PREFIX
/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "ACCOUNT_ID
" } } }, { "Action": ["logs:GetLogEvents"], "Effect": "Allow", "Resource": "arn:aws:logs:REGION
:ACCOUNT_ID
:log-group:/aws/deadline/FARM_ID
/*" } ] }
또한 역할에 대한 신뢰 정책을 설정해야 합니다. 다음 예에서는 placeholder
리소스별 정보가 포함된 텍스트입니다.
{ "Version": "2012-10-17", "Statement": [ { "Action": ["sts:AssumeRole"], "Effect": "Allow", "Principal": { "Service": "deadline.amazonaws.com" }, "Condition": { "StringEquals": { "aws:SourceAccount": "
ACCOUNT_ID
" }, "ArnEquals": { "aws:SourceArn": "arn:aws:deadline:REGION
:ACCOUNT_ID
:farm/FARM_ID
" } } }, { "Action": ["sts:AssumeRole"], "Effect": "Allow", "Principal": { "Service": "credentials.deadline.amazonaws.com" }, "Condition": { "StringEquals": { "aws:SourceAccount": "ACCOUNT_ID
" }, "ArnEquals": { "aws:SourceArn": "arn:aws:deadline:REGION
:ACCOUNT_ID
:farm/FARM_ID
" } } } ] }
사용자 지정 소프트웨어 Amazon S3 버킷
에 다음 문Queue Role
을 추가하여 Amazon S3 버킷의 사용자 지정 소프트웨어에 액세스할 수 있습니다. 다음 예에서는 를 바꿉니다.SOFTWARE_BUCKET_NAME
S3 버킷의 이름을 사용합니다.
"Statement": [ { "Action": [ "s3:GetObject", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::
SOFTWARE_BUCKET_NAME
", "arn:aws:s3:::SOFTWARE_BUCKET_NAME
/*" ] } ]
Amazon S3 보안 모범 사례에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서의 Amazon Amazon S3에 대한 보안 모범 사례를 참조하세요.
작업자 호스트
각 사용자가 할당된 역할에 대해서만 작업을 수행할 수 있도록 작업자 호스트를 보호합니다.
작업자 호스트를 보호하려면 다음 모범 사례를 사용하는 것이 좋습니다.
-
대기열에 제출된 작업이 동일한 보안 경계 내에 있지 않는 한 여러 대기열에서 동일한
jobRunAsUser
값을 사용하지 마세요. -
작업자 에이전트가 실행되는 OS 사용자의
jobRunAsUser
이름으로 대기열을 설정하지 마세요. -
의도한 대기열 워크로드에 필요한 최소 권한의 OS 권한을 대기열 사용자에게 부여합니다. 작업 에이전트 프로그램 파일 또는 기타 공유 소프트웨어에 대한 파일 시스템 쓰기 권한이 없는지 확인합니다.
-
의 루트 사용자만 확인 Linux 및 는 에서 계정을
Administrator
소유합니다.Windows 는 작업자 에이전트 프로그램 파일을 소유하고 수정할 수 있습니다. -
켜짐 Linux 작업자 호스트의 경우 작업자 에이전트 사용자가 프로세스를 대기열 사용자로 시작할 수
/etc/sudoers
있도록 에서umask
재정의를 구성하는 것이 좋습니다. 이 구성을 사용하면 다른 사용자가 대기열에 기록된 파일에 액세스할 수 없습니다. -
신뢰할 수 있는 개인에게 작업자 호스트에 대한 최소 권한 액세스 권한을 부여합니다.
-
로컬 DNS 재정의 구성 파일에 대한 권한 제한(
/etc/hosts
on Linux 및C:\Windows\system32\etc\hosts
on Windows) 및 를 사용하여 워크스테이션 및 작업자 호스트 운영 체제에서 테이블을 라우팅합니다. -
워크스테이션 및 작업자 호스트 운영 체제의 DNS 구성에 대한 권한을 제한합니다.
-
운영 체제와 설치된 모든 소프트웨어를 정기적으로 패치합니다. 이 접근 방식에는 제출자, 어댑터, 작업자 에이전트,OpenJD 패키지 및 기타.
-
에 강력한 암호 사용 Windows 대기열.
jobRunAsUser
-
대기열 의 암호를 정기적으로 교체하세요
jobRunAsUser
. -
에 대한 최소 권한 액세스 보장 Windows 암호 보안 암호 및 미사용 보안 암호 삭제.
-
대기열에 향후 실행할
jobRunAsUser
일정 명령을 부여하지 마세요.-
켜짐 Linux에서
cron
및 에 대한 이러한 계정 액세스를 거부합니다at
. -
켜짐 Windows, 에 대한 이러한 계정 액세스를 거부합니다.Windows 작업 스케줄러.
-
참고
운영 체제 및 설치된 소프트웨어를 정기적으로 패치하는 것의 중요성에 대한 자세한 내용은 공동 책임 모델 섹션을
워크스테이션
Deadline Cloud에 액세스할 수 있는 워크스테이션을 보호하는 것이 중요합니다. 이 접근 방식은 Deadline Cloud에 제출하는 모든 작업이 에 청구되는 임의 워크로드를 실행할 수 없도록 하는 데 도움이 됩니다 AWS 계정.
아티스트 워크스테이션을 보호하려면 다음 모범 사례를 사용하는 것이 좋습니다. 자세한 내용은 공동 책임 모델
-
Deadline Cloud를 AWS포함하여 에 대한 액세스를 제공하는 지속적인 보안 인증 정보를 보호합니다. 자세한 내용은 IAM 사용 설명서의 IAM 사용자에 대한 액세스 키 관리를 참조하세요.
-
신뢰할 수 있는 보안 소프트웨어만 설치합니다.
-
사용자가 자격 증명 공급자와 페더레이션하여 임시 자격 증명 AWS 으로 에 액세스하도록 요구합니다.
-
Deadline Cloud 제출자 프로그램 파일에 대한 보안 권한을 사용하여 변조를 방지합니다.
-
신뢰할 수 있는 개인에게 아티스트 워크스테이션에 대한 최소 권한 액세스 권한을 부여합니다.
-
Deadline Cloud Monitor를 통해 얻은 제출자 및 어댑터만 사용합니다.
-
로컬 DNS 재정의 구성 파일에 대한 권한 제한(
/etc/hosts
on Linux 그리고 macOS, 및C:\Windows\system32\etc\hosts
의 Windows) 및 를 사용하여 워크스테이션 및 작업자 호스트 운영 체제에서 테이블을 라우팅합니다. -
워크스테이션 및 작업자 호스트 운영 체제
/etc/resolve.conf
에 대한 권한을 로 제한합니다. -
운영 체제와 설치된 모든 소프트웨어를 정기적으로 패치합니다. 이 접근 방식에는 제출자, 어댑터, 작업자 에이전트,OpenJD 패키지 및 기타.