설명
SageMaker 노트북 인스턴스는 학습 데이터, 전처리 결과와 실험 산출물처럼 민감한 데이터를 다룰 수 있습니다. KMS 키를 지정하지 않아도 SageMaker는 운영체제 볼륨과 ML 데이터 볼륨을 시스템 관리형 키로 암호화합니다. KmsKeyId의 생략을 비암호화 저장으로 판단해서는 안 됩니다.
별도의 키 정책이나 수명주기 통제가 필요한 조직은 ML 데이터 볼륨에 사용할 고객 관리형 KMS 키를 선택해야 합니다. 이 설정은 노트북 접근 권한이나 S3에 저장하는 결과물의 암호화를 대신하지 않습니다.
잠재적 영향
기본 키가 조직의 키 관리 요구사항을 충족하지 못할 수 있습니다. 필요한 키 권한을 제거하거나 키를 비활성화하면 데이터 접근과 노트북 운영이 중단될 수 있습니다.
해결 방법
- 조직의 요구사항에 따라 기본 암호화 또는 고객 관리형 키를 선택하세요. 별도 키가 필요하면 활성화된 실제 키 ARN을
KmsKeyId에 지정하고 필요한 권한을 부여하세요. - 해당 키로 보호해야 하는 파일은 ML 데이터 볼륨인
/home/ec2-user/SageMaker에 보관하고, S3의 암호화와 접근 권한도 별도로 확인하세요. - CloudFormation에서
KmsKeyId를 바꾸면 인스턴스가 교체됩니다. 필요한 파일을 백업하고 새 인스턴스로 이전한 뒤 동작을 확인하세요.
예시
노트북 생성 설정의 발췌입니다. 전체 템플릿에서 필요한 권한을 갖춘 ExecutionRole과 키 파라미터를 정의하세요.
기본 암호화 키 사용
yaml
Resources:
BasicNotebookInstance:
Type: AWS::SageMaker::NotebookInstance
Properties:
InstanceType: ml.t2.large
RoleArn: !GetAtt ExecutionRole.Arn
시스템 관리형 키로 암호화합니다. 별도 키 통제가 필요한지 검토하세요.
고객 관리형 키 지정
yaml
Resources:
BasicNotebookInstance:
Type: AWS::SageMaker::NotebookInstance
Properties:
InstanceType: ml.t2.large
RoleArn: !GetAtt ExecutionRole.Arn
KmsKeyId: !Ref NotebookKmsKeyArn
ML 데이터 볼륨에 사용할 키를 지정합니다. 노트북을 사용할 권한이 있는 사용자의 접근은 별도로 통제해야 합니다.