SageMaker 노트북 인스턴스 암호화 키 설정 점검

SageMaker 노트북의 기본 암호화와 고객 관리형 키 요구사항을 구분하세요.

설명

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 데이터 볼륨에 사용할 키를 지정합니다. 노트북을 사용할 권한이 있는 사용자의 접근은 별도로 통제해야 합니다.

참조