AWS Database Migration Service의 보안 - AWS Database Migration Service

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

AWS Database Migration Service의 보안

AWS에서 클라우드 보안을 가장 중요하게 생각합니다. AWS 고객은 보안에 가장 보안에 민감한 조직의 요구 사항에 부합하도록 구축된 데이터 센터 및 네트워크 아키텍처의 혜택을 누릴 수 있습니다.

보안은 AWS와 귀하의 공동 책임입니다. 공동 책임 모델은 이 사항을 클라우드 보안 및 클라우드 보안으로 설명합니다.

  • 클라우드의 보안 - AWS는 AWS 클라우드에서 AWS 서비스를 실행하는 인프라를 보호합니다. AWS는 또한 안전하게 사용할 수 있는 서비스를 제공합니다. 타사 감사원은 정기적으로 AWS 규제 준수 프로그램의 일환으로 보안 효과를 테스트하고 검증합니다. AWS DMS에 적용되는 규정 준수 프로그램에 대해 알아보려면 규정 준수 프로그램 제공 범위 내 AWS 서비스를 참조하십시오.

  • 클라우드 내 보안 - 사용자의 책임은 사용하는 AWS 서비스에 의해 결정됩니다. 또한 데이터의 민감도, 조직의 요구 사항, 관련 법률 및 규정을 비롯한 기타 요소에 대해서도 책임이 있습니다.

이 설명서는 AWS DMS 사용 시 공동 책임 모델을 적용하는 방법을 이해하는 데 도움이 됩니다. 다음 주제에서는 보안 및 규정 준수 목표를 충족하도록 AWS DMS를 구성하는 방법을 보여줍니다. 또한 AWS DMS 리소스를 모니터링하고 보호하는 데 도움이 되는 다른 AWS 서비스를 사용하는 방법을 알아봅니다.

AWS DMS 리소스 및 데이터베이스(DB)에 대한 액세스를 관리합니다. 액세스를 관리하는 데 사용하는 방법은 AWS DMS를 사용하여 수행해야 하는 복제 작업에 따라 다릅니다.

  • 사용AWS Identity and Access Management관리 허용자를 결정하는 권한을 배정하는 정책 (IAM)AWS DMS리소스.AWS DMSIAM 사용자로 로그인할 경우 적절한 권한이 있어야 합니다. 예를 들면, IAM을 사용하여 DB 인스턴스클러스터, 태그 리소스를 생성, 설명, 수정, 삭제하거나 보안 그룹을 수정할 수 있는 사용자를 결정할 수 있습니다. IAM 및 에서 사용하는 방법에 대한 자세한 내용은 를 참조하십시오.AWS DMS참조할 섹션AWS Database Migration Service의 Identity and Access Management.

  • AWS DMS는 TLS(전송 계층 보안)와의 엔드포인트 연결에 SSL(보안 소켓 계층)을 사용합니다. AWS DMS에서 SSL/TLS를 사용하는 방법에 대한 자세한 내용은 AWS Database Migration Service에서 SSL 사용 단원을 참조하십시오.

  • AWS DMS사용AWS Key Management Service(AWS KMS) 복제 인스턴스와 해당 엔드포인트 연결 정보에 사용되는 스토리지를 암호화하는 암호화 키.AWS DMS또한 사용합니다AWS KMSAmazon S3 및 Amazon Redshift 대상 엔드포인트의 미사용 대상 데이터를 보호하기 위한 암호화 키. 자세한 내용은 암호화 키 설정 및 AWS KMS 권한 지정을 참조하세요.

  • AWS DMS네트워크 액세스 제어를 최대한 강화할 목적으로 항상 Amazon VPC 서비스에 따라 복제 인스턴스를 가상 프라이빗 클라우드 (VPC) 에 생성합니다. DB 인스턴스 및 인스턴스 클러스터의 경우 복제 인스턴스와 동일한 VPC를 사용하거나 이 액세스 제어 수준에 맞게 추가 VPC를 사용합니다. 사용하는 각 Amazon VPC는 모든 포트의 모든 트래픽이 VPC를 나가는 (송신) 할 수 있도록 허용하는 규칙이 있는 보안 그룹과 연결되어야 합니다. 해당 엔드포인트에서 올바른 수신이 활성화되어 있는 한 이 접근 방식을 통해 통신을 복제 인스턴스에서 원본과 대상 데이터베이스 엔드포인트로 전달할 수 있습니다.

    AWS DMS에 사용할 수 있는 네트워크 구성에 대한 자세한 내용은 복제 인스턴스용으로 네트워크 설정 단원을 참조하십시오. DB 인스턴스클러스터를 VPC 생성하는 방법에 대한 자세한 내용은 단원을 참조하십시오.AWS선적 서류 비치. AWS DMS를 지원하는 네트워크 구성에 대한 자세한 내용은 복제 인스턴스용으로 네트워크 설정 단원을 참조하십시오.

  • 데이터베이스 마이그레이션 로그를 보려면 적절한 Amazon이 필요합니다. CloudWatch 사용 중인 IAM 역할에 권한을 기록합니다. AWS DMS 로깅에 대한 자세한 내용은 Amazon을 사용한 복제 작업 모니터링 CloudWatch 단원을 참조하십시오.

AWS Database Migration Service의 데이터 보호

데이터 암호화

지원되는 AWS DMS 대상 엔드포인트의 데이터 리소스에 대해 암호화를 활성화할 수 있습니다. AWS DMS는 AWS DMS에 대한 연결 및 AWS DMS와 모든 소스 및 대상 엔드포인트 간 연결도 암호화합니다. 또한 AWS DMS 및 지원되는 대상 엔드포인트가 이 암호화를 활성화하기 위해 사용하는 키를 관리할 수 있습니다.

저장된 데이터 암호화

AWS DMS는 지원되는 데이터에 복사하기 전에 복제된 데이터를 Amazon S3 S3로 푸시하는 데 사용할 서버 측 암호화 모드를 지정할 수 있도록 하여 저장 중 암호화를 지원합니다.AWS DMS타겟 엔드포인트 엔드포인트에 대한 encryptionMode 추가 연결 속성을 설정하여 이 암호화 모드를 지정할 수 있습니다. 이럴 경우encryptionMode설정은 KMS 키 암호화 모드를 지정하며 사용자 지정을 만들 수도 있습니다.AWS KMS다음과 같은 대상 데이터를 암호화하기 위한 전용 키AWS DMS타겟 엔드포인트:

전송 중 데이터 암호화

AWS DMS는 복제하는 데이터가 소스 엔드포인트에서 대상 엔드포인트로 안전하게 이동하도록 전송 중 데이터 암호화를 지원합니다. 여기에는 데이터가 복제 파이프라인을 통해 이동할 때 복제 작업에서 중간 스토리지에 사용하는 복제 인스턴스의 S3 버킷을 암호화하는 작업이 포함됩니다. 소스 및 대상 엔드포인트에 대한 작업 연결을 암호화하기 위해 AWS DMS는 TLS(전송 계층 보안)와 함께 SSL(보안 소켓 계층)을 사용합니다. 두 엔드포인트에 대한 연결을 암호화함으로써 AWS DMS는 데이터가 소스 엔드포인트에서 복제 작업으로 또한 작업에서 대상 엔드포인트로 이동할 때 데이터를 보호합니다. AWS DMS에서 SSL/TLS를 사용하는 방법에 대한 자세한 내용은 AWS Database Migration Service에서 SSL 사용 단원을 참조하십시오.

AWS DMS는 기본 키와 사용자 지정 키를 모두 지원하여 중간 복제 스토리지와 연결 정보를 모두 암호화합니다. AWS KMS를 사용하여 이러한 키를 관리합니다. 자세한 내용은 암호화 키 설정 및 AWS KMS 권한 지정을 참조하세요.

키 관리

AWS DMS는 복제 스토리지, 연결 정보 및 특정 대상 엔드포인트에 대한 대상 데이터 스토리지를 암호화하는 기본 또는 사용자 지정 키를 지원합니다. AWS KMS를 사용하여 이러한 키를 관리합니다. 자세한 내용은 암호화 키 설정 및 AWS KMS 권한 지정을 참조하세요.

인터네트워크 트래픽 개인 정보 보호

온프레미스에서 실행하든 클라우드에서 AWS 서비스의 일부로 실행하든 관계 없이 동일한 AWS 리전에서 AWS DMS와 소스 및 대상 엔드포인트 간 연결이 보호됩니다. (하나 이상의 엔드포인트(소스 또는 대상)가 클라우드에서 AWS 서비스의 일부로 실행되어야 합니다.) 이러한 보호는 VPC가 모두 동일한 AWS 리전에 있는 경우 이러한 구성 요소가 동일한 VPC(가상 프라이빗 클라우드)를 공유하는지 또는 별도의 VPC에 존재하는지 관계없이 적용됩니다. AWS DMS에 대해 지원되는 네트워크 구성에 대한 자세한 내용은 복제 인스턴스용으로 네트워크 설정 단원을 참조하십시오. 이러한 네트워크 구성 사용 시 보안 고려 사항에 대한 자세한 내용은 AWS Database Migration Service 네트워크 보안 단원을 참조하십시오.

AWS Database Migration Service의 Identity and Access Management

AWS Identity and Access Management(IAM)는 관리자가 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있도록 지원하는 AWS 서비스입니다. IAM 관리자는 어떤 사용자가 AWS DMS 리소스를 사용할 수 있는 인증(로그인) 및 권한(권한 있음)을 받을 수 있는지 제어합니다. IAM은 추가 비용 없이 사용할 수 있는 AWS 서비스입니다.

대상

AWS Identity and Access Management(IAM)를 사용하는 방법은 AWS DMS에서 수행하는 작업에 따라 달라집니다.

서비스 사용자 - AWS DMS 서비스를 사용하여 작업을 수행하는 경우 필요한 자격 증명과 권한을 관리자가 제공합니다. 더 많은 AWS DMS 기능을 사용하여 작업을 수행하게 되면 추가 권한이 필요할 수 있습니다. 액세스 권한 관리 방식을 이해하면 적절한 권한을 관리자에게 요청할 수 있습니다. AWS DMS의 기능에 액세스할 수 없는 경우 AWS Database Migration Service 자격 증명 및 액세스 문제 해결 단원을 참조하세요.

서비스 관리자 - 회사에서 AWS DMS 리소스를 책임지고 있는 경우 AWS DMS에 대한 전체 액세스 권한을 가지고 있을 것입니다. 서비스 관리자는 서비스 사용자가 액세스해야 하는 AWS DMS 기능과 리소스를 결정합니다. 그런 다음 IAM 관리자에게 요청을 제출하여 서비스 사용자의 권한을 변경해야 합니다. 이 페이지의 정보를 검토하여 IAM의 기본 개념을 이해하세요. 회사가 AWS DMS에서 IAM을 사용하는 방법에 대해 자세히 알아보려면 AWS Database Migration Service에서 IAM을 사용하는 방식 단원을 참조하세요.

IAM 관리자 - IAM 관리자라면 AWS DMS에 대한 액세스 권한 관리 정책 작성 방법을 자세히 알고 싶을 것입니다. IAM에서 사용할 수 있는 AWS DMS 자격 증명 기반 정책 예제를 보려면 AWS Database Migration Service 자격 증명 기반 정책 예제 섹션을 참조하세요.

자격 증명을 통한 인증

인증은 ID 자격 증명을 사용하여 AWS에 로그인하는 방식입니다. AWS Management Console을 사용한 로그인에 대한 자세한 정보는 IAM 사용 설명서IAM 사용자 또는 루트 사용자로 AWS Management Console에 로그인하기를 참조하세요.

AWS 계정 루트 사용자로, IAM 사용자로, 또는 IAM 역할을 수임하여 인증(AWS에 로그인)되어야 합니다. 회사의 Single Sign-On(SSO) 인증을 사용하거나 Google 또는 Facebook을 사용하여 로그인할 수도 있습니다. 이러한 경우 관리자는 이전에 IAM 역할을 사용하여 자격 증명 연동을 설정한 것입니다. 다른 회사의 자격 증명을 사용하여 AWS에 액세스하면 간접적으로 역할을 가정하는 것입니다.

AWS Management Console에 직접 로그인하려면 루트 사용자 이메일 주소 또는 IAM 사용자 이름과 암호를 사용하세요. 루트 사용자 또는 IAM 사용자 액세스 키를 사용하여 프로그래밍 방식으로 AWS에 액세스할 수 있습니다. AWS는 자격 증명을 사용하여 암호화 방식으로 요청에 서명할 수 있는 SDK 및 명령줄 도구를 제공합니다. AWS 도구를 사용하지 않는 경우 요청에 직접 서명해야 합니다. 이렇게 하려면 인바운드 API 요청을 인증하기 위한 프로토콜인 서명 버전 4를 사용합니다. 요청 인증에 대한 자세한 정보는 AWS 일반 참조서명 버전 4 서명 프로세스를 참조하세요.

사용하는 인증 방법에 상관 없이 추가 보안 정보를 제공해야 할 수도 있습니다. 예를 들어, AWS는 멀티 팩터 인증(MFA)을 사용하여 계정의 보안을 강화하는 것을 권장합니다. 자세한 정보는 IAM 사용 설명서AWS에서 다중 인증(MFA) 사용을 참조하세요.

AWS 계정 루트 사용자

AWS 계정을 생성할 때는 해당 계정의 모든 AWS 서비스 및 리소스에 대한 완전한 액세스 권한이 있는 단일 로그인 ID로 시작합니다. 이 자격 증명은 AWS 계정 루트 사용자라고 하며, 계정을 생성할 때 사용한 이메일 주소와 암호로 로그인하여 액세스합니다. 일상적인 작업에 루트 사용자를 사용하지 않을 것을 강력히 권장합니다. 루트 사용자 보안 인증 정보를 보호하고 루트 사용자만 수행할 수 있는 작업을 수행하는 데 사용합니다. 루트 사용자로 로그인해야 하는 작업의 전체 목록은 AWS 일반 참조루트 사용자 보안 인증이 필요한 작업을 참조하세요.

IAM 사용자 및 그룹

IAM 사용자는 단일 개인 또는 애플리케이션에 대한 특정 권한을 가지고 있는 AWS 계정 내 자격 증명입니다. 가능하면 암호 및 액세스 키와 같은 장기 보안 인증 정보가 있는 IAM 사용자를 생성하는 대신 임시 보안 인증을 사용하는 것이 좋습니다. 하지만 IAM 사용자의 장기 보안 인증이 필요한 특정 사용 사례가 있는 경우 액세스 키를 교체하는 것이 좋습니다. 자세한 내용은 IAM 사용 설명서장기 보안 인증이 필요한 사용 사례의 경우 정기적으로 액세스 키 교체를 참조하세요.

IAM 그룹은 IAM 사용자 컬렉션을 지정하는 자격 증명입니다. 귀하는 그룹으로 로그인할 수 없습니다. 그룹을 사용하여 여러 사용자의 권한을 한 번에 지정할 수 있습니다. 그룹을 사용하면 대규모 사용자 집합의 권한을 더 쉽게 관리할 수 있습니다. 예를 들어, IAMAdmins라는 그룹이 있고 이 그룹에 IAM 리소스를 관리할 권한을 부여할 수 있습니다.

사용자는 역할과 다릅니다. 사용자는 한 사람 또는 애플리케이션과 고유하게 연결되지만, 역할은 해당 역할이 필요한 사람이라면 누구나 수임할 수 있습니다. 사용자는 영구적인 장기 자격 증명을 가지고 있지만, 역할은 임시 자격 증명만 제공합니다. 자세한 정보는 IAM 사용 설명서IAM 사용자를 만들어야 하는 경우(역할이 아님)를 참조하세요.

IAM 역할

IAM 역할은 특정 권한을 가지고 있는 AWS 계정 계정 내 ID입니다. IAM 사용자와 유사하지만, 특정 개인과 연결되지 않습니다. 역할을 전환하여 AWS Management Console에서 IAM 역할을 임시로 수임할 수 있습니다. AWS CLI 또는 AWS API 태스크를 호출하거나 사용자 지정 URL을 사용하여 역할을 수임할 수 있습니다. 역할 사용 방법에 대한 자세한 정보는 IAM 사용 설명서IAM 역할 사용을 참조하세요.

임시 자격 증명이 있는 IAM 역할은 다음과 같은 상황에서 유용합니다.

  • 페더레이션 사용자 액세스 - 페더레이션 아이덴티티에 권한을 부여하려면 역할을 생성하고 해당 역할의 권한을 정의합니다. 페더레이션 아이덴티티가 인증되면 역할이 연결되고 역할에 정의된 권한이 부여됩니다. 페더레이션 역할에 대한 자세한 내용은 IAM 사용 설명서 Creating a role for a third-party Identity Provider(서드 파티 자격 증명 공급자의 역할 만들기) 섹션을 참조하세요. IAM Identity Center를 사용하는 경우 권한 집합을 구성합니다. 인증 후 아이덴티티가 액세스할 수 있는 항목을 제어하기 위해 IAM Identity Center는 권한 세트를 IAM의 역할과 연관짓습니다. 권한 세트에 대한 자세한 내용은 AWS IAM Identity Center (successor to AWS Single Sign-On) 사용 설명서권한 세트를 참조하세요.

  • 임시 IAM 사용자 권한 - IAM 사용자 또는 역할은 IAM 역할을 수임하여 특정 작업에 대한 다양한 권한을 임시로 받을 수 있습니다.

  • 교차 계정 액세스 - IAM 역할을 사용하여 다른 계정의 사용자(신뢰할 수 있는 보안 주체)가 내 계정의 리소스에 액세스하도록 허용할 수 있습니다. 역할은 교차 계정 액세스를 부여하는 기본적인 방법입니다. 그러나 일부 AWS 서비스를 사용하면 역할을 (프록시로 사용하는 대신) 리소스에 정책을 직접 연결할 수 있습니다. 교차 계정 액세스를 위한 역할과 리소스 기반 정책의 차이점을 알아보려면 IAM 사용 설명서IAM 역할과 리소스 기반 정책의 차이를 참조하세요.

  • 교차 서비스 액세스 – 일부 AWS 서비스는 다른 AWS 서비스의 기능을 사용합니다. 예를 들어 서비스에서 호출을 수행하면 일반적으로 해당 서비스는 Amazon EC2에서 애플리케이션을 실행하거나 Amazon S3에 객체를 저장합니다. 서비스는 호출하는 보안 주체의 권한을 사용하거나, 서비스 역할을 사용하거나, 또는 서비스 연결 역할을 사용하여 이 태스크를 수행할 수 있습니다.

    • 보안 주체 권한 - IAM 사용자 또는 역할을 사용하여 AWS에서 작업을 수행하는 사람은 보안 주체로 간주됩니다. 정책은 보안 주체에게 권한을 부여합니다. 일부 서비스를 사용할 때는 다른 서비스에서 다른 태스크를 트리거하는 태스크를 수행할 수 있습니다. 이 경우 두 작업을 모두 수행할 수 있는 권한이 있어야 합니다. 작업에 정책의 추가 종속 작업이 필요한지 여부를 확인하려면 서비스 권한 부여 참조AWS Database Migration Service에 대한 작업, 리소스 및 조건 키를 참조하세요.

    • 서비스 역할 - 서비스 역할은 서비스가 사용자를 대신하여 작업을 수행하기 위해 수임하는 IAM 역할입니다. IAM 관리자는 IAM 내에서 서비스 역할을 생성, 수정 및 삭제할 수 있습니다. 자세한 정보는 IAM 사용 설명서AWS 서비스에 대한 권한을 위임할 역할 생성을 참조하세요.

    • 서비스 연결 역할 – 서비스 연결 역할은 AWS 서비스에 연결된 서비스 역할의 한 유형입니다. 서비스는 사용자를 대신하여 작업을 수행하기 위해 역할을 수임할 수 있습니다. 서비스 연결 역할은 IAM 계정에 표시되고, 서비스가 소유합니다. IAM 관리자는 서비스 연결 역할의 권한을 볼 수 있지만 편집은 할 수 없습니다.

  • Amazon EC2에서 실행 중인 애플리케이션 – IAM 역할을 사용하여 EC2 인스턴스에서 실행되고 AWS CLI 또는 AWS API 요청을 수행하는 애플리케이션의 임시 자격 증명을 관리할 수 있습니다. 이는 EC2 인스턴스 내에 액세스 키를 저장할 때 권장되는 방법입니다. EC2 인스턴스에 AWS 역할을 할당하고 해당 역할을 모든 애플리케이션에서 사용할 수 있도록 하려면 인스턴스에 연결된 인스턴스 프로파일을 생성합니다. 인스턴스 프로파일에는 역할이 포함되어 있으며 EC2 인스턴스에서 실행되는 프로그램이 임시 자격 증명을 얻을 수 있습니다. 자세한 정보는 IAM 사용 설명서IAM 역할을 사용하여 Amazon EC2 인스턴스에서 실행되는 애플리케이션에 권한 부여를 참조하세요.

IAM 역할을 사용할지 또는 IAM 사용자를 사용할지를 알아보려면 IAM 사용 설명서IAM 역할(사용자 대신)을 생성하는 경우를 참조하세요.

정책을 사용하여 액세스 관리

정책을 생성하고 AWS ID 또는 리소스에 연결하여 AWS 내 액세스를 제어합니다. 정책은 ID 또는 리소스와 연결될 때 해당 권한을 정의하는 AWS의 객체입니다. AWS는 보안 주체(사용자, 루트 사용자 또는 역할 세션)가 요청을 보낼 때 이러한 정책을 평가합니다. 정책에서 권한은 요청이 허용되거나 거부되는지를 결정합니다. 대부분의 정책은 AWS에 JSON 문서로서 저장됩니다. JSON 정책 문서의 구조와 콘텐츠에 대한 자세한 정보는 IAM 사용 설명서JSON 정책 개요를 참조하세요.

관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지를 지정할 수 있습니다. 즉, 어떤 보안 주체가 어떤 리소스와 어떤 조건에서 작업을 수행할 수 있는지를 지정할 수 있습니다.

모든 IAM 개체(사용자 또는 역할)는 처음에는 권한이 없습니다. 기본적으로 사용자는 아무 작업도 수행할 수 없으며, 자신의 암호를 변경할 수도 없습니다. 사용자에게 태스크를 수행할 권한을 부여하기 위해 관리자는 사용자에게 권한 정책을 연결해야 합니다. 또한 관리자는 의도한 권한을 가지고 있는 그룹에 사용자를 추가할 수 있습니다. 관리자가 그룹에 권한을 부여하면 그룹의 모든 사용자가 해당 권한을 받습니다.

IAM 정책은 태스크를 수행하기 위해 사용하는 방법과 상관없이 작업에 대한 권한을 정의합니다. 예를 들어, iam:GetRole 태스크를 허용하는 정책이 있다고 가정합니다. 해당 정책이 있는 사용자는 AWS Management Console, AWS CLI 또는 AWS API에서 역할 정보를 가져올 수 있습니다.

자격 증명 기반 정책

자격 증명 기반 정책은 IAM 사용자, 사용자 그룹 또는 역할과 같은 자격 증명에 연결할 수 있는 JSON 권한 정책 문서입니다. 이러한 정책은 사용자와 역할이 어떤 리소스와 어떤 조건에서 어떤 태스크를 수행할 수 있는지를 제어합니다. 자격 증명 기반 정책을 생성하는 방법을 알아보려면 IAM 사용 설명서IAM 정책 생성을 참조하세요.

자격 증명 기반 정책은 인라인 정책 또는 관리형 정책으로 한층 더 분류할 수 있습니다. 인라인 정책은 단일 사용자, 그룹 또는 역할에 직접 포함됩니다. 관리형 정책은 AWS 계정에 속한 다수의 사용자, 그룹 및 역할에 독립적으로 추가할 수 있는 정책입니다. 관리형 정책에는 AWS 관리형 정책과 고객 관리형 정책이 포함되어 있습니다. 관리형 정책 또는 인라인 정책을 선택하는 방법을 알아보려면 IAM 사용 설명서관리형 정책과 인라인 정책의 선택을 참조하세요.

리소스 기반 정책

리소스 기반 정책은 리소스에 연결하는 JSON 정책 문서입니다. 리소스 기반 정책의 예는 IAM 역할 신뢰 정책과 Amazon S3 버킷 정책입니다. 리소스 기반 정책을 지원하는 서비스에서 서비스 관리자는 이러한 정책을 사용하여 특정 리소스에 대한 액세스를 제어할 수 있습니다. 정책이 연결된 리소스의 경우 정책은 지정된 보안 주체가 해당 리소스와 어떤 조건에서 어떤 태스크를 수행할 수 있는지를 정의합니다. 리소스 기반 정책에서 보안 주체를 지정해야 합니다. 보안 주체에는 계정, 사용자, 역할, 페더레이션 사용자 또는 AWS 서비스가 포함될 수 있습니다.

리소스 기반 정책은 해당 서비스에 있는 인라인 정책입니다. 리소스 기반 정책에서는 IAM의 AWS 관리형 정책을 사용할 수 없습니다.

ACL(액세스 제어 목록)

ACL(액세스 제어 목록)은 어떤 보안 주체(계정 멤버, 사용자 또는 역할)가 리소스에 액세스할 수 있는 권한을 가지고 있는지를 제어합니다. ACL은 JSON 정책 문서 형식을 사용하지 않지만 리소스 기반 정책과 유사합니다.

Amazon S3, AWS WAF 및 Amazon VPC는 ACL을 지원하는 대표적인 서비스입니다. ACL에 대해 자세히 알아보려면 Amazon Simple Storage Service 개발자 안내서ACL(액세스 제어 목록) 개요를 참조하세요.

기타 정책 유형

AWS는 비교적 일반적이지 않은 추가 정책 유형을 지원합니다. 이러한 정책 유형은 더 일반적인 정책 유형에 따라 사용자에게 부여되는 최대 권한을 설정할 수 있습니다.

  • 권한 경계 – 권한 경계는 자격 증명 기반 정책에 따라 IAM 엔터티(IAM 사용자 또는 역할)에 부여할 수 있는 최대 권한을 설정하는 고급 기능입니다. 엔터티에 대한 권한 경계를 설정할 수 있습니다. 그 결과로 얻는 권한은 개체의 자격 증명 기반 정책과 그 권한 경계의 교집합입니다. Principal 필드에서 사용자나 역할을 보안 주체로 지정하는 리소스 기반 정책은 권한 경계를 통해 제한되지 않습니다. 이러한 정책 중 하나에 포함된 명시적 거부는 허용을 재정의합니다. 권한 경계에 대한 자세한 정보는 IAM 사용 설명서IAM 엔터티에 대한 권한 경계를 참조하세요.

  • 서비스 제어 정책(SCP) – SCP는 AWS Organizations에서 조직 또는 조직 단위(OU)에 최대 권한을 지정하는 JSON 정책입니다. AWS Organizations는 기업이 소유하는 여러 개의 AWS 계정을 그룹화하고 중앙에서 관리하기 위한 서비스입니다. 조직에서 모든 기능을 활성화할 경우 서비스 제어 정책(SCP)을 임의의 또는 모든 계정에 적용할 수 있습니다. SCP는 각 AWS 계정 루트 사용자를 비롯하여 멤버 계정의 엔터티에 대한 권한을 제한합니다. 조직 및 SCP에 대한 자세한 정보는 AWS Organizations 사용 설명서SCP 작동 방식을 참조하세요.

  • 세션 정책 – 세션 정책은 역할 또는 연합된 사용자에 대해 임시 세션을 프로그래밍 방식으로 생성할 때 파라미터로 전달하는 고급 정책입니다. 결과적으로 얻는 세션의 권한은 사용자 또는 역할의 자격 증명 기반 정책의 교차와 세션 정책입니다. 또한 권한을 리소스 기반 정책에서 가져올 수도 있습니다. 이러한 정책 중 하나에 포함된 명시적 거부는 허용을 재정의합니다. 자세한 정보는 IAM 사용 설명서세션 정책을 참조하세요.

여러 정책 유형

여러 정책 유형이 요청에 적용되는 경우 결과 권한은 이해하기가 더 복잡합니다. 여러 정책 유형이 관련될 때 AWS가 요청을 허용할지 여부를 결정하는 방법을 알아보려면 IAM 사용 설명서정책 평가 로직을 참조하세요.

AWS Database Migration Service에서 IAM을 사용하는 방식

IAM을 사용하여 AWS DMS에 대한 액세스를 관리하려면 먼저 어떤 IAM 기능을 AWS DMS에 사용할 수 있는지를 이해해야 합니다. AWS DMS 및 기타 AWS 서비스에서 IAM을 사용하는 방법을 전체적으로 알아보려면 IAM 사용 설명서IAM으로 작업하는 AWS 서비스를 참조하세요.

AWS DMS 자격 증명 기반 정책

IAM 자격 증명 기반 정책을 사용하면 허용되거나 거부되는 작업과 리소스뿐 아니라 작업이 허용되거나 거부되는 조건을 지정할 수 있습니다.AWS DMS은 특정 작업, 리소스 및 조건 키를 지원합니다. JSON 정책에서 사용하는 모든 요소에 대해 알아보려면 IAM 사용 설명서IAM JSON 정책 요소 참조를 참조하세요.

작업

관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지를 지정할 수 있습니다. 즉, 어떤 보안 주체가 어떤 리소스와 어떤 조건에서 작업을 수행할 수 있는지를 지정할 수 있습니다.

JSON 정책의 Action 요소는 정책에서 액세스를 허용하거나 거부하는 데 사용할 수 있는 태스크를 설명합니다. 일반적으로 정책 작업의 이름은 연결된 AWS API 작업의 이름과 동일합니다. 일치하는 API 작업이 없는 권한 전용 작업 같은 몇 가지 예외도 있습니다. 정책에서 여러 작업이 필요한 몇 가지 작업도 있습니다. 이러한 추가 작업을 종속 작업이라고 합니다.

연결된 작업을 수행할 수 있는 권한을 부여하기 위한 정책에 작업을 포함시킵니다.

정책 작업AWS DMS작업 앞에 다음 접두사를 사용하십시오. dms:. 예를 들어 사용자에게 복제 작업을 생성할 수 있는 권한을 부여하려면AWS DMS CreateReplicationTaskAPI 작업, 다음을 포함합니다.dms:CreateReplicationTask그들의 정책에 대한 행동. 정책 문에는 Action 또는 NotAction 요소가 포함되어야 합니다. AWS DMS는 이 서비스로 수행할 수 있는 작업을 설명하는 고유한 작업 집합을 정의합니다.

명령문 하나에 여러 작업을 지정하려면 다음과 같이 쉼표로 구분합니다.

"Action": [ "dms:action1", "dms:action2"

와일드카드(*)를 사용하여 여러 작업을 지정할 수 있습니다. 예를 들어, Describe라는 단어로 시작하는 모든 작업을 지정하려면 다음 작업을 포함합니다.

"Action": "dms:Describe*"

AWS DMS 작업 목록을 보려면 IAM 사용 설명서AWS Database Migration Service에서 정의한 작업을 참조하세요.

리소스

관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지를 지정할 수 있습니다. 즉, 어떤 보안 주체가 어떤 리소스와 어떤 조건에서 태스크를 수행 할 수 있는지를 지정할 수 있습니다.

Resource JSON 정책 요소는 작업이 적용되는 하나 이상의 객체를 지정합니다. 문에는 Resource 또는 NotResource 요소가 반드시 추가되어야 합니다. 모범 사례에 따라 Amazon 리소스 이름(ARN)을 사용하여 리소스를 지정합니다. 리소스 수준 권한이라고 하는 특정 리소스 유형을 지원하는 작업에 대해 이 태스크를 수행할 수 있습니다.

작업 나열과 같이 리소스 수준 권한을 지원하지 않는 작업의 경우 와일드카드(*)를 사용하여 명령문이 모든 리소스에 적용됨을 나타냅니다.

"Resource": "*"

AWS DMS는 다음과 같은 리소스와 함께 작동합니다.

  • 인증서

  • 엔드포인트

  • 이벤트 구독

  • 복제 인스턴스

  • 복제 서브넷(보안) 그룹

  • 복제 작업

AWS DMS에 필요한 리소스는 작업 또는 호출하는 작업에 따라 달라집니다. 리소스 ARN에서 지정한 관련 리소스에 대해 이러한 작업을 허용하는 정책이 필요합니다.

예를 들어 AWS DMS 엔드포인트 리소스에는 다음과 같은 ARN이 있습니다.

arn:${Partition}:dms:${Region}:${Account}:endpoint/${InstanceId}

ARN 형식에 대한 자세한 내용은 Amazon 리소스 이름(ARN) 및 AWS 서비스 네임스페이스 단원을 참조하십시오.

예를 들어 문에서 use-east-2 리전의 1A2B3C4D5E6F7G8H9I0J1K2L3M 엔드포인트 인스턴스를 지정하려면 다음 ARN을 사용합니다.

"Resource": "arn:aws:dms:us-east-2:987654321098:endpoint/1A2B3C4D5E6F7G8H9I0J1K2L3M"

특정 계정에 속하는 모든 엔드포인트를 지정하려면 와일드카드(*)를 사용합니다.

"Resource": "arn:aws:dms:us-east-2:987654321098:endpoint/*"

리소스를 생성하기 위한 작업과 같은 일부 AWS DMS 작업은 특정 리소스에서 수행할 수 없습니다. 이러한 경우 와일드카드(*)를 사용해야 합니다.

"Resource": "*"

일부 AWS DMS API 작업에는 여러 리소스가 관여합니다. 예,StartReplicationTask복제 작업을 시작하고 두 개의 데이터베이스 엔드포인트 리소스 (원본과 대상) 에 연결하므로 IAM 사용자에게 원본 엔드포인트를 읽고 대상 엔드포인트에 쓸 수 있는 권한이 있어야 합니다. 단일 문에서 여러 리소스를 지정하려면 ARN을 쉼표로 구분합니다.

"Resource": [ "resource1", "resource2" ]

정책을 사용하여 AWS DMS 리소스에 대한 액세스를 제어하는 자세한 내용은 리소스 이름을 사용하여 액세스 제어 단원을 참조하십시오. AWS DMS 리소스 유형 및 해당 ARN의 목록을 보려면 IAM 사용 설명서AWS Database Migration Service에서 정의된 리소스를 참조하세요. 각 리소스의 ARN을 지정할 수 있는 작업을 알아보려면 AWS Database Migration Service가 정의한 작업을 참조하세요.

조건 키

관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지를 지정할 수 있습니다. 즉, 어떤 보안 주체가 어떤 리소스와 어떤 조건에서 작업을 수행할 수 있는지를 지정할 수 있습니다.

Condition 요소(또는 Condition 블록)를 사용하면 정책이 발효되는 조건을 지정할 수 있습니다. Condition 요소는 선택 사항입니다. 같음이나 미만 같은 조건 연산자를 사용하여 정책의 조건을 요청의 값과 일치시키는 조건식을 생성할 수 있습니다.

한 문에서 여러 Condition 요소를 지정하거나 단일 Condition 요소에서 여러 키를 지정하는 경우 AWS는 논리적 AND 태스크를 사용하여 평가합니다. 단일 조건 키의 여러 값을 지정하는 경우 AWS는 논리적 OR 태스크를 사용하여 조건을 평가합니다. 문의 권한을 부여하기 전에 모든 조건을 충족해야 합니다.

조건을 지정할 때 자리표시자 변수를 사용할 수도 있습니다. 예를 들어, IAM 사용자에게 IAM 사용자 이름으로 태그가 지정된 경우에만 리소스에 액세스할 수 있는 권한을 부여할 수 있습니다. 자세한 정보는 IAM 사용 설명서IAM 정책 요소: 변수 및 태그를 참조하세요.

AWS는 전역 조건 키와 서비스별 조건 키를 지원합니다. 모든 AWS 전역 조건 키를 보려면 IAM 사용 설명서AWS 전역 조건 컨텍스트 키를 참조하세요.

AWS DMS에서는 자체 조건 키 집합을 정의하고 일부 전역 조건 키 사용도 지원합니다. 모든 AWS 전역 조건 키를 보려면 IAM 사용 설명서AWS 전역 조건 컨텍스트 키를 참조하세요.

AWS DMS가 조건 키에서 사용할 수 있는 표준 태그 집합을 정의하며, 사용자가 사용자 정의 태그를 정의할 수도 있습니다. 자세한 내용은 태그를 사용하여 액세스 제어을 참조하세요.

AWS DMS 조건 키 목록을 보려면 IAM 사용 설명서AWS Database Migration Service에 대한 조건 키를 참조하세요. 조건 키를 사용할 수 있는 작업과 리소스를 알아보려면 단원을 참조하십시오.정의된 작업AWS Database Migration Service에서 정의한 리소스AWS Database Migration Service.

AWS DMS 자격 증명 기반 정책의 예를 보려면 AWS Database Migration Service 자격 증명 기반 정책 예제 단원을 참조하세요.

AWS DMS 리소스 기반 정책

리소스 기반 정책은 지정된 보안 주체가 특정 AWS DMS 리소스에 대해 어떤 작업을 어떤 조건에서 수행할 수 있는지 지정하는 JSON 정책 문서입니다. AWS DMS에서는 지원되는 대상 엔드포인트로 마이그레이션된 데이터를 암호화하기 위해 생성하는 AWS KMS 암호화 키에 대한 리소스 기반 권한 정책을 지원합니다. 지원되는 대상 엔드포인트에는 Amazon Redshift 및 Amazon S3 등이 있습니다. 리소스 기반 정책을 사용하여 각 대상 엔드포인트의 다른 계정에 이러한 암호화 키를 사용할 수 있는 권한을 부여할 수 있습니다.

교차 계정 액세스를 활성화하려는 경우 전체 계정이나 다른 계정의 IAM 개체를 리소스 기반 정책의 보안 주체로 지정할 수 있습니다. 리소스 기반 정책에 교차 계정 보안 주체를 추가하는 것은 트러스트 관계 설정의 절반밖에 되지 않는다는 것을 유념하세요. 보안 주체와 리소스가 다른 AWS 계정에 있는 경우 보안 주체 엔터티가 리소스에 액세스할 권한도 부여해야 합니다. 엔터티에 자격 증명 기반 정책을 연결하여 권한을 부여합니다. 하지만 리소스 기반 정책이 동일 계정의 보안 주체에 액세스를 부여하는 경우 추가 자격 증명 기반 정책이 필요하지 않습니다. 자세한 정보는 IAM 사용 설명서IAM 역할과 리소스 기반 정책의 차이를 참조하세요.

이AWS DMS서비스는 리소스 기반 정책 유형 하나만 지원하며,키 정책, 에 첨부되어 있습니다AWS KMS암호화 키. 이 정책은 지원되는 대상 엔드포인트에서 마이그레이션된 데이터를 암호화할 수 있는 보안 주체 엔터티(계정, 사용자, 역할 및 연동 사용자)를 정의합니다.

지원되는 대상 엔드포인트에 대해 생성한 암호화 키에 리소스 기반 정책을 연결하는 방법을 알아보려면 생성 및 사용AWS KMSAmazon Redshift 타겟 데이터를 암호화하기 위한 키생성 중AWS KMSAmazon S3 대상 객체를 암호화하는 키 단원을 참조하십시오.

AWS DMS 리소스 기반 정책의 예는 AWS KMS용 리소스 기반 정책 예제 단원을 참조하십시오.

AWS DMS 태그 기반 권한 부여

태그를 AWS DMS 리소스에 연결하거나 요청을 통해 태그를 AWS DMS에 전달할 수 있습니다. 태그를 기반으로 액세스를 제어하려면 에 태그 정보를 제공하세요.조건 요소사용하는 정책dms:ResourceTag/key-name,aws:RequestTag/key-name, 또는aws:TagKeys조건 키.AWS DMS는 해당 조건 키에 사용할 수 있는 표준 태그 세트를 정의하며 사용자 지정 태그를 정의할 수도 있습니다. 자세한 내용은 태그를 사용하여 액세스 제어을 참조하세요.

태그를 기반으로 리소스에 대한 액세스를 제한하는 자격 증명 기반 정책의 예는 태그를 기반으로 AWS DMS 리소스 액세스 단원을 참조하십시오.

IAM 역할AWS DMS

IAM 역할은 특정 권한을 가지고 있는 AWS 계정 내 엔터티입니다.

AWS DMS에서 임시 자격 증명 사용

임시 자격 증명을 사용하여 연동으로 로그인하거나 IAM 역할을 수임하거나 교차 계정 역할을 수임할 수 있습니다. 를 호출하면 임시 보안 자격 증명으로 가져옵니다.AWS STSAPI 작업 (예:AssumeRole또는GetFederationToken.

AWS DMS는 임시 자격 증명 사용을 지원합니다.

서비스 연결 역할

서비스 연결 역할을 사용하면 AWS 제품이 다른 서비스의 리소스에 액세스하여 사용자 대신 태스크를 완료할 수 있습니다. 서비스 연결 역할은 IAM 계정에 나타나고, 서비스가 소유합니다. IAM 관리자는 서비스 연결 역할의 권한을 볼 수 있지만 편집은 할 수 없습니다.

AWS DMS는 서비스 연결 역할을 지원하지 않습니다.

서비스 역할

이 기능을 사용하면 서비스가 사용자를 대신하여 서비스 역할을 수임할 수 있습니다. 이 역할을 사용하면 서비스가 다른 서비스의 리소스에 액세스해 사용자를 대신해 태스크를 완료할 수 있습니다. 서비스 역할은 IAM 계정에 나타나고, 해당 계정이 소유합니다. 즉, IAM 관리자가 이 역할에 대한 권한을 변경할 수 있습니다. 그러나 권한을 변경하면 서비스의 기능이 손상될 수 있습니다.

AWS DMS에서는 특정 소스 또는 대상 엔드포인트를 사용하기 위해 생성해야 하는 두 가지 유형의 서비스 역할을 지원합니다.

AWS DMS에서 IAM 역할 선택

사용하는 도구AWS CLI또는AWS데이터베이스 마이그레이션을 위한 DMS API. 특정 IAM 역할을AWS의 기능을 사용하기 전에 계정을 사용하십시오.AWSDMS. 이 중 두 가지는 dms-vpc-roledms-cloudwatch-logs-role입니다. Amazon Redshift Redshift를 대상 데이터베이스로 사용하는 경우 IAM 역할도 추가해야 합니다.dms-access-for-endpoint당신에게AWS계정. 자세한 내용은 AWS CLI 및 AWS DMS API에서 사용하는 IAM 역할 생성을 참조하세요.

AWS Database Migration Service 자격 증명 기반 정책 예제

기본적으로 IAM 사용자 및 역할은 AWS DMS 리소스를 생성하거나 수정할 수 있는 권한이 없습니다. 또한 AWS Management Console, AWS CLI 또는 AWS API를 사용해 작업을 수행할 수 없습니다. IAM 관리자는 지정된 리소스에서 특정 API 태스크를 수행할 수 있는 권한을 사용자와 역할에게 부여하는 IAM 정책을 생성해야 합니다. 그런 다음 관리자는 해당 권한이 필요한 IAM 사용자 또는 그룹에 이러한 정책을 연결해야 합니다.

이러한 예제 JSON 정책 문서를 사용하여 IAM 자격 증명 기반 정책을 생성하는 방법을 알아보려면 IAM 사용 설명서JSON 탭에서 정책 생성을 참조하세요.

정책 모범 사례

ID 기반 정책에 따라 계정에서 사용자가 AWS DMS 리소스를 생성, 액세스 또는 삭제할 수 있는지 여부가 결정됩니다. 이 작업으로 인해 AWS 계정에 비용이 발생할 수 있습니다. 자격 증명 기반 정책을 생성하거나 편집할 때는 다음 지침과 권장 사항을 따르세요.

  • AWS 관리형 정책으로 시작하고 최소 권한을 향해 나아가기 - 사용자 및 워크로드에 권한 부여를 시작하려면 많은 일반 사용 사례에 대한 권한을 부여하는 AWS 관리형 정책을 사용합니다. 관리형 정책은 AWS 계정에서 사용할 수 있습니다. 사용 사례에 고유한 AWS 고객 관리형 정책을 정의하여 권한을 줄이는 것이 좋습니다. 자세한 내용은 IAM 사용 설명서AWS managed policies(관리형 정책) 또는 AWS managed policies for job functions(직무에 대한 관리형 정책)를 참조하세요.

  • 최소 권한 적용 – IAM 정책을 사용하여 권한을 설정하는 경우 작업을 수행하는 데 필요한 권한만 부여합니다. 이렇게 하려면 최소 권한으로 알려진 특정 조건에서 특정 리소스에 대해 수행할 수 있는 작업을 정의합니다. IAM을 사용하여 권한을 적용하는 방법에 대한 자세한 내용은 IAM 사용 설명서에 있는 Policies and permissions in IAM(IAM의 정책 및 권한)을 참조하세요.

  • IAM 정책의 조건을 사용하여 액세스 추가 제한 – 정책에 조건을 추가하여 작업 및 리소스에 대한 액세스를 제한할 수 있습니다. 예를 들어 SSL을 사용하여 모든 요청을 전송해야 한다고 지정하는 정책 조건을 작성할 수 있습니다. 특정 AWS 서비스(예: AWS CloudFormation)를 통해 사용되는 경우에만 서비스 작업에 대한 액세스 권한을 부여할 수도 있습니다. 자세한 내용을 알아보려면 다음 섹션을 참조하세요.IAM JSON 정책 요소: 조건에서IAM 사용 설명서.

  • IAM Access Analyzer를 통해 IAM 정책을 검증하여 안전하고 기능적인 권한 보장 – IAM Access Analyzer에서는 IAM 정책 언어(JSON)와 모범 사례가 정책에서 준수되도록 신규 및 기존 정책을 검증합니다. IAM Access Analyzer는 100개 이상의 정책 확인 항목과 실행 가능한 권장 사항을 제공하여 안전하고 기능적인 정책을 작성하도록 돕습니다. 자세한 내용은 IAM 사용 설명서IAM Access Analyzer policy validation(IAM Access Analyzer 정책 검증)을 참조하세요.

  • 다중 인증(MFA) 필요 – 계정에 IAM 사용자 또는 루트 사용자가 필요한 시나리오가 있는 추가 보안을 위해 MFA를 설정합니다. API 작업을 호출할 때 MFA가 필요하면 정책에 MFA 조건을 추가합니다. 자세한 내용은 IAM 사용 설명서 Configuring MFA-protected API access(MFA 보호 API 액세스 구성)를 참조하세요.

IAM의 모범 사례에 대한 자세한 내용은 IAM 사용 설명서IAM의 보안 모범 사례를 참조하십시오.

AWS DMS 콘솔 사용

다음 정책은 다음과 같은 항목에 대한 액세스를 제공합니다.AWSDMS (포함)AWSDMS 콘솔이며 Amazon EC2와 같은 다른 Amazon 서비스에서 필요한 특정 작업에 대한 권한도 지정합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dms:*", "Resource": "arn:aws:dms:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeInternetGateways", "ec2:DescribeAvailabilityZones", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:ModifyNetworkInterfaceAttribute", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "cloudwatch:Get*", "cloudwatch:List*" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "redshift:Describe*", "redshift:ModifyClusterIamRoles" ], "Resource": "arn:aws:dms:region:account:resourcetype/id" } ] }

이러한 권한을 분석하면 콘솔을 사용하는 데 각 권한이 필요한 이유를 더 잘 이해할 수 있습니다.

다음 단원은 사용자에게 콘솔에 표시할 수 있는 AWS KMS 키와 별칭을 나열할 수 있도록 하는 데 필요합니다. KMS 키에 대한 Amazon 리소스 이름(ARN)을 알고 있고 AWS Command Line Interface(AWS CLI)만을 사용할 때는 이 항목이 필요하지 않습니다.

{ "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

엔드포인트를 사용하여 역할 ARN을 전달해야 하는 특정 엔드포인트 유형에는 다음 단원이 필요합니다. 또한, 필요한 AWS DMS 역할을 사전에 생성하지 않은 경우 AWS DMS 콘솔이 해당 역할을 생성할 수 있습니다. 모든 역할이 사전에 구성된 경우 iam:GetRoleiam:PassRole만 있으면 됩니다. 역할에 대한 자세한 내용은 AWS CLI 및 AWS DMS API에서 사용하는 IAM 역할 생성 단원을 참조하세요.

{ "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

다음 섹션은 다음과 같습니다.AWS DMSAmazon EC2 인스턴스를 생성하고 생성된 복제 인스턴스에 대한 네트워크를 구성해야 합니다. 이러한 리소스는 고객의 계정에 있으므로 고객 대신에 이러한 작업을 수행하는 기능이 필요합니다.

{ "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeInternetGateways", "ec2:DescribeAvailabilityZones", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:ModifyNetworkInterfaceAttribute", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

사용자가 복제 인스턴스 지표를 볼 수 있도록 하려면 다음 단원이 필요합니다.

{ "Effect": "Allow", "Action": [ "cloudwatch:Get*", "cloudwatch:List*" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

사용자가 복제 로그를 볼 수 있도록 하려면 이 섹션이 필요합니다.

{ "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

Amazon Redshift Redshift를 대상으로 사용할 때는 다음 섹션이 필요합니다. 허용할 섹션AWS DMSAmazon Redshift 클러스터가 에 대해 올바르게 설정되었는지 검증하기 위해AWS DMS.

{ "Effect": "Allow", "Action": [ "redshift:Describe*", "redshift:ModifyClusterIamRoles" ], "Resource": "arn:aws:dms:region:account:resourcetype/id" }

이AWSDMS 콘솔은 여러 역할을 생성하며, 이 역할은AWS사용할 때의 계정AWSDMS 콘솔. 사용하는 도구AWS Command Line Interface(AWS CLI) 또는AWSDMS API를 마이그레이션하려면 계정에 이러한 역할을 추가해야 합니다. 이러한 역할을 추가하는 자세한 내용은 AWS CLI 및 AWS DMS API에서 사용하는 IAM 역할 생성 단원을 참조하십시오.

이 정책을 사용하여 액세스하기 위한 요구 사항에 대한 자세한 내용은AWSDMS, 참조할 섹션AWS DMS 사용에 필요한 IAM 권한.

사용자가 자신이 권한을 볼 수 있도록 허용

이 예제는 IAM 사용자가 자신의 사용자 자격 증명에 연결된 인라인 및 관리형 정책을 볼 수 있도록 허용하는 정책을 생성하는 방법을 보여줍니다. 이 정책에는 콘솔에서 또는 AWS CLI나 AWS API를 사용하여 프로그래밍 방식으로 이 태스크를 완료할 수 있는 권한이 포함됩니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Amazon S3 버킷에 액세스

AWSDMS는 Amazon S3 버킷을 데이터베이스 마이그레이션을 위한 중간 스토리지로 사용합니다. 일반적으로AWSDMS는 이러한 목적으로 기본 S3 버킷을 관리합니다. 그러나 어떤 경우에는, 특히 사용하는 경우AWS CLI또는AWSDMS API,AWSDMS를 사용하면 대신 자체 S3 버킷을 지정할 수 있습니다. 예를 들어 Amazon Redshift 대상 엔드포인트로 데이터를 마이그레이션하기 위한 자체 S3 버킷을 지정할 수 있습니다. 이 경우 다음을 기반으로 하는 권한이 있는 역할을 생성해야 합니다.AWS-관리형AmazonDMSRedshiftS3Role정책.

다음 예제에서는 의 버전을 보여줍니다.AmazonDMSRedshiftS3Role정책. 허용할 섹션AWS에서 IAM 사용자를 부여하는 DMSAWSAmazon S3 버킷 중 하나에 대한 계정 액세스. 또한 사용자가 객체를 추가, 업데이트 및 삭제할 수 있게 허용합니다.

s3:PutObject, s3:GetObjects3:DeleteObject 권한을 사용자에게 부여하는 것에 추가로, 이 정책에서는 s3:ListAllMyBuckets, s3:GetBucketLocations3:ListBucket 권한 역시 부여합니다. 이러한 권한은 콘솔에 필요한 추가 권한입니다. 기타 권한 허용AWS버킷 수명 주기를 관리하는 DMS 또한 객체를 복사할 수 있으려면 s3:GetObjectAcl 작업이 필요합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:ListBucket", "s3:DeleteBucket", "s3:GetBucketLocation", "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:GetObjectVersion", "s3:GetBucketPolicy", "s3:PutBucketPolicy", "s3:GetBucketAcl", "s3:PutBucketVersioning", "s3:GetBucketVersioning", "s3:PutLifecycleConfiguration", "s3:GetLifecycleConfiguration", "s3:DeleteBucketPolicy" ], "Resource": "arn:aws:s3:::dms-*" } ] }

이 정책을 기반으로 역할을 생성하는 방법에 대한 자세한 내용은 Amazon S3 버킷 설정 Amazon 단원을 참조하십시오.

태그를 기반으로 AWS DMS 리소스 액세스

자격 증명 기반 정책의 조건을 사용하여 태그를 기반으로 AWS DMS 리소스에 대한 액세스를 제어할 수 있습니다. 이 예에서는 모든 항목에 대한 액세스를 허용하는 정책을 생성하는 방법을 보여줍니다.AWSDMS 엔드포인트. 하지만 권한은 엔드포인트 데이터베이스 태그 Owner가 해당 사용자의 사용자 이름을 값으로 가지는 경우에만 부여됩니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dms:*", "Resource": "arn:aws:dms:*:*:endpoint/*", "Condition": { "StringEquals": {"dms:endpoint-tag/Owner": "${aws:username}"} } } ] }

이 정책을 계정의 IAM 사용자에게 연결할 수 있습니다. richard-roe라는 사용자가 AWS DMS 엔드포인트에 액세스하려면 엔드포인트 데이터베이스에 Owner=richard-roe 또는 owner=richard-roe 태그가 지정되어 있어야 합니다. 그렇지 않으면 이 사용자는 액세스가 거부됩니다. 조건 키 이름은 대소문자를 구분하지 않기 때문에 태그 키 OwnerOwnerowner 모두와 일치합니다. 자세한 내용을 알아보려면 다음 섹션을 참조하세요.IAM JSON 정책 요소: 조건에서IAM 사용 설명서.

AWS KMS용 리소스 기반 정책 예제

AWSDMS를 사용하면 사용자 지정을 만들 수 있습니다AWS KMS지원되는 대상 엔드포인트 데이터를 암호화하기 위한 암호화 키 지원되는 대상 데이터 암호화를 위해 생성하는 암호화 키에 대한 키 정책을 생성하고 연결하는 방법을 알아보려면 생성 및 사용AWS KMSAmazon Redshift 타겟 데이터를 암호화하기 위한 키생성 중AWS KMSAmazon S3 대상 객체를 암호화하는 키 단원을 참조하십시오.

사용자 지정을 위한 정책AWS KMSAmazon Redshift 대상 데이터를 암호화하기 위한 암호화 키

다음 예에서는 에 대해 생성된 키 정책의 JSON을 보여줍니다.AWS KMSAmazon Redshift 대상 데이터를 암호화하기 위해 생성하는 암호화 키입니다.

{ "Id": "key-consolepolicy-3", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::987654321098:root" ] }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::987654321098:role/Admin" ] }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::987654321098:role/DMS-Redshift-endpoint-access-role" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::987654321098:role/DMS-Redshift-endpoint-access-role" ] }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } } ] }

여기서는 키를 생성하기 전에 생성한 Amazon Redshift 대상 엔드포인트 데이터에 액세스하기 위한 역할을 키 정책이 참조하는 위치를 확인할 수 있습니다. 이 예제에서는 DMS-Redshift-endpoint-access-role입니다. 또한 다른 보안 주체(사용자 및 역할)에게 허용된 다양한 키 작업도 볼 수 있습니다. 예를 들어 DMS-Redshift-endpoint-access-role이 부여된 모든 사용자는 대상 데이터를 암호화, 해독 및 다시 암호화할 수 있습니다. 이러한 사용자는 내보내기용 데이터 키를 생성하여 AWS KMS 외부에서 데이터를 암호화할 수도 있습니다. 에 대한 자세한 정보를 반환할 수도 있습니다.AWS KMS키 (예: 방금 생성한 키) 또한 이러한 사용자는 다음 항목에 대한 첨부 파일을 관리할 수 있습니다.AWS리소스 (예: 대상 엔드포인트)

사용자 지정을 위한 정책AWS KMSAmazon S3 대상 데이터를 암호화하기 위한 암호화 키

다음 예에서는 에 대해 생성된 키 정책의 JSON을 보여줍니다.AWS KMSAmazon S3 대상 데이터를 암호화하기 위해 생성하는 암호화 키입니다.

{ "Id": "key-consolepolicy-3", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::987654321098:root" ] }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::987654321098:role/Admin" ] }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::987654321098:role/DMS-S3-endpoint-access-role" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::987654321098:role/DMS-S3-endpoint-access-role" ] }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } } ]

여기에서 키를 생성하기 전에 생성한 Amazon S3 대상 엔드포인트 데이터에 액세스하기 위한 역할을 키 정책이 참조하는 위치를 확인할 수 있습니다. 이 예제에서는 DMS-S3-endpoint-access-role입니다. 또한 다른 보안 주체(사용자 및 역할)에게 허용된 다양한 키 작업도 볼 수 있습니다. 예를 들어 DMS-S3-endpoint-access-role이 부여된 모든 사용자는 대상 데이터를 암호화, 해독 및 다시 암호화할 수 있습니다. 이러한 사용자는 내보내기용 데이터 키를 생성하여 AWS KMS 외부에서 데이터를 암호화할 수도 있습니다. 에 대한 자세한 정보를 반환할 수도 있습니다.AWS KMS키 (예: 방금 생성한 키) 또한 이러한 사용자는 첨부 파일을 관리할 수 있습니다.AWS리소스 (예: 대상 엔드포인트)

보안 암호를 사용하여 액세스AWS Database Migration Service끝점

에 대한AWS DMS, a비밀를 통해 인증할 사용자 자격 증명 세트를 나타내는 데 사용할 수 있는 암호화된 키입니다.시크릿 인증, 지원되는 에 대한 데이터베이스 연결AWS DMS소스 또는 대상 엔드포인트 Oracle Automatic Storage Management (ASM) 도 사용하는 Oracle 엔드포인트의 경우AWS DMSOracle ASM에 액세스하기 위한 사용자 자격 증명을 나타내는 추가 암호가 필요합니다.

다음과 같은 암호 또는 암호를 만들 수 있습니다.AWS DMS다음을 사용하는 비밀 인증이 필요합니다.AWS Secrets Manager클라우드 및 온프레미스에서 애플리케이션, 서비스 및 IT 리소스에 액세스하기 위한 자격 증명을 안전하게 생성, 저장 및 검색하는 서비스입니다. 여기에는 사용자의 개입 없이 암호화된 암호 값을 자동으로 주기적으로 교체하는 기능이 포함되며, 이를 통해 자격 증명의 보안 수준을 한층 더 강화할 수 있습니다. 에서 암호 값 회전 활성화AWS Secrets Manager또한 암호에 의존하는 데이터베이스 마이그레이션에 영향을 주지 않고 이러한 암호 값 순환이 수행되도록 합니다. 엔드포인트 데이터베이스 연결을 비밀리에 인증하려면 ID 또는 ARN을 할당하는 암호를 생성하십시오.SecretsManagerSecretId, 엔드포인트 설정에 포함시킬 수 있습니다. Oracle ASM을 Oracle 엔드포인트의 일부로 비밀리에 인증하려면 ID 또는 ARN을 할당하는 암호를 생성하십시오.SecretsManagerOracleAsmSecretId엔드포인트 설정에도 포함시킬 수 있습니다.

에 대한 자세한 정보AWS Secrets Manager참조할 섹션이란 무엇입니까?AWSSecrets Manager?에서AWS Secrets Manager사용 설명서.

AWS DMS다음 온프레미스에 대한 보안 인증을 지원하거나AWS-지원되는 소스 및 대상 엔드포인트의 관리형 데이터베이스:

  • Amazon DocumentDB

  • IBM Db2 LUW

  • Microsoft SQL Server

  • MongoDB

  • MySQL

  • Oracle

  • PostgreSQL

  • Amazon Redshift

  • SAP ASE

이러한 데이터베이스에 연결하려면 엔드포인트 설정의 일부로 다음 값 세트 중 하나를 입력할 수 있지만 둘 다 입력할 수는 없습니다.

  • 를 사용하여 데이터베이스 연결을 인증하는 일반 텍스트 값UserName,Password,ServerName, 및PortSeings. Oracle ASM도 사용하는 Oracle 엔드포인트의 경우 다음을 사용하여 ASM을 인증하기 위한 일반 텍스트 값을 추가로 포함하십시오.AsmUserName,AsmPassword, 및AsmServerNameSeings.

  • 의 값을 사용한 보안 인증SecretsManagerSecretIdSecretsManagerAccessRoleArnSeings. Oracle ASM을 사용하는 Oracle 엔드포인트의 경우 다음에 대한 추가 값을 포함하십시오.SecretsManagerOracleAsmSecretIdSecretsManagerOracleAsmAccessRoleArnSeings. 이러한 설정의 암호 값에는 다음에 대한 내용이 포함될 수 있습니다.

    • SecretsManagerSecretId— 엔드포인트 데이터베이스 액세스를 위해 생성한 암호의 전체 Amazon 리소스 이름 (ARN), 부분 ARN 또는 친숙한 이름AWS Secrets Manager.

    • SecretsManagerAccessRoleArn— 제공하기 위해 IAM에서 생성한 보안 액세스 역할의 ARNAWS DMS이에 대한 액세스SecretsManagerSecretId사용자를 대신하여 보안 암호.

    • SecretsManagerOracleAsmSecretId— Oracle ASM 액세스를 위해 생성한 암호의 전체 Amazon 리소스 이름 (ARN), 부분 ARN 또는 친숙한 이름AWS Secrets Manager.

    • SecretsManagerOracleAsmAccessRoleArn— 제공하기 위해 IAM에서 생성한 보안 액세스 역할의 ARNAWS DMS이에 대한 액세스SecretsManagerOracleAsmSecretId사용자를 대신하여 보안 암호.

    참고

    단일 보안 액세스 역할을 사용하여 제공할 수도 있습니다.AWS DMS두 곳 모두에 대한 액세스SecretsManagerSecretIdSecrets 및SecretsManagerOracleAsmSecretId암호. 두 암호 모두에 대해 이 단일 보안 액세스 역할을 생성하는 경우 이 액세스 역할에 대해 동일한 ARN을 두 암호 모두에 할당해야 합니다.SecretsManagerAccessRoleArnSecretsManagerOracleAsmAccessRoleArn. 예를 들어, 두 암호에 대한 보안 액세스 역할의 ARN이 변수에 할당된 경우ARN2xsecrets, 이러한 ARN 설정을 다음과 같이 설정할 수 있습니다.

    SecretsManagerAccessRoleArn = ARN2xsecrets; SecretsManagerOracleAsmAccessRoleArn = ARN2xsecrets;

    이러한 값을 만드는 방법에 대한 자세한 내용은 단원을 참조하십시오.사용AWS Management Console보안 및 보안 액세스 역할 생성.

엔드포인트에 필요한 암호 및 보안 액세스 역할 엔드포인트 설정을 만들고 지정한 후에는 를 실행할 사용자 계정의 권한을 업데이트하십시오.CreateEndpoint또는ModifyEndpoint이러한 보안 세부 정보가 포함된 API 요청 이러한 계정 권한에 다음이 포함되는지 확인하십시오.IAM:GetRole보안 액세스 역할에 대한 권한 및SecretsManager:DescribeSecret비밀에 대한 허가.AWS DMS액세스 역할과 해당 암호를 모두 검증하려면 이러한 권한이 필요합니다.

필요한 사용자 권한 제공 및 확인

  1. AWS Management Console에 로그인한 다음 AWS Identity and Access Management에서 https://console.aws.amazon.com/iam/ 콘솔을 엽니다.

  2. 선택해사용자를 선택한 다음사용자 ID제작에 사용CreateEndpointModifyEndpointAPI 호출.

  3. (사용)권한탭, 선택{} JSON.

  4. 사용자에게 다음과 같은 권한이 있는지 확인하십시오.

    { "Statement": [{ "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "SECRET_ACCESS_ROLE_ARN" }, { "Effect": "Allow", "Action": "secretsmanager:DescribeSecret", "Resource": "SECRET_ARN" } ] }
  5. 사용자에게 해당 권한이 없는 경우 권한을 추가하십시오.

  6. IAM 역할을 사용하여 DMS API 호출을 수행하는 경우 각 역할에 대해 위의 단계를 반복하십시오.

  7. 터미널을 열고 를 사용합니다.AWS CLI위에서 사용한 역할 또는 사용자를 가정하여 권한이 올바르게 부여되었는지 확인합니다.

    1. 에 대한 사용자 권한 확인 SecretAccessRole IAM 사용get-role명령.

      aws iam get-role --role-name ROLE_NAME

      교체ROLE_NAME이름이 다음과 같이SecretsManagerAccessRole.

      명령에서 오류 메시지가 반환되는 경우 권한이 올바르게 지정되었는지 확인하십시오.

    2. Secrets Manager를 사용하여 암호에 대한 사용자의 권한을 검증describe-secret명령.

      aws secretsmanager describe-secret --secret-id SECRET_NAME OR SECRET_ARN --region=REGION_NAME

      사용자는 친숙한 이름, 부분 ARN 또는 전체 ARN일 수 있습니다. 자세한 내용을 알아보려면 다음 섹션을 참조하세요.Secret-create.

      명령에서 오류 메시지가 반환되는 경우 권한이 올바르게 지정되었는지 확인하십시오.

사용AWS Management Console보안 및 보안 액세스 역할 생성

다음을 사용할 수 있습니다.AWS Management Console엔드포인트 인증을 위한 시크릿 생성 및 허용할 정책 및 역할 생성AWS DMS를 대신하여 보안 암호에 액세스할 수 있습니다.

를 사용하여 보안 암호를 만들려면AWS Management Console그AWS DMS소스 및 대상 엔드포인트 연결을 위한 데이터베이스를 인증하는 데 사용할 수 있습니다.

  1. AWS Management Console에 로그인한 다음 AWS Secrets Manager에서 https://console.aws.amazon.com/secretsmanager/ 콘솔을 엽니다.

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

  3. 아래에보안 암호 유형 선택새 보안 암호 저장페이지, 선택다른 유형의 보안 암호, 그런 다음 선택하십시오일반 텍스트.

    참고

    이 시점부터 엔드포인트 데이터베이스에 연결하려면 여기에서만 일반 텍스트 자격 증명을 입력해야 합니다.

  4. 에서일반 텍스트필드:

    • 신원을 할당받은 시크릿의 경우SecretsManagerSecretId에서 다음 JSON 구조를 입력합니다.

      { "username": db_username, "password": db_user_password, "port": db_port_number, "host": db_server_name }
      참고

      엔드포인트 데이터베이스를 인증하는 데 필요한 최소 JSON 구성원 목록입니다. 모든 추가 JSON 엔드포인트 설정을 원하는 소문자로 JSON 구성원으로 추가할 수 있습니다. 그러나,AWS DMS엔드포인트 인증을 위한 추가 JSON 구성원을 모두 무시합니다.

      여기,db_username데이터베이스에 액세스하는 사용자의 이름입니다.db_user_password는 데이터베이스 사용자의 암호입니다.db_port_number데이터베이스에 액세스하기 위한 포트 번호이고db_server_name다음 예와 같이 웹상의 데이터베이스 서버 이름 (주소) 입니다.

      { "username": "admin", "password": "some_password", "port": "8190", "host": "oracle101.abcdefghij.us-east-1.rds.amazonaws.com" }
    • 신원을 할당받은 시크릿의 경우SecretsManagerOracleAsmSecretId에서 다음 JSON 구조를 입력합니다.

      { "asm_user": asm_username, "asm_password": asm_user_password, "asm_server": asm_server_name }
      참고

      Oracle 엔드포인트에 대해 Oracle ASM을 인증하는 데 필요한 최소 JSON 구성원 목록입니다. 또한 사용 가능한 Oracle ASM 엔드포인트 설정을 기반으로 지정할 수 있는 전체 목록이기도 합니다.

      여기,asm_usernameOracle ASM에 액세스하는 사용자의 이름입니다.asm_user_password는 오라클 ASM 사용자의 비밀번호이며asm_server_name는 다음 예와 같이 포트를 포함한 웹상의 Oracle ASM 서버 이름 (주소) 입니다.

      { "asm_user": "oracle_asm_user", "asm_password": "oracle_asm_password", "asm_server": "oracle101.abcdefghij.us-east-1.rds.amazonaws.com:8190/+ASM" }
  5. 선택AWS KMS보안 암호를 암호화하는 암호화 키. 서비스에 대해 생성된 기본 암호화 키는 다음과 같이 수락할 수 있습니다.AWS Secrets Manager또는 SELECTAWS KMS사용자가 생성한 키

  6. 이 암호를 참조할 이름과 설명 (선택 사항) 을 지정합니다. 이 이름은 값으로 사용하는 친숙한 이름입니다.SecretsManagerSecretId또는SecretsManagerOracleAsmSecretId.

  7. 시크릿에서 자동 회전을 활성화하려면 다음을 선택하거나 만들어야 합니다.AWS Lambda설명에 따라 시크릿에 대한 자격 증명을 교체할 수 있는 권한이 있는 함수 하지만 Lambda 함수를 사용하도록 자동 회전을 설정하기 전에 함수의 구성 설정에서 다음 4자를 의 값에 추가해야 합니다.EXCLUDE_CHARACTERS환경 변수.

    ;.:+

    AWS DMS엔드포인트 자격 증명에 사용되는 암호에는 이러한 문자를 사용할 수 없습니다. 이를 제외하도록 Lambda 함수를 구성하면AWS Secrets Manager회전된 암호 값의 일부로 이러한 문자를 생성하는 것을 말합니다. Lambda 함수를 사용하도록 자동 회전을 설정한 후에는AWS Secrets Manager시크릿을 즉시 교체하여 시크릿 컨피그레이션을 검증합니다.

    참고

    데이터베이스 엔진 구성에 따라 데이터베이스가 교체된 자격 증명을 가져오지 못할 수도 있습니다. 이 경우 작업을 수동으로 다시 시작하여 자격 증명으로 갱신해야 합니다.

  8. 에서 보안 암호 검토 및 저장AWS Secrets Manager. 그런 다음 에서 친근한 이름으로 각 시크릿을 찾아볼 수 있습니다.AWS Secrets Manager그런 다음 시크릿 ARN을 의 값으로 검색합니다.SecretsManagerSecretId또는SecretsManagerOracleAsmSecretId엔드포인트 데이터베이스 연결 및 Oracle ASM (사용되는 경우) 에 대한 액세스를 인증하는 데 적합합니다.

보안 액세스 정책 및 역할을 만들려면SecretsManagerAccessRoleArn또는SecretsManagerOracleAsmAccessRoleArn, 허용AWS DMS액세스AWS Secrets Manager적절한 비밀번호에 접근하기

  1. 에 로그인합니다.AWS Management Console을 엽니다.AWS Identity and Access Management(IAM) 콘솔 앳https://console.aws.amazon.com/iam/.

  2. 선택해정책, 그런 다음 선택하십시오정책 생성.

  3. 선택해JSON다음 정책을 입력하여 보안 정보에 대한 액세스 및 암호 해독을 활성화합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": secret_arn, }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": kms_key_arn, } ] }

    여기,secret_arn는 비밀의 ARN이며, 둘 중 하나에서 가져올 수 있습니다.SecretsManagerSecretId또는SecretsManagerOracleAsmSecretId적절한 경우, 그리고kms_key_arn는 의 ARN 입니다.AWS KMS다음 예와 같이 암호를 암호화하는 데 사용하는 키입니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:us-east-2:123456789012:secret:MySQLTestSecret-qeHamH" }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-east-2:123456789012:key/761138dc-0542-4e58-947f-4a3a8458d0fd" } ] }
    참고

    에서 만든 기본 암호화 키를 사용하는 경우AWS Secrets Manager를 지정할 필요는 없습니다.AWS KMS권한kms_key_arn.

    정책에서 두 보안 암호에 모두 액세스할 수 있도록 하려면 다른 암호에 대한 추가 JSON 리소스 객체를 지정하기만 하면 됩니다.시크릿_언.

  4. 알기 쉬운 이름과 선택적 설명을 사용하여 정책을 검토하고 작성하십시오.

  5. 선택해Roles, 그런 다음 선택하십시오역할 생성.

  6. 선택해AWS서비스신뢰할 수 있는 주체의 유형입니다.

  7. 선택해DMS서비스 목록에서 신뢰할 수 있는 서비스로 선택한 다음다음: Permissions)]을 선택합니다.

  8. 4단계에서 생성한 정책을 찾아 첨부한 다음 태그를 추가하고 역할을 검토하세요. 이때 사용할 역할에 대한 신뢰 관계를 편집하십시오.AWS DMS신뢰할 수 있는 주체로서의 지역 서비스 주체 이 원칙의 형식은 다음과 같습니다.

    dms.region-name.amazonaws.com

    여기,region-name해당 지역의 이름입니다 (예:us-east-1. 따라서AWS DMS이 지역의 지역 서비스 책임자는 다음과 같습니다.

    dms.us-east-1.amazonaws.com
  9. 역할의 신뢰할 수 있는 엔터티를 편집한 후 친숙한 이름과 선택적 설명을 사용하여 역할을 생성합니다. 이제 IAM에서 친숙한 이름으로 새 역할을 조회한 다음 역할 ARN을 다음과 같이 검색할 수 있습니다.SecretsManagerAccessRoleArn또는SecretsManagerOracleAsmAccessRoleArn엔드포인트 데이터베이스 연결을 인증하기 위한 값입니다.

프라이빗 서브넷의 복제 인스턴스와 함께 시크릿 매니저를 사용하려면

  1. 시크릿 매니저 VPC 엔드포인트를 만들고 엔드포인트의 DNS를 기록해 둡니다. 보안 관리자 VPC 엔드포인트 생성에 대한 자세한 내용은 단원을 참조하십시오.VPC 엔드포인트를 통해 Secrets Manager 매니저에 연결 에서AWSSecrets Manager 사용 설명서.

  2. 복제 인스턴스 보안 그룹을 시크릿 매니저 VPC 엔드포인트에 연결합니다.

  3. 복제 인스턴스 보안 그룹 송신 규칙의 경우 대상의 모든 트래픽을 허용합니다.0.0.0.0/0.

  4. 엔드포인트 추가 연결 속성을 설정합니다.secretsManagerEndpointOverride=secretsManager endpoint DNS다음 예와 같이 보안 관리자 VPC 엔드포인트 DNS를 제공합니다.

    secretsManagerEndpointOverride=vpce-1234a5678b9012c-12345678.secretsmanager.eu-west-1.vpce.amazonaws.com

AWS Database Migration Service 자격 증명 및 액세스 문제 해결

다음 정보를 사용하여 AWS DMS 및 IAM에서 발생할 수 있는 공통적인 문제를 진단하고 수정할 수 있습니다.

AWS DMS에서 작업을 수행할 권한이 없음

AWS Management Console에서 태스크를 수행할 권한이 없다는 메시지가 나타나는 경우 관리자에게 문의하여 도움을 받아야 합니다. 관리자는 사용자 이름과 암호를 제공한 사람입니다.

다음 예제 오류는 다음과 같은 경우에 발생합니다.mateojacksonIAM 사용자가 콘솔을 사용하여 에 대한 세부 정보를 보려고 합니다.AWSDMS 엔드포인트는 있지만 없음dms: DescribeEndpoint권한.

User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: dms:DescribeEndpoint on resource: my-postgresql-target

이 경우 Mateo는 dms:DescribeEndpoint 작업을 사용하여 my-postgresql-target 엔드포인트 리소스에 액세스하도록 허용하는 정책을 업데이트할 것을 관리자에게 요청합니다.

iam을 수행하도록 인증되지 않음:PassRole

iam:PassRole 작업을 수행할 수 있는 권한이 없다는 오류가 수신되면 AWS DMS에 역할을 전달할 수 있도록 정책을 업데이트해야 합니다.

일부 AWS 서비스에서는 새 서비스 역할 또는 서비스 연결 역할을 생성하는 대신, 해당 서비스에 기존 역할을 전달할 수 있습니다. 이렇게 하려면 사용자가 서비스에 역할을 전달할 수 있는 권한을 가지고 있어야 합니다.

다음 예시 오류는 marymajor라는 IAM 사용자가 콘솔을 사용하여 AWS DMS에서 작업을 수행하려고 하는 경우에 발생합니다. 하지만 작업을 수행하려면 서비스에 서비스 역할이 부여한 권한이 있어야 합니다. Mary는 서비스에 역할을 전달할 수 있는 권한을 가지고 있지 않습니다.

User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole

이 경우 Mary가 iam:PassRole 작업을 수행할 수 있도록 Mary의 정책을 업데이트해야 합니다.

도움이 필요한 경우 AWS 관리자에게 문의하세요. 관리자는 로그인 보안 인증 정보를 제공한 사람입니다.

액세스 키를 보아야 합니다.

IAM 사용자 액세스 키를 생성한 후에는 언제든지 액세스 키 ID를 볼 수 있습니다. 하지만 보안 액세스 키는 다시 볼 수 없습니다. 보안 액세스 키를 잃어버린 경우 새로운 액세스 키 페어를 생성해야 합니다.

액세스 키는 액세스 키 ID(예: AKIAIOSFODNN7EXAMPLE)와 보안 액세스 키(예: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY)의 두 가지 부분으로 구성됩니다. 사용자 이름 및 암호와 같이 액세스 키 ID와 보안 액세스 키를 함께 사용하여 요청을 인증해야 합니다. 사용자 이름과 암호를 관리하는 것처럼 안전하게 액세스 키를 관리합니다.

중요

정식 사용자 ID를 찾는 데 도움이 되더라도 액세스 키를 타사에 제공하지 마시기 바랍니다. 이로 인해 다른 사람에게 계정에 대한 영구 액세스를 제공하게 될 수 있습니다.

액세스 키 페어를 생성할 때는 액세스 키 ID와 보안 액세스 키를 안전한 위치에 저장하라는 메시지가 나타납니다. 보안 액세스 키는 생성할 때만 사용할 수 있습니다. 하지만 보안 액세스 키를 잃어버린 경우 새로운 액세스 키를 IAM 사용자에게 추가해야 합니다. 최대 두 개의 액세스 키를 가질 수 있습니다. 이미 두 개가 있는 경우 새로 생성하려면 먼저 키 페어 하나를 삭제해야 합니다. 지침을 보려면 IAM 사용 설명서액세스 키 관리 단원을 참조하세요.

관리자인데, 다른 사용자가 AWS DMS에 액세스할 수 있게 허용하려고 합니다

다른 사용자가 AWS DMS에 액세스하도록 허용하려면 액세스 권한이 필요한 사용자나 애플리케이션에 대한 IAM 엔터티(사용자 또는 역할)를 생성해야 합니다. 다른 사용자들은 해당 엔터티에 대한 자격 증명을 사용해 AWS에 액세스합니다. 그런 다음 AWS DMS에 대한 올바른 권한을 부여하는 정책을 엔터티에 연결해야 합니다.

바로 시작하려면 IAM 사용 설명서첫 번째 IAM 위임 사용자 및 그룹 생성을 참조하세요.

내 AWS 계정 외부의 사람이 내 AWS DMS 리소스에 액세스할 수 있게 허용하기를 원함

다른 계정의 사용자 또는 조직 외부의 사람이 리소스에 액세스하는 데 사용할 수 있는 역할을 생성할 수 있습니다. 역할을 수임할 신뢰할 수 있는 사람을 지정할 수 있습니다. 리소스 기반 정책 또는 ACL(액세스 제어 목록)을 지원하는 서비스의 경우 이러한 정책을 사용하여 다른 사람에게 리소스에 대한 액세스 권한을 부여할 수 있습니다.

자세히 알아보려면 다음을 참조하세요.

AWS Database Migration Service의 규정 준수 확인

타사 감사자는 여러 AWS Database Migration Service 규정 준수 프로그램의 일환으로 AWS의 보안 및 규정 준수를 평가합니다. 다음과 같은 프로그램이 포함됩니다.

  • SOC

  • PCI

  • ISO

  • FedRAMP

  • DoD CC SRG

  • HIPAA BAA

  • MTCS

  • CS

  • K-ISMS

  • ENS High

  • OSPAR

  • HITRUST CSF

특정 규정 준수 프로그램의 범위 내에 있는 AWS 서비스 목록은 규정 준수 프로그램 제공 범위 내 AWS 서비스를 참조하세요. 일반적인 내용은 AWS 규정 준수 프로그램을 참조하세요.

AWS Artifact를 사용하여 타사 감사 보고서를 다운로드할 수 있습니다. 자세한 내용을 알아보려면 다음 섹션을 참조하세요.보고서 다운로드AWS인공물.

AWS DMS 사용 시 규정 준수 책임은 데이터의 민감도, 회사의 규정 준수 목표 및 관련 법률과 규정에 따라 결정됩니다. AWS에서는 규정 준수를 지원할 다음과 같은 리소스를 제공합니다.

  • 보안 및 규정 준수 빠른 시작 안내서 – 이 배포 안내서에서는 아키텍처 고려 사항에 관해 설명하고 AWS에서 보안 및 규정 준수에 중점을 둔 기본 환경을 배포하기 위한 단계를 제공합니다.

  • HIPAA 보안 및 규정 준수 기술 백서 설계 - 이 백서는 기업에서 AWS을(를) 사용하여 HIPAA를 준수하는 애플리케이션을 생성하는 방법을 설명합니다.

  • AWS 규정 준수 리소스 - 고객 조직이 속한 산업 및 위치에 적용될 수 있는 워크북 및 가이드 모음입니다.

  • AWS Config – 이 AWS 서비스로 리소스 구성이 내부 관행, 업계 지침 및 규정을 준수하는 정도를 평가할 수 있습니다.

  • AWS Security Hub - 이 AWS 서비스는 보안 산업 표준 및 모범 사례 규정 준수 여부를 확인하는 데 도움이 되도록 AWS 내 보안 상태를 종합적으로 보여줍니다.

AWS Database Migration Service의 복원성

AWS 글로벌 인프라는 AWS 리전 및 가용 영역을 중심으로 구축됩니다. AWS 리전은 물리적으로 분리되고 격리된 다수의 가용 영역을 제공하며 이러한 가용 영역은 짧은 지연 시간, 높은 처리량 및 높은 중복성을 갖춘 네트워크에 연결되어 있습니다. 가용 영역을 사용하면 중단 없이 가용 영역 간에 자동으로 장애 조치가 이루어지는 애플리케이션 및 데이터베이스를 설계하고 운영할 수 있습니다. 가용 영역은 기존의 단일 또는 다중 데이터 센터 인프라보다 가용성, 내결함성, 확장성이 뛰어납니다.

AWS 리전 및 가용 영역에 대한 자세한 내용은 AWS 글로벌 인프라를 참조하세요.

그 외에도AWSglobalinfrastructure,AWS DMS는 다중 AZ 배포를 사용해 복제 인스턴스에 고가용성과 장애 조치 기능을 제공합니다.다중 AZ옵션.

다중 AZ 배포에서AWSDMS는 다른 가용 영역에서 복제 인스턴스의 예비 복제본을 자동으로 프로비저닝하고 유지합니다. 기본 복제 인스턴스는 대기 복제본에 동기식으로 복제됩니다. 기본 복제 인스턴스에 장애가 발생하거나 무응답 상태가 되면 대기 복제본은 중단을 최소화하면서 실행 중이던 작업을 다시 시작합니다. 기본 복제본은 자신의 상태를 끊임없이 대기 복제본으로 복제하기 때문에 다중 AZ 배포는 약간의 성능 오버헤드를 발생시킵니다.

다중 AZ 배포 사용에 대한 자세한 내용은 AWS DMS 복제 인스턴스 사용 단원을 참조하십시오.

AWS Database Migration Service의 인프라 보안

매니지드 서비스로서AWS Database Migration Service에 의해 보호됩니다.AWS에 설명된 글로벌 네트워크 보안 절차Amazon Web Services: 보안 프로세스 개요백서.

AWS에서 게시한 API 호출을 사용하여 네트워크를 통해 AWS DMS에 액세스합니다. 클라이언트가 전송 계층 보안(TLS) 1.0 이상을 지원해야 합니다. 클라이언트는 Ephemeral Diffie-Hellman(DHE) 또는 Elliptic Curve Ephemeral Diffie-Hellman(ECDHE)과 같은 PFS(전달 완전 보안, Perfect Forward Secrecy)가 포함된 암호 제품군도 지원해야 합니다. Java 7 이상의 최신 시스템은 대부분 이러한 모드를 지원합니다.

또한 요청은 액세스 키 ID 및 와 관련된 보안 액세스 키를 사용하여 서명해야 합니다.AWS Identity and Access Management(IAM) 주도자. 또는 AWS Security Token Service(AWS STS)를 사용하여 임시 보안 자격 증명을 생성하여 요청에 서명할 수 있습니다.

이러한 API 작업은 모든 네트워크 위치에서 호출할 수 있습니다.AWS DMS원본 IP 주소 등에 따라 작업과 리소스에 대한 제한을 지정할 수 있는 리소스 기반 액세스 정책도 지원합니다. 또한 를 사용할 수 있습니다.AWS DMS특정 Amazon VPC 엔드포인트 또는 특정 가상 프라이빗 클라우드 (VPC) 에서 액세스를 제어하는 정책. 그러면 AWS 네트워크의 특정 VPC에서만 특정 AWS DMS 리소스에 대한 네트워크 액세스가 효과적으로 격리됩니다. 예제를 포함하여 AWS DMS에서 리소스 기반 액세스 정책을 사용하는 방법에 대한 자세한 내용은 리소스 이름 및 태그를 사용하여 세분화된 액세스 제어 단원을 참조하십시오.

커뮤니케이션 범위를 좁히려면AWS DMS단일 VPC 내에 연결할 수 있는 VPC 인터페이스 엔드포인트를 만들 수 있습니다.AWS DMS를 통해AWS PrivateLink.AWS PrivateLink모든 전화를 걸 수 있도록 도와줍니다.AWS DMS관련 결과는 인터페이스 엔드포인트가 생성된 특정 VPC에만 국한됩니다. 그런 다음 이 인터페이스 엔드포인트의 URL을 모든 옵션의 옵션으로 지정할 수 있습니다.AWS DMS를 사용하여 실행하는 명령AWS CLI또는 SDK. 이렇게 하면 전체 커뮤니케이션이 이루어질 수 있습니다.AWS DMSVPC에만 국한되어 있고 공용 인터넷에서는 보이지 않습니다.

단일 VPC DMS에 액세스하기 위한 인터페이스 엔드포인트를 만들려면

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

  2. 탐색 창에서 를 선택합니다.엔드포인트. 이 기능을 엽니다.엔드포인트 생성페이지: VPC 다음과 같은 인터페이스 엔드포인트를 생성할 수 있습니다.AWS DMS.

  3. 선택해AWS서비스를 누른 다음 값을 검색하여 선택하십시오.서비스 이름, 이 경우AWS DMS다음과 같은 형식으로.

    com.amazonaws.region.dms

    여기,region를 지정합니다.AWS지역 위치AWS DMS런 (예:)com.amazonaws.us-west-2.dms.

  4. 에 대한VPC에서 인터페이스 엔드포인트를 생성할 VPC 선택합니다.vpc-12abcd34.

  5. 다음 값을 선택합니다.가용 영역그리고... 에서브넷 ID. 이 값은 선택한 위치를 나타내야 합니다.AWS DMS예를 들어 엔드포인트를 실행할 수 있습니다.us-west-2a (usw2-az1)subnet-ab123cd4.

  6. 선택해DNS 이름 활성화DNS 이름을 가진 엔드포인트를 생성합니다. 이 DNS 이름은 엔드포인트 ID (vpce-12abcd34efg567hij) 임의의 문자열로 하이픈 넣기 (ab12dc34). 이들은 점으로 구분된 역순으로 서비스 이름과 구분되며 다음과 같이 구분됩니다.vpce추가된 내용 (dms.us-west-2.vpce.amazonaws.com).

    예를 들면, vpce-12abcd34efg567hij-ab12dc34.dms.us-west-2.vpce.amazonaws.com입니다.

  7. 에 대한보안 그룹에서 엔드포인트에 사용할 그룹을 선택합니다.

    보안 그룹을 설정할 때는 그룹 내에서 아웃바운드 HTTPS 호출을 허용해야 합니다. 자세한 내용을 알아보려면 다음 섹션을 참조하세요.보안 그룹 생성에서Amazon VPC User Guide.

  8. 다음을 선택합니다.모든 액세스또는 사용자 지정 값Policy. 예를 들어, 특정 작업 및 리소스에 대한 엔드포인트의 액세스를 제한하는 다음과 유사한 사용자 지정 정책을 선택할 수 있습니다.

    { "Statement": [ { "Action": "dms:*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": [ "dms:ModifyReplicationInstance", "dms:DeleteReplicationInstance" ], "Effect": "Deny", "Resource": "arn:aws:dms:us-west-2:<account-id>:rep:<replication-instance-id>", "Principal": "*" } ] }

    여기, 샘플 정책은 모든 것을 허용합니다AWS DMSAPI 호출 (특정 복제 인스턴스 삭제 또는 수정 제외)

이제 6단계에서 만든 DNS 이름을 옵션으로 사용하여 만든 URL을 지정할 수 있습니다. 매번 이 값을 지정합니다.AWS DMS생성된 인터페이스 엔드포인트를 사용하여 서비스 인스턴스에 액세스하기 위한 CLI 명령 또는 API 작업 예를 들어 DMS CLI 명령을 실행할 수 있습니다.DescribeEndpoints이 VPC 에서 다음과 같이

$ aws dms describe-endpoints --endpoint-url https://vpce-12abcd34efg567hij-ab12dc34.dms.us-west-2.vpce.amazonaws.com

프라이빗 DNS 옵션을 활성화한 경우 요청에 엔드포인트 URL을 지정할 필요가 없습니다.

VPC 인터페이스 엔드포인트 생성 및 사용 (프라이빗 DNS 옵션 활성화 포함) 에 대한 자세한 내용은 을 참조하십시오.인터페이스 VPC 엔드포인트 ()AWS PrivateLink)에서Amazon VPC User Guide.

AWS DMS 사용에 필요한 IAM 권한

AWS DMS를 사용하려면 특정 IAM 권한 및 IAM 역할을 사용합니다. IAM 사용자로 로그인하여 AWS DMS를 사용하려면 계정 관리자가 이 단원에서 설명한 정책을 AWS DMS를 실행할 때 사용하는 IAM 사용자, 그룹 또는 역할에 연결해야 합니다. IAM 권한에 대한 자세한 내용은 IAM 사용 설명서를 참조하십시오.

다음 정책은 다음과 같은 항목에 대한 액세스를 제공합니다.AWS DMS또한 다음과 같은 다른 Amazon 서비스에서 필요한 특정 작업에 대한 권한도 있습니다.AWS KMS, IAM, Amazon EC2, 아마존 CloudWatch. CloudWatch모니터링AWS DMS실시간으로 마이그레이션하고 마이그레이션 진행 상황을 나타내는 지표를 수집 및 추적합니다. 다음을 사용할 수 있습니다. CloudWatch 작업 관련 문제를 디버깅하기 위한 로그입니다.

참고

태그 지정을 사용하여 AWS DMS 리소스에 대한 액세스를 추가로 제한할 수 있습니다. 태그 지정을 사용하여 AWS DMS 리소스에 대한 액세스를 제한하는 자세한 내용은 리소스 이름 및 태그를 사용하여 세분화된 액세스 제어 단원을 참조하십시오.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dms:*", "Resource": "arn:aws:dms:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeInternetGateways", "ec2:DescribeAvailabilityZones", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:ModifyNetworkInterfaceAttribute", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "cloudwatch:Get*", "cloudwatch:List*" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "redshift:Describe*", "redshift:ModifyClusterIamRoles" ], "Resource": "arn:aws:dms:region:account:resourcetype/id" } ] }

다음과 같은 권한을 세분화하면 각 권한이 필요한 이유를 더 잘 이해하는 데 도움이 될 수 있습니다.

다음 단원은 사용자에게 AWS DMS API 작업을 호출할 수 있도록 하는 데 필요합니다.

{ "Effect": "Allow", "Action": "dms:*", "Resource": "arn:aws:dms:region:account:resourcetype/id" }

다음 단원은 사용자에게 콘솔에 표시할 수 있는 AWS KMS 키와 별칭을 나열할 수 있도록 하는 데 필요합니다. KMS 키에 대한 Amazon 리소스 이름(ARN)을 알고 있고 AWS Command Line Interface(AWS CLI)만을 사용할 때는 이 항목이 필요하지 않습니다.

{ "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

엔드포인트를 사용하여 IAM 역할 ARN을 전달해야 하는 특정 엔드포인트 유형에는 다음 섹션이 필요합니다. 또한, 필요한 AWS DMS 역할을 사전에 생성하지 않은 경우 AWS DMS 콘솔이 해당 역할을 생성할 수 있습니다. 모든 역할이 사전에 구성된 경우 iam:GetRoleiam:PassRole만 있으면 됩니다. 역할에 대한 자세한 내용은 AWS CLI 및 AWS DMS API에서 사용하는 IAM 역할 생성 단원을 참조하세요.

{ "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

다음 섹션은 다음과 같습니다.AWS DMSAmazon EC2 인스턴스를 생성하고 생성된 복제 인스턴스에 대한 네트워크를 구성해야 합니다. 이러한 리소스는 고객의 계정에 있으므로 고객 대신에 이러한 작업을 수행하는 기능이 필요합니다.

{ "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeInternetGateways", "ec2:DescribeAvailabilityZones", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:ModifyNetworkInterfaceAttribute", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

사용자가 복제 인스턴스 지표를 볼 수 있도록 하려면 다음 단원이 필요합니다.

{ "Effect": "Allow", "Action": [ "cloudwatch:Get*", "cloudwatch:List*" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

사용자가 복제 로그를 볼 수 있도록 하려면 이 섹션이 필요합니다.

{ "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

Amazon Redshift Redshift를 대상으로 사용할 때는 다음 섹션이 필요합니다. 허용할 섹션AWS DMSAmazon Redshift 클러스터가 에 대해 올바르게 설정되었는지 검증하기 위해AWS DMS.

{ "Effect": "Allow", "Action": [ "redshift:Describe*", "redshift:ModifyClusterIamRoles" ], "Resource": "arn:aws:dms:region:account:resourcetype/id" }

이AWS DMS콘솔은 에 자동으로 연결되는 여러 역할을 생성합니다.AWS사용할 때의 계정AWS DMS콘솔. AWS Command Line Interface(AWS CLI) 또는 AWS DMS API를 사용하여 마이그레이션하는 경우, 이 역할을 계정에 추가해야 합니다. 이러한 역할을 추가하는 자세한 내용은 AWS CLI 및 AWS DMS API에서 사용하는 IAM 역할 생성 단원을 참조하십시오.

AWS CLI 및 AWS DMS API에서 사용하는 IAM 역할 생성

사용하는 도구AWS CLI또는AWS DMS데이터베이스 마이그레이션을 위한 API로, 세 개의 IAM 역할을 추가해야 합니다.AWS다음 기능을 사용하기 전에 계정을 사용하세요AWS DMS. 이 중 두 가지는 dms-vpc-roledms-cloudwatch-logs-role입니다. Amazon Redshift Redshift를 대상 데이터베이스로 사용하는 경우 IAM 역할도 추가해야 합니다.dms-access-for-endpoint당신에게AWS계정.

관리형 정책은 자동으로 업데이트됩니다. IAM 역할에서 사용자 지정 정책을 사용하는 경우, 이 설명서의 관리형 정책 업데이트를 정기적으로 확인해야 합니다. 관리형 정책의 세부 정보를 보려면 get-policyget-policy-version 명령을 조합하여 사용하면 됩니다.

예를 들어 다음 get-policy 명령은 지정된 IAM 역할에 대한 정보를 검색합니다.

aws iam get-policy --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole

이 명령에서 반환되는 정보는 다음과 같습니다.

{ "Policy": { "PolicyName": "AmazonDMSVPCManagementRole", "Description": "Provides access to manage VPC settings for AWS managed customer configurations", "CreateDate": "2015-11-18T16:33:19Z", "AttachmentCount": 1, "IsAttachable": true, "PolicyId": "ANPAJHKIGMBQI4AEFFSYO", "DefaultVersionId": "v3", "Path": "/service-role/", "Arn": "arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole", "UpdateDate": "2016-05-23T16:29:57Z" } }

다음 get-policy-version 명령은 IAM 정책 정보를 검색합니다.

aws iam get-policy-version --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole --version-id v3

이 명령에서 반환되는 정보는 다음과 같습니다.

{ "PolicyVersion": { "CreateDate": "2016-05-23T16:29:57Z", "VersionId": "v3", "Document": { "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:CreateNetworkInterface", "ec2:DescribeAvailabilityZones", "ec2:DescribeInternetGateways", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DeleteNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute" ], "Resource": "arn:aws:service:region:account:resourcetype/id", "Effect": "Allow" } ] }, "IsDefaultVersion": true } }

동일한 명령을 사용하여 AmazonDMSCloudWatchLogsRoleAmazonDMSRedshiftS3Role 관리형 정책에 대한 정보를 가져올 수 있습니다.

참고

사용하는 도구AWS DMS데이터베이스 마이그레이션을 위한 콘솔에서는 이러한 역할이AWS자동으로 계정을 만드세요.

다음 절차에 따라 dms-vpc-role, dms-cloudwatch-logs-role, dms-access-for-endpoint IAM 역할을 생성합니다.

를 생성하려면 dms-vpc-role 과 함께 사용할 IAM 역할AWS CLI또는AWS DMSAPI

  1. 다음 IAM 정책을 사용하여 JSON 파일을 생성합니다. JSON 파일에 dmsAssumeRolePolicyDocument.json 이름을 지정합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    다음 명령을 사용하는 AWS CLI를 사용하여 역할을 생성합니다.

    aws iam create-role --role-name dms-vpc-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument.json
  2. 다음 명령을 사용하여 AmazonDMSVPCManagementRole 정책을 dms-vpc-role에 연결합니다.

    aws iam attach-role-policy --role-name dms-vpc-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole

를 생성하려면 dms-cloudwatch-logs-role 과 함께 사용할 IAM 역할AWS CLI또는AWS DMSAPI

  1. 다음 IAM 정책을 사용하여 JSON 파일을 생성합니다. JSON 파일에 dmsAssumeRolePolicyDocument2.json 이름을 지정합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    다음 명령을 사용하는 AWS CLI를 사용하여 역할을 생성합니다.

    aws iam create-role --role-name dms-cloudwatch-logs-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument2.json
  2. 다음 명령을 사용하여 AmazonDMSCloudWatchLogsRole 정책을 dms-cloudwatch-logs-role에 연결합니다.

    aws iam attach-role-policy --role-name dms-cloudwatch-logs-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole

대상 데이터베이스로 Amazon Redshift Redshift를 사용하는 경우 IAM 역할을 생성해야 합니다.dms-access-for-endpointAmazon S3 대한 액세스를 제공합니다.

를 생성하려면 dms-access-for-endpoint 대상 데이터베이스로 Amazon Redshift Redshift와 함께 사용할 IAM 역할

  1. 다음 IAM 정책을 사용하여 JSON 파일을 생성합니다. JSON 파일에 dmsAssumeRolePolicyDocument3.json 이름을 지정합니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "1", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Sid": "2", "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 다음 명령을 사용하는 AWS CLI를 사용하여 역할을 생성합니다.

    aws iam create-role --role-name dms-access-for-endpoint --assume-role-policy-document file://dmsAssumeRolePolicyDocument3.json
  3. 다음 명령을 사용하여 AmazonDMSRedshiftS3Role 정책을 dms-access-for-endpoint 역할에 연결합니다.

    aws iam attach-role-policy --role-name dms-access-for-endpoint \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role

이제 IAM 정책을 적용하여 AWS CLI 또는 AWS DMS API를 사용해야 합니다.

리소스 이름 및 태그를 사용하여 세분화된 액세스 제어

Amazon 리소스 이름(ARN)을 기반으로 리소스 이름과 리소스 태그를 사용하여 AWS DMS 리소스에 대한 액세스를 관리할 수 있습니다. IAM 정책에 조건문을 포함하거나 허용 작업을 정의하여 이 작업을 수행할 수 있습니다.

리소스 이름을 사용하여 액세스 제어

IAM 사용자 계정을 생성하고 AWS DMS 리소스의 ARN에 따라 정책을 할당할 수 있습니다.

다음 정책은 에 대한 액세스를 거부합니다.AWS DMSARN이 있는 복제 인스턴스arn:aws:dms:us-east- 1:1526888331:doh67z 톡스글릭스미 키TV:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*" ], "Effect": "Deny", "Resource": "arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV" } ] }

예를 들면, 정책이 적용 중일 때는 다음 명령이 실패합니다.

$ aws dms delete-replication-instance --replication-instance-arn "arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV" A client error (AccessDeniedException) occurred when calling the DeleteReplicationInstance operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteReplicationInstance on resource: arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV $ aws dms modify-replication-instance --replication-instance-arn "arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV" A client error (AccessDeniedException) occurred when calling the ModifyReplicationInstance operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:ModifyReplicationInstance on resource: arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV

AWS DMS 엔드포인트와 복제 작업에 대한 액세스를 제한하는 IAM 정책을 지정할 수도 있습니다.

다음 정책은 엔드포인트의 ARN을 사용하여 AWS DMS 엔드포인트에 대한 액세스를 제한합니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*" ], "Effect": "Deny", "Resource": "arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX" } ] }

예를 들면, 엔드포인트의 ARN을 사용하는 정책이 적용 중일 때는 다음 명령이 실패합니다.

$ aws dms delete-endpoint --endpoint-arn "arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX" A client error (AccessDeniedException) occurred when calling the DeleteEndpoint operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteEndpoint on resource: arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX $ aws dms modify-endpoint --endpoint-arn "arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX" A client error (AccessDeniedException) occurred when calling the ModifyEndpoint operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:ModifyEndpoint on resource: arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX

다음 정책은 작업의 ARN을 사용하여 AWS DMS 작업에 대한 액세스를 제한합니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*" ], "Effect": "Deny", "Resource": "arn:aws:dms:us-east-1:152683116:task:UO3YR4N47DXH3ATT4YMWOIT" } ] }

예를 들면, 작업의 ARN을 사용하는 정책이 적용 중일 때는 다음 명령이 실패합니다.

$ aws dms delete-replication-task --replication-task-arn "arn:aws:dms:us-east-1:152683116:task:UO3YR4N47DXH3ATT4YMWOIT" A client error (AccessDeniedException) occurred when calling the DeleteReplicationTask operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteReplicationTask on resource: arn:aws:dms:us-east-1:152683116:task:UO3YR4N47DXH3ATT4YMWOIT

태그를 사용하여 액세스 제어

AWS DMS는 추가 태그 지정 요구 사항 없이 고객 정의 정책에서 사용할 수 있는 공통 키-값 페어 집합을 정의합니다. AWS DMS 리소스 태깅에 대한 자세한 내용은 에서 리소스 태그 지정AWSDatabase Migration Service 단원을 참조하세요.

다음은 AWS DMS와 사용할 수 있는 표준 태그 목록입니다.

  • AWS:CurrentTime — 요청 날짜 및 시간을 나타내며 시간적 기준에 따라 액세스를 제한할 수 있습니다.

  • AWS:EpochTime — 이 태그는 aws와 유사합니다.CurrentTime 앞에 태그 추가. 단, 현재 시간이 Unix 시대 이후 경과된 시간 (초) 으로 표시됩니다.

  • AWS:MultiFactorAuthPresent — 요청이 다단계 인증을 통해 서명되었는지 여부를 나타내는 Boolean 태그입니다.

  • AWS:MultiFactorAuthAge — 다단계 인증 토큰의 사용 기간 (초 단위) 에 액세스할 수 있습니다.

  • aws:principaltype — 현재 요청의 보안 주체 유형 (사용자, 계정, 연동 사용자 등) 에 대한 액세스를 제공합니다.

  • AWS:SourceIp — 요청을 발행하는 사용자의 원본 IP 주소를 나타냅니다.

  • AWS:UserAgent — 리소스를 요청하는 클라이언트 애플리케이션에 대한 정보를 제공합니다.

  • aws:userid – 요청을 실행하는 사용자의 ID에 액세스할 수 있습니다.

  • aws:username – 요청을 실행하는 사용자의 이름에 액세스할 수 있습니다.

  • DMS:InstanceClass — 복제 인스턴스 호스트의 컴퓨팅 크기에 대한 액세스를 제공합니다.

  • DMS:StorageSize — 스토리지 볼륨 크기 (GB) 에 대한 액세스를 제공합니다.

고유한 태그를 정의할 수도 있습니다. 고객 정의 태그는 에서 유지되는 간단한 키-값 쌍입니다.AWS태깅 서비스. 이러한 키-값 페어를 복제 인스턴스, 엔드포인트 및 작업을 비롯한 AWS DMS 리소스에 추가할 수 있습니다. 이러한 태그는 정책의 IAM "조건"문을 사용하여 일치되며 특정 조건 태그를 사용하여 참조됩니다. 태그 키에는 "dms" 접두사, 리소스 유형 및 "tag" 접두사가 붙습니다. 태그 형식은 다음과 같습니다.

dms:{resource type}-tag/{tag key}={tag value}

예를 들어 "stage=production" 태그를 포함하는 복제 인스턴스에 대해 API 호출 성공만 허용하는 정책을 정의하려 한다고 가정해 보겠습니다. 다음 조건문은 리소스와 지정된 태그를 일치시킵니다.

"Condition": { "streq": { "dms:rep-tag/stage":"production" } }

이 정책 조건과 일치하는 복제 인스턴스에 다음 태그를 추가합니다.

stage production

AWS DMS 리소스에 이미 할당된 태그 외에, 지정된 리소스에 적용할 수 있는 태그 키와 값을 제한할 정책을 작성할 수도 있습니다. 이 경우 태그 접두사는 "req"입니다.

예를 들면, 다음 정책문은 사용자가 지정된 리소스에 할당할 수 있는 태그를 특정 허용 값 목록으로 제한합니다.

"Condition": { "streq": { "dms:rep-tag/stage": [ "production", "development", "testing" ] } }

다음 정책 예제는 리소스 태그에 따라 AWS DMS 리소스에 대한 액세스를 제한합니다.

다음 정책은 태그 값이 "Desktop"이고 태그 키가 "Env"인 복제 인스턴스에 대한 액세스를 제한합니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*" ], "Effect": "Deny", "Resource": "*", "Condition": { "StringEquals": { "dms:rep-tag/Env": [ "Desktop" ] } } } ] }

다음 명령은 태그 값이 "Desktop"이고 태그 키가 "Env"일 때 액세스를 제한하는 IAM 정책에 따라 성공하거나 실패합니다.

$ aws dms list-tags-for-resource --resource-name arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN --endpoint-url http://localhost:8000 { "TagList": [ { "Value": "Desktop", "Key": "Env" } ] } $ aws dms delete-replication-instance --replication-instance-arn "arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN" A client error (AccessDeniedException) occurred when calling the DeleteReplicationInstance operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteReplicationInstance on resource: arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN $ aws dms modify-replication-instance --replication-instance-arn "arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN" A client error (AccessDeniedException) occurred when calling the ModifyReplicationInstance operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:ModifyReplicationInstance on resource: arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN $ aws dms add-tags-to-resource --resource-name arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN --tags Key=CostCenter,Value=1234 A client error (AccessDeniedException) occurred when calling the AddTagsToResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:AddTagsToResource on resource: arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN $ aws dms remove-tags-from-resource --resource-name arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN --tag-keys Env A client error (AccessDeniedException) occurred when calling the RemoveTagsFromResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:RemoveTagsFromResource on resource: arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN

다음 정책은 태그 값이 "Desktop"이고 태그 키가 "Env"인 AWS DMS 엔드포인트에 대한 액세스를 제한합니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*" ], "Effect": "Deny", "Resource": "*", "Condition": { "StringEquals": { "dms:endpoint-tag/Env": [ "Desktop" ] } } } ] }

다음 명령은 태그 값이 "Desktop"이고 태그 키가 "Env"일 때 액세스를 제한하는 IAM 정책에 따라 성공하거나 실패합니다.

$ aws dms list-tags-for-resource --resource-name arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I { "TagList": [ { "Value": "Desktop", "Key": "Env" } ] } $ aws dms delete-endpoint --endpoint-arn "arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I" A client error (AccessDeniedException) occurred when calling the DeleteEndpoint operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteEndpoint on resource: arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I $ aws dms modify-endpoint --endpoint-arn "arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I" A client error (AccessDeniedException) occurred when calling the ModifyEndpoint operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:ModifyEndpoint on resource: arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I $ aws dms add-tags-to-resource --resource-name arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I --tags Key=CostCenter,Value=1234 A client error (AccessDeniedException) occurred when calling the AddTagsToResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:AddTagsToResource on resource: arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I $ aws dms remove-tags-from-resource --resource-name arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I --tag-keys Env A client error (AccessDeniedException) occurred when calling the RemoveTagsFromResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:RemoveTagsFromResource on resource: arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I

다음 정책은 태그 값이 "Desktop"이고 태그 키가 "Env"인 복제 작업에 대한 액세스를 제한합니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*" ], "Effect": "Deny", "Resource": "*", "Condition": { "StringEquals": { "dms:task-tag/Env": [ "Desktop" ] } } } ] }

다음 명령은 태그 값이 "Desktop"이고 태그 키가 "Env"일 때 액세스를 제한하는 IAM 정책에 따라 성공하거나 실패합니다.

$ aws dms list-tags-for-resource --resource-name arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3 { "TagList": [ { "Value": "Desktop", "Key": "Env" } ] } $ aws dms delete-replication-task --replication-task-arn "arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3" A client error (AccessDeniedException) occurred when calling the DeleteReplicationTask operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteReplicationTask on resource: arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3 $ aws dms add-tags-to-resource --resource-name arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3 --tags Key=CostCenter,Value=1234 A client error (AccessDeniedException) occurred when calling the AddTagsToResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:AddTagsToResource on resource: arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3 $ aws dms remove-tags-from-resource --resource-name arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3 --tag-keys Env A client error (AccessDeniedException) occurred when calling the RemoveTagsFromResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:RemoveTagsFromResource on resource: arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3

암호화 키 설정 및 AWS KMS 권한 지정

AWS DMS는 복제 인스턴스와 엔드포인트 연결 정보에서 사용하는 스토리지를 암호화합니다. 복제 인스턴스에서 사용하는 스토리지를 암호화하려면AWS DMS사용AWS Key Management Service(AWS KMS) 귀하의 고유 키AWS계정. AWS KMS에서 이 키를 보고 관리할 수 있습니다. 계정의 기본 KMS 키(aws/dms)를 사용하거나 사용자 지정 KMS 키를 생성할 수 있습니다. 기존 KMS 키가 있는 경우, 암호화에 이 키를 사용할 수도 있습니다.

참고

암호화 키로 사용하는 사용자 지정 또는 기존 AWS KMS 키는 모두 대칭 키여야 합니다. AWS DMS는 비대칭 암호화 키 사용을 지원하지 않습니다. 대칭 및 비대칭 암호화 키에 대한 자세한 내용은 을 참조하십시오.https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html에서AWS Key Management Service개발자 안내서.

기본 KMS 키 (aws/dms) 는 복제 인스턴스를 처음 시작할 때 생성됩니다 (에서 사용자 지정 KMS 키를 선택하지 않은 경우).고급의 섹션복제 인스턴스 생성페이지. 기본 KMS 키를 사용할 경우, 마이그레이션을 위해 사용 중인 IAM 사용자 계정에 부여해야 하는 유일한 권한은 kms:ListAliaseskms:DescribeKey입니다. 기본 KMS 키 사용에 대한 자세한 정보는 AWS DMS 사용에 필요한 IAM 권한 섹션을 참조하십시오.

사용자 지정 KMS 키를 사용하려면 다음 옵션 중 하나를 사용하여 사용자 지정 KMS 키에 대한 권한을 할당해야 합니다.

  • AWS KMS 사용자 지정 키에서 키 관리자 또는 키 사용자로서 마이그레이션에 사용되는 IAM 사용자 계정을 추가합니다. 이렇게 하면 필요한 AWS KMS 권한이 IAM 사용자 계정에 부여됩니다. 이 작업은 AWS DMS를 사용하기 위해 사용자가 IAM 사용자 계정에 부여하는 IAM 권한 외의 것입니다. 키 사용자에게 권한을 부여하는 것에 대한 자세한 내용은 단원을 참조하십시오.키 사용자가 KMS 키를 사용하도록 허용에서AWS Key Management Service개발자 안내서.

  • 사용자 지정 KMS 키에서 IAM 사용자 계정을 키 관리자/키 사용자로서 추가하지 않을 경우, AWS DMS를 사용할 수 있도록 IAM 사용자 계정에 부여해야 하는 IAM 권한에 다음 추가 권한을 부여해야 합니다.

    { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey", "kms:CreateGrant", "kms:Encrypt", "kms:ReEncrypt*" ], "Resource": "*" },

AWS DMS는 KMS 키 별칭에서도 작동합니다. 직접 생성에 대한 자세한 내용은 를 참조하십시오.AWS KMS키 및 사용자에게 KMS 키에 대한 액세스 권한 부여는 단원을 참조하십시오.AWS KMS개발자 안내서.

KMS 키 식별자를 지정하지 않으면AWS DMS는 기본 암호화 키를 사용합니다.AWS KMS에서는 을 위한 기본 암호화 키를 생성합니다.AWS DMS당신을 위해AWS계정. 당신의AWS계정에는 A 마다 다른 기본 암호화 키가 있습니다.AWS리전.

AWS DMS 리소스 암호화에 사용되는 AWS KMS 키를 관리하려면 AWS Key Management Service를 사용합니다. AWS KMS는 클라우드에 맞게 확장된 키 관리 시스템을 제공하기 위해 안전하고 가용성이 높은 하드웨어 및 소프트웨어를 결합합니다. AWS KMS를 사용하면 암호화 키를 생성하고 이 키를 사용할 수 있는 방법을 제어하는 정책을 정의할 수 있습니다.

다음을 찾을 수 있습니다.AWS KMS에서AWS Management Console

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/kms에서 AWS Key Management Service(AWS KMS) 콘솔을 엽니다.

  2. AWS 리전을 변경하려면 페이지의 오른쪽 상단 모서리에 있는 리전 선택기를 사용합니다.

  3. 다음 옵션 중 하나를 선택하여 사용합니다.AWS KMS키:

    • AWS에서 계정을 위해 직접 생성하고 관리하는 키를 보려면 탐색 창에서 AWS 고객 관리형 키를 선택합니다.

    • 해당 계정에서 직접 생성하고 관리하는 키를 보려면 탐색 창에서 고객 관리형 키를 선택합니다.

AWS KMS는 AWS CloudTrail를 지원하므로 키가 적절하게 사용되고 있는지 확인하기 위해 키 사용을 감사할 수 있습니다. 당신의AWS KMS키는 다음과 함께 사용할 수 있습니다.AWS DMS및 지원됨AWSAmazon RDS, Amazon Redshift 및 Amazon EBS와 같은 서비스를 제공합니다.

또한 특히 다음 AWS DMS 엔드포인트에 대한 대상 데이터를 암호화하기 위해 사용자 지정 AWS KMS 키를 생성할 수 있습니다.

KMS 키를 사용하여 AWS DMS 리소스를 생성한 후에는 이 리소스에서 암호화 키를 변경할 수 없습니다. AWS DMS 리소스를 생성하기 전에 암호화 키 요구 사항을 결정해야 합니다.

AWS Database Migration Service 네트워크 보안

AWS Database Migration Service를 사용할 때 생성하는 네트워크의 보안 요구 사항은 네트워크 구성 방법에 따라 달라집니다. AWS DMS의 네트워크 보안에 적용되는 일반 규칙은 다음과 같습니다.

  • 복제 인스턴스에는 리소스 및 대상 엔드포인트에 대한 액세스 권한이 있어야 합니다. 복제 인스턴스용 보안 그룹에는 데이터베이스 포트에서 밖으로 데이터베이스 엔드포인트까지 인스턴스를 내보내도록 허용하는 네트워크 ACL 또는 규칙이 있어야 합니다.

  • 데이터베이스 엔드포인트에는 복제 인스턴스에서 수신되는 액세스를 허용하는 네트워크 ACL과 보안 그룹 규칙이 포함되어야 합니다. 이 작업을 완료하기 위해 사용자의 구성에 따라 복제 인스턴스의 보안 그룹, 프라이빗 IP 주소, 퍼블릭 IP 주소 또는 NAT 게이트웨이의 퍼블릭 주소를 사용합니다.

  • 네트워크에서 VPN 터널을 사용하는 경우 NAT 게이트웨이 역할을 하는 Amazon EC2 인스턴스는 복제 인스턴스가 해당 터널을 통해 트래픽을 전송할 수 있도록 허용하는 규칙이 있는 보안 그룹을 사용해야 합니다.

기본적으로 AWS DMS 복제 인스턴스에서 사용하는 VPC 보안 그룹에는 모든 포트에서 0.0.0.0/0으로의 송신을 허용하는 규칙이 있습니다. 이 보안 그룹을 수정하거나 자체 보안 그룹을 사용하는 경우, 각 데이터베이스 포트에서 최소한 발신이 원본과 대상 엔드포인트에 허용되어야 합니다.

각 데이터베이스 마이그레이션에서 사용할 수 있는 네트워크를 구성할 때에는 다음 구체적인 보안 사항을 고려해야 합니다.

  • 하나의 VPC에 모든 데이터베이스 마이그레이션 구성 요소가 있는 구성— 엔드포인트에서 사용하는 보안 그룹은 복제 인스턴스에서 데이터베이스 포트로의 수신을 허용해야 합니다. 복제 인스턴스에서 사용하는 보안 그룹이 엔드포인트에 대한 수신이 있는지 확인하고, 그렇지 않으면 복제 인스턴스 액세스의 프라이빗 IP 주소를 허용하고 엔드포인트가 사용하는 보안 그룹에 규칙을 생성할 수 있습니다.

  • 여러 VPC를 통한 구성— 복제 인스턴스에서 사용하는 보안 그룹에는 데이터베이스의 VPC 범위 및 DB 포트에 대한 규칙이 있어야 합니다.

  • AWS Direct Connect 또는 VPN을 사용한 네트워크와 VPC 연결 구성— VPC 온 프레미스 VPN으로 트래픽을 터널링할 수 있는 VPN 터널입니다. 이 구성에서 VPC에는 특정 IP 주소나 범위로 지정된 트래픽을 호스트로 전송하는 라우팅 규칙이 포함되어 있어 트래픽을 VPC에서 온프레미스 VPN으로 연결할 수 있습니다. 이 경우에 트래픽을 복제 인스턴스의 프라이빗 IP 주소나 보안 그룹에서 NAT 인스턴스로 전송하도록 허용해야 하는 자체 보안 그룹 설정이 NAT 호스트에 적용되어 있습니다.

  • 인터넷을 사용한 네트워크와 VPC 연결 구성— VPC 보안 그룹에는 VPC로 향하지 않는 트래픽을 인터넷 게이트웨이로 보내는 라우팅 규칙이 포함되어야 합니다. 이 구성에서 엔드포인트와의 연결이 복제 인스턴스의 퍼블릭 IP 주소에서 오는 것으로 나타납니다.

  • VPC에 있는 DB 인스턴스가 VPC 있는 DB 인스턴스로 구성 ClassicLink— 원본 또는 대상 Amazon RDS DB 인스턴스가 VPC 있지 않고 복제 인스턴스가 위치한 VPC와 보안 그룹을 공유하지 않는 경우, 프록시 서버를 설정하고 다음을 사용할 수 있습니다. ClassicLink 를 사용하여 원본 및 대상 데이터베이스를 연결합니다.

  • 소스 엔드포인트는 복제 인스턴스에서 사용하는 VPC 외부에 있으며 NAT 게이트웨이를 사용합니다.— 단일 Elastic Network 인터페이스에 바인딩된 단일 탄력적 IP 주소를 사용하여 네트워크 주소 변환 (NAT) 게이트웨이를 구성할 수 있습니다. 그런 다음 이 탄력적 네트워크 인터페이스는 NAT 식별자(nat-#####)를 수신합니다. VPC에 인터넷 게이트웨이가 아닌 해당 NAT 게이트웨이로의 기본 경로가 포함된 경우, 대신 복제 인스턴스가 인터넷 게이트웨이의 퍼블릭 IP 주소를 사용하여 데이터베이스 엔드포인트에 접촉하는 것으로 나타납니다. 이 경우에 VPC 외부에 있는 데이터베이스 엔드포인트로의 수신은 복제 인스턴스의 퍼블릭 IP 주소가 아닌 NAT 주소의 수신을 허용해야 합니다.

  • 비 RDBMS 엔진용 VPC 엔드포인트–AWS DMSRDBMS가 아닌 엔진의 VPC 엔드포인트를 지원하지 않습니다.

AWS Database Migration Service에서 SSL 사용

Secure Sockets Layer(SSL)을 사용하여 소스와 대상 엔드포인트 연결을 암호화할 수 있습니다. 이 작업을 위해 AWS DMS 관리 콘솔 또는 AWS DMS API를 사용하여 엔드포인트에 인증서를 할당할 수 있습니다. 또한 AWS DMS 콘솔을 사용하여 인증서를 관리할 수도 있습니다.

모든 데이터베이스가 동일한 방식으로 SSL을 사용하는 것은 아닙니다. Amazon Aurora MySQL 호환 에디션은 클러스터에 있는 기본 인스턴스의 엔드포인트인 서버 이름을 SSL용 엔드포인트로 사용합니다. Amazon Redshift 엔드포인트는 이미 SSL 연결을 사용하므로 AWS DMS에서 설정한 SSL 연결이 필요하지 않습니다. Oracle 엔드포인트에서는 추가 단계가 필요합니다. 자세한 내용은 Oracle 엔드포인트용 SSL 지원 섹션을 참조하십시오.

인증서를 엔드포인트에 할당하기 위해 루트 인증서나 중간 CA 인증서 체인을 제공하여 루트(인증서 번들로서)로 이어집니다. 즉, 이것은 엔드포인트에서 배포되는 서버 SSL 인증서에 서명하는 데 사용됩니다. 인증서는 PEM 형식 X509 파일로만 허용됩니다. 인증서를 가져올 때에는 엔드포인트에서 인증서를 지정하는 데 사용할 수 있는 Amazon 리소스 이름(ARN)을 수신합니다. Amazon RDS를 사용하는 경우 에서 제공하는 루트 CA 및 인증서 번들을 다운로드할 수 있습니다.rds-combined-ca-bundle.pem아마존 RDS에서 호스팅하는 파일입니다. 이 파일을 다운로드하는 방법에 대한 자세한 내용은 단원을 참조하십시오.SSL/TLS를 사용하여 DB 인스턴스에 대한 연결 암호화에서Amazon RDS 사용 설명서.

여러 SSL 모드에서 선택하여 SSL 인증서 확인에 사용할 수 있습니다.

  • 없음— 연결이 암호화되지 않았습니다. 이 옵션은 보안이 적용되지 않지만, 오버헤드를 줄여야 합니다.

  • 가 필요합니다— SSL (TLS) 을 사용하여 연결이 암호화되지만 CA 확인은 수행되지 않습니다. 이 옵션은 보안이 강화되어 오버헤드가 증가합니다.

  • [verify-ca]- 연결이 암호화되었습니다. 이 옵션은 보안이 강화되어 오버헤드가 증가합니다. 이 옵션은 서버 인증서를 확인합니다.

  • [verify-full]- 연결이 암호화되었습니다. 이 옵션은 보안이 강화되어 오버헤드가 증가합니다. 이 옵션은 서버 인증서를 확인하고 서버 호스트 이름이 인증서의 호스트 이름 속성과 일치하는지 확인합니다.

데이터베이스 엔드포인트에서 작동하지 않는 SSL 모드도 있습니다. 다음 표에는 각 데이터베이스 엔진별로 지원되는 SSL 모드가 나와 있습니다.

DB 엔진

none

[require]

[verify-ca]

[verify-full]

MySQL/마리애드브/아마존 오로라 MySQL

기본값 지원되지 않음 지원 지원

Microsoft SQL Server

기본값 지원 지원되지 않음 지원

PostgreSQL

기본값 지원 지원 지원

Amazon Redshift

기본값 SSL이 활성화되지 않음 SSL이 활성화되지 않음 SSL이 활성화되지 않음

Oracle

기본값 지원되지 않음 지원 지원되지 않음

SAP ASE

기본값 SSL이 활성화되지 않음 SSL이 활성화되지 않음 지원

MongoDB

기본값 지원 지원되지 않음 지원

Db2 LUW

기본값 지원되지 않음 지원 지원되지 않음

z/OS용 Db2

기본값 지원되지 않음 지원 지원되지 않음
참고

DMS 콘솔 또는 API의 SSL 모드 옵션은 Kinesis 및 DynamoDB와 같은 일부 데이터 스트리밍 및 NoSQL 서비스에는 적용되지 않습니다. 기본적으로 안전하므로 DMS는 SSL 모드 설정이 없음과 같다고 표시합니다 (SSL 모드=없음). SSL을 사용하기 위해 엔드포인트에 대한 추가 구성을 제공할 필요는 없습니다. 예를 들어 Kinesis를 대상 엔드포인트로 사용하는 경우 기본적으로 안전합니다. Kinesis에 대한 모든 API 호출은 SSL을 사용하므로 DMS 엔드포인트에서 추가 SSL 옵션을 사용할 필요가 없습니다. DMS에서 Kinesis 데이터 스트림에 연결할 때 기본적으로 사용하는 HTTPS 프로토콜을 사용하여 SSL 엔드포인트를 통해 데이터를 안전하게 저장하고 데이터를 검색할 수 있습니다.

AWS DMS에서 SSL을 사용할 때 적용되는 제한 사항

AWS DMS에서 SSL을 사용할 때 다음과 같은 제한 사항이 있습니다.

  • Amazon Redshift 대상 엔드포인트에 대한 SSL 연결은 지원되지 않습니다.AWS DMSAmazon S3 버킷을 사용하여 데이터를 Amazon Redshift 데이터베이스로 전송합니다. 이 전송은 기본적으로 Amazon Redshift로 암호화됩니다.

  • SSL이 활성화된 Oracle 엔드포인트를 통해 CDC(변경 데이터 캡처) 작업을 수행할 때 SQL 시간 초과가 발생할 수 있습니다. CDC 카운터가 예상 수치를 반영하지 않는 문제가 발생할 경우, 작업 설정의 ChangeProcessingTuning 섹션에서 MinimumTransactionSize 파라미터를 더 낮은 값으로 설정합니다. 최저 100부터 시작할 수 있습니다. MinimumTransactionSize 파라미터에 대한 자세한 내용은 변경 처리 튜닝 설정을 참조하십시오.

  • 인증서는 .pem 및 .sso(Oracle wallet) 형식으로만 가져올 수 있습니다.

  • 경우에 따라 중간 CA(인증 기관)에서 서버 SSL 인증서를 서명할 수 있습니다. 이 경우 중간 CA에서 루트 CA까지 전체 인증서 체인을 하나의 .pem 파일로 가져와야 합니다.

  • 서버에서 자체 서명 인증서를 사용하는 경우, SSL 모드로서 [require]를 선택합니다. require SSL 모드는 서버의 SSL 인증서를 명시적으로 신뢰하고 이 인증서가 CA에서 서명되었는지 여부를 확인하려고 하지 않습니다.

인증서 관리

DMS 콘솔을 사용하여 SSL 인증서를 보고 관리할 수 있습니다. 또한 DMS 콘솔을 사용하여 인증서를 가져올 수도 있습니다.


                     AWS Database Migration ServiceSSL 인증서 관리

MySQL 호환, PostgreSQL 또는 SQL Server 엔드포인트에서 SSL 활성화

새로 생성한 엔드포인트 또는 기존 엔드포인트에 SSL 연결을 추가할 수 있습니다.

SSL을 통해 AWS DMS 엔드포인트를 생성하려면

  1. 에 로그인합니다.AWS Management Console을 엽니다.AWS DMS콘솔https://console.aws.amazon.com/dms/v2/.

    로 로그인한 경우AWS Identity and Access Management(IAM) 사용자, 적절한 액세스 권한이 있는지 확인하십시오.AWS DMS. 데이터베이스 마이그레이션에 필요한 권한에 대한 자세한 내용은 AWS DMS 사용에 필요한 IAM 권한 단원을 참조하십시오.

  2. 탐색 창에서 [Certificates]를 선택합니다.

  3. [Import Certificate]를 선택합니다.

  4. 엔드포인트와의 연결을 암호화하는 데 사용할 인증서를 업로드합니다.

    참고

    를 사용하여 인증서를 업로드할 수도 있습니다.AWS DMS를 선택하여 엔드포인트를 만들거나 수정할 때 사용하는 콘솔새 CA 인증서 추가데이터베이스 엔드포인트 생성페이지.

    Aurora 서버리스를 타겟으로 사용하려면 다음에 언급된 인증서를 받으십시오.Aurora Serverless에서 TLS/SSL 사용.

  5. 2단계: 소스 및 대상 엔드포인트 지정 섹션의 설명과 같이 엔드포인트를 생성합니다.

기존 AWS DMS 엔드포인트를 수정하여 SSL을 사용하려면

  1. 에 로그인합니다.AWS Management Console을 엽니다.AWS DMS콘솔https://console.aws.amazon.com/dms/v2/.

    IAM 사용자로 로그인한 경우 적절한 액세스 권한이 있는지 확인하세요.AWS DMS. 데이터베이스 마이그레이션에 필요한 권한에 대한 자세한 내용은 AWS DMS 사용에 필요한 IAM 권한 단원을 참조하십시오.

  2. 탐색 창에서 [Certificates]를 선택합니다.

  3. [Import Certificate]를 선택합니다.

  4. 엔드포인트와의 연결을 암호화하는 데 사용할 인증서를 업로드합니다.

    참고

    를 사용하여 인증서를 업로드할 수도 있습니다.AWS DMS를 선택하여 엔드포인트를 만들거나 수정할 때 사용하는 콘솔새 CA 인증서 추가데이터베이스 엔드포인트 생성페이지.

  5. 탐색 창에서 [Endpoints]를 선택하고, 수정할 엔드포인트를 선택하고, [Modify]를 선택합니다.

  6. SSL 모드의 값을 선택합니다.

    verify-ca 또는 verify-full 모드를 선택할 경우 다음과 같이 CA 인증서에 사용할 인증서를 지정합니다.

    
                             AWS Database Migration ServiceSSL 인증서 관리

  7. 수정(Modify)을 선택합니다.

  8. 엔드포인트를 수정할 때 엔드포인트를 선택한 뒤 연결 테스트를 선택하여 SSL 연결이 잘 작동하는지 여부를 확인합니다.

소스와 대상 엔드포인트를 생성한 후 이 엔드포인트를 사용하는 작업을 생성합니다. 작업 생성에 대한 자세한 내용은 3단계: 작업 생성 및 데이터 마이그레이션 단원을 참조하십시오.

데이터베이스 암호 변경

대다수의 경우에 소스 또는 대상 엔드포인트에서 데이터베이스 암호를 쉽게 변경할 수 있습니다. 마이그레이션이나 복제 작업에 현재 사용하고 있는 엔드포인트의 데이터베이스 암호를 변경해야 하는 경우, 이 과정은 약간 더 복잡합니다. 다음 절차에서는 이 작업을 수행하는 방법을 보여 줍니다.

마이그레이션이나 복제 작업에 현재 사용하고 있는 엔드포인트의 데이터베이스 암호를 변경하려면

  1. 에 로그인합니다.AWS Management Console을 엽니다.AWS DMS콘솔https://console.aws.amazon.com/dms/v2/.

    IAM 사용자로 로그인한 경우 적절한 액세스 권한이 있는지 확인하세요.AWS DMS. 필요한 권한에 대한 자세한 내용은 AWS DMS 사용에 필요한 IAM 권한 단원을 참조하십시오.

  2. 탐색 창에서 [Tasks]를 선택합니다.

  3. 변경하려는 엔드포인트를 사용하는 작업을 선택하여 데이터베이스 암호를 변경한 후 [Stop]을 선택합니다.

  4. 작업을 중지한 동안 데이터베이스에서 사용하는 기본 도구를 사용하여 엔드포인트의 데이터베이스 암호를 변경할 수 있습니다.

  5. DMS 관리 콘솔로 돌아가 탐색 창에서 [Endpoints]를 선택합니다.

  6. 암호를 변경할 데이터베이스의 엔드포인트를 선택하고 나서 [Modify]를 선택합니다.

  7. [Password] 상자에 새 암호를 입력하고 나서 [Modify]를 선택합니다.

  8. 탐색 창에서 [Tasks]를 선택합니다.

  9. 이전에 중지한 작업을 선택하고 [Start/Resume]을 선택합니다.

  10. 작업을 계속할 방법에 따라 [Start] 또는 [Resume]를 선택하고 나서 [Start task]를 선택합니다.