기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS DMS의 경우 보안 암호는 보안 암호 인증을 통해 지원되는 AWS DMS 소스 또는 대상 엔드포인트에 대한 데이터베이스 연결을 인증하는 사용자 보안 인증 정보 세트를 나타내는 데 사용할 수 있는 암호화된 키입니다. Oracle Automatic Storage Management(ASM)도 사용하는 Oracle 엔드포인트의 경우는 Oracle에 액세스하려면 사용자 자격 증명을 나타내는 추가 보안 암호가 AWS DMS 필요합니다ASM.
클라우드 및 온프레미스에서 애플리케이션, 서비스 및 IT 리소스에 액세스하기 위해 보안 인증을 안전하게 생성, 저장 및 검색하는 서비스 AWS Secrets Manager인를 사용하여 보안 인증에 AWS DMS 필요한 보안 암호 또는 보안 암호를 생성할 수 있습니다. 여기에는 사용자 개입 없이 암호화된 보안 암호 값을 자동으로 주기적으로 교체할 수 있는 지원이 포함되므로 보안 인증에 대한 보안 수준이 더 향상됩니다. AWS Secrets Manager 또한에서 보안 암호 값 교체를 활성화하면 보안 암호에 의존하는 데이터베이스 마이그레이션에 영향을 주지 않고이 보안 암호 값 교체가 이루어집니다. 엔드포인트 데이터베이스 연결을 비밀로 인증하려면 자격 증명 또는 ARN를에 할당하는 보안 암호를 생성하여 엔드포인트 설정에 SecretsManagerSecretId
포함시킵니다. Oracle 엔드포인트의 일부로 Oracle을 비밀ASM리에 인증하려면 자격 증명 또는 ARN를에 할당하는 보안 암호를 생성합니다. SecretsManagerOracleAsmSecretId
이 보안 암호는 엔드포인트 설정에도 포함됩니다.
참고
Amazon RDS Aurora에서 관리하는 마스터 자격 증명은 사용할 수 없습니다. 이러한 자격 증명에는 연결을 설정해야 AWS DMS 하는 호스트 또는 포트 정보가 포함되지 않습니다. 그 대신에 새 사용자와 보안 암호를 생성합니다. 사용자 및 보안 암호 생성에 관한 자세한 내용은 다음 AWS Management Console 를 사용하여 보안 암호 및 보안 암호 액세스 역할 생성을 참조하세요.
에 대한 자세한 내용은 AWS Secrets Manager 사용 설명서의 Secrets Manager란 AWS 무엇입니까?를 AWS Secrets Manager참조하세요.
AWS DMS 는 지원되는 소스 및 대상 엔드포인트에서 다음 온프레미스 또는 AWS관리형 데이터베이스에 대한 보안 인증을 지원합니다.
-
Amazon DocumentDB
-
IBM Db2 LUW
-
Microsoft SQL 서버
-
MongoDB
-
내SQL
-
Oracle
-
PostgreSQL
-
Amazon Redshift
-
SAP ASE
이러한 데이터베이스에 연결하려면 엔드포인트 설정의 일부로 다음 값 집합 중 하나를 입력할 수 있지만 둘 다 입력할 수는 없습니다.
-
UserName
,Password
,ServerName
및Port
설정을 사용하여 데이터베이스 연결을 인증하기 위한 일반 텍스트 값. Oracle 도 사용하는 Oracle 엔드포인트의 경우 ASM,AsmUserName
AsmPassword
및AsmServerName
설정을 ASM 사용하여 인증할 추가 일반 텍스트 값을 포함합니다. -
SecretsManagerSecretId
및SecretsManagerAccessRoleArn
설정 값을 사용하는 보안 암호 인증. Oracle를 사용하는 Oracle 엔드포인트의 경우SecretsManagerOracleAsmSecretId
및SecretsManagerOracleAsmAccessRoleArn
설정에 대한 추가 값을 ASM포함합니다. 이러한 설정의 보안 암호 값에는 다음과 같은 항목이 포함될 수 있습니다.-
SecretsManagerSecretId
-에서 엔드포인트 데이터베이스 액세스를 위해 생성한 보안 암호의 전체 Amazon 리소스 이름(ARN), 부분 ARN또는 표시 이름입니다 AWS Secrets Manager. -
SecretsManagerAccessRoleArn
- 사용자를 대신하여이 보안 암호에 대한 액세스를 제공하기 IAM 위해에서 생성한SecretsManagerSecretId
보안 암호 AWS DMS 액세스 역할ARN의 입니다. -
SecretsManagerOracleAsmSecretId
-에서 Oracle ASM 액세스를 위해 생성한 보안 암호의 전체 Amazon 리소스 이름(ARN), 부분 ARN또는 표시 이름입니다 AWS Secrets Manager. -
SecretsManagerOracleAsmAccessRoleArn
- 사용자를 대신하여이 보안 암호에 대한 액세스를 제공하기 IAM AWS DMS 위해에서 생성한SecretsManagerOracleAsmSecretId
보안 암호 액세스 역할ARN의 입니다.
참고
또한 단일 보안 암호 액세스 역할을 사용하여
SecretsManagerSecretId
보안 암호와SecretsManagerOracleAsmSecretId
보안 암호 모두에 대한 AWS DMS 액세스를 제공할 수 있습니다. 두 보안 암호 모두에 대해이 단일 보안 암호 액세스 역할을 생성하는 경우이 액세스 역할에 ARN 대해SecretsManagerAccessRoleArn
및 모두에 동일한를 할당해야 합니다SecretsManagerOracleAsmAccessRoleArn
. 예를 들어 두 보안 암호의 보안 암호 액세스 역할에 변수에 ARN 할당된이 있는 경우 다음과 같이 이러한 ARN 설정을ARN2xsecrets
설정할 수 있습니다.SecretsManagerAccessRoleArn = ARN2xsecrets; SecretsManagerOracleAsmAccessRoleArn = ARN2xsecrets;
이러한 값을 생성하는 방법에 관한 자세한 내용은 AWS Management Console 를 사용하여 보안 암호 및 보안 암호 액세스 역할 생성 단원을 참조하십시오.
-
엔드포인트에 필요한 보안 암호 및 보안 암호 액세스 역할 엔드포인트 설정을 생성하고 지정한 후 이러한 보안 암호 세부 정보로 CreateEndpoint
또는 ModifyEndpoint
API 요청을 실행할 사용자 계정에 대한 권한을 업데이트합니다. 이러한 계정 권한에 보안 암호 액세스 역할에 대한 IAM:GetRole
권한과 보안 암호에 대한 SecretsManager:DescribeSecret
권한이 포함되어 있는지 확인합니다.는 액세스 역할과 보안 암호를 모두 검증하려면 이러한 권한이 AWS DMS 필요합니다.
필수 사용자 권한을 제공하고 확인하려면
-
에 로그인 AWS Management Console 하고에서 AWS Identity and Access Management 콘솔을 엽니다https://console.aws.amazon.com/iam/
. -
사용자를 선택한 다음
CreateEndpoint
및ModifyEndpoint
API 호출에 사용되는 사용자 ID를 선택합니다. -
권한 탭에서 {} JSON를 선택합니다.
-
사용자에게 다음과 같은 권한이 있는지 확인하십시오.
{ "Statement": [{ "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "
SECRET_ACCESS_ROLE_ARN
" }, { "Effect": "Allow", "Action": "secretsmanager:DescribeSecret", "Resource": "SECRET_ARN
" } ] } -
사용자에게 해당 권한이 없는 경우 권한을 추가하세요.
-
DMS API 호출에 IAM 역할을 사용하는 경우 해당 역할에 대해 위의 단계를 반복합니다.
-
터미널을 열고 AWS CLI 를 사용하여 위에서 사용한 역할 또는 사용자를 수임하여 권한이 올바르게 부여되었는지 확인합니다.
-
IAM
get-role
명령을 SecretAccessRole 사용하여에 대한 사용자의 권한을 확인합니다.aws iam get-role --role-name
ROLE_NAME
ROLE_NAME
를의 이름으로 바꿉니다SecretsManagerAccessRole
.명령에서 오류 메시지가 반환되는 경우, 권한이 올바르게 제공되었는지 확인하십시오.
-
Secrets Manager
describe-secret
명령을 사용하여 보안 암호에 대한 사용자 권한을 확인합니다.aws secretsmanager describe-secret --secret-id
SECRET_NAME OR SECRET_ARN
--region=REGION_NAME
사용자는 표시 이름, 부분 ARN 또는 전체 일 수 있습니다ARN. 자세한 내용은 describe-secret을 참조하십시오.
명령에서 오류 메시지가 반환되는 경우, 권한이 올바르게 제공되었는지 확인하십시오.
-
AWS Management Console 를 사용하여 보안 암호 및 보안 암호 액세스 역할 생성
AWS Management Console 를 사용하여 엔드포인트 인증을 위한 보안 암호를 생성하고가 사용자를 대신하여 보안 암호에 AWS DMS 액세스할 수 있도록 허용하는 정책 및 역할을 생성할 수 있습니다.
를 사용하여 소스 및 대상 엔드포인트 연결에 대한 데이터베이스를 인증하는 데 사용할 AWS DMS 수 AWS Management Console 있는 보안 암호를 생성하려면
-
에 로그인 AWS Management Console 하고에서 AWS Secrets Manager 콘솔을 엽니다https://console.aws.amazon.com/secretsmanager/
. -
새 보안 암호 저장을 선택합니다.
-
새 보안 암호 저장 페이지의 보안 암호 유형 선택에서 다른 유형의 보안 암호를 선택한 다음, 일반 텍스트를 선택합니다.
참고
이 시점부터 엔드포인트 데이터베이스에 연결하기 위해 일반 텍스트 보안 인증 정보를 입력해야 하는 곳은 여기뿐입니다.
-
일반 텍스트 필드에서:
-
에 자격 증명을 할당하는 보안 암호에 다음 JSON 구조를
SecretsManagerSecretId
입력합니다.{ "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" }
-
에 자격 증명을 할당하는 보안 암호에 다음 JSON 구조를
SecretsManagerOracleAsmSecretId
입력합니다.{ "asm_user":
asm_username
, "asm_password":asm_user_password
, "asm_server":asm_server_name
}참고
다음은 Oracle 엔드포인트에 ASM 대해 Oracle을 인증하는 데 필요한 최소 JSON 멤버 목록입니다. 또한 사용 가능한 Oracle ASM 엔드포인트 설정에 따라 지정할 수 있는 전체 목록입니다.
여기서
는 Oracle에 액세스하는 사용자의 이름asm_username
이고ASM,는 Oracle ASM 사용자의 암호이며,asm_user_password
는 다음 예제와 같이 포트를 포함한 웹의 Oracle ASM 서버 이름(주소)입니다.asm_server_name
{ "asm_user": "oracle_asm_user", "asm_password": "oracle_asm_password", "asm_server": "oracle101.abcdefghij.us-east-1.rds.amazonaws.com:8190/+ASM" }
-
-
AWS KMS 암호화 키를 선택하여 보안 암호를 암호화합니다. 에서 서비스에 AWS Secrets Manager 대해 생성한 기본 암호화 키를 수락하거나 생성한 AWS KMS 키를 선택할 수 있습니다.
-
이 보안 암호를 참조할 이름과 설명(선택 사항)을 지정합니다. 이 이름은
SecretsManagerSecretId
또는SecretsManagerOracleAsmSecretId
값으로 사용할 수 있는 기억하기 쉬운 이름입니다. -
보안 암호의 자동 교체를 활성화하려면 설명된 대로 보안 암호의 보안 인증을 교체할 수 있는 권한이 있는 AWS Lambda 함수를 선택하거나 생성해야 합니다. 그러나 Lambda 함수를 사용하도록 자동 교체를 설정하기 전에 함수에 대한 구성 설정이
EXCLUDE_CHARACTERS
환경 변수 값에 다음 4자를 추가하는지 확인하십시오.;.:+{}
AWS DMS 는 엔드포인트 보안 인증에 사용되는 암호에서 이러한 문자를 허용하지 않습니다. 이러한 문자를 제외하도록 Lambda 함수를 구성하면 AWS Secrets Manager 은 이러한 문자를 교체된 비밀번호 값의 일부로 생성할 수 없습니다. Lambda 함수를 사용하도록 자동 교체를 설정한 후는 AWS Secrets Manager 즉시 보안 암호를 교체하여 보안 암호 구성을 검증합니다.
참고
데이터베이스 엔진 구성에 따라 데이터베이스는 교체된 보안 인증을 가져오지 못할 수도 있습니다. 이 경우, 보안 인증을 새로 고치려면 작업을 수동으로 다시 시작해야 합니다.
-
보안 암호를 검토하고에 저장합니다 AWS Secrets Manager. 그런 다음에서 친숙한 이름으로 각 보안 암호를 조회한 AWS Secrets Manager다음 보안 암호를 ARN의 값으로 검색
SecretsManagerSecretId
하거나 적절한SecretsManagerOracleAsmSecretId
경우 엔드포인트 데이터베이스 연결 및 OracleASM(사용된 경우)에 대한 액세스를 인증할 수 있습니다.
SecretsManagerAccessRoleArn
또는를 설정할 보안 암호 액세스 정책 및 역할을 생성하려면 SecretsManagerOracleAsmAccessRoleArn
가 적절한 보안 암호 AWS Secrets Manager 에 액세스할 수 있도록 합니다 AWS DMS .
-
에 로그인 AWS Management Console 하고에서 AWS Identity and Access Management (IAM) 콘솔을 엽니다https://console.aws.amazon.com/iam/
. -
정책을 선택한 후 정책 생성을 선택합니다.
-
다음 정책을 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
SecretsManagerSecretId
또는SecretsManagerOracleAsmSecretId
적절한 경우에서 가져올 수 있는 보안 암호ARN의 이고,
는 다음 예제와 같이 보안 암호를 암호화하는 데 사용하는 키ARN의 AWS KMS 입니다.kms_key_arn
{ "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 KMS 권한을 지정할 필요가 AWS Secrets Manager없습니다
.kms_key_arn
정책이 두 보안 암호에 대한 액세스를 제공하도록 하려면 다른에 대한 추가 JSON 리소스 객체를 지정하기만 하면 됩니다
secret_arn
.보안 암호가 다른 계정에 있는 경우,
SecretsManagerAccessRoleArn
역할에는 계정 간 보안 암호를 확인하기 위한 추가 정책이 필요합니다. 이러한 사용 사례의 경우, 정책에 작업secretsmanager:DescribeSecret
을 추가하세요. 교차 계정 보안 암호 설정에 대한 자세한 내용은 다른 계정의 사용자에 대한 AWS Secrets Manager 보안 암호에 대한 권한을 참조하세요. -
기억하기 쉬운 이름과 설명(선택 사항)이 있는 정책을 검토하고 생성합니다.
-
역할을 선택한 다음, 역할 생성을 선택합니다.
-
신뢰할 수 있는 엔터티 유형으로서 AWS 서비스를 선택합니다.
-
신뢰할 수 있는 서비스로 서비스 DMS 목록에서를 선택한 다음 다음: 권한을 선택합니다.
-
4단계에서 생성한 정책을 찾아 연결한 다음, 계속 진행하여 태그를 추가하고 역할을 검토합니다. 이때 AWS DMS 리전 서비스 보안 주체를 신뢰할 수 있는 엔터티로 사용하도록 역할의 신뢰 관계를 편집합니다. 이 보안 주체의 형식은 다음과 같습니다.
dms.
region-name
.amazonaws.com여기서
은 리전의 이름입니다(예:region-name
us-east-1
). 따라서이 AWS DMS 리전의 리전 서비스 보안 주체는 다음과 같습니다.dms.us-east-1.amazonaws.com
-
역할의 신뢰할 수 있는 엔터티를 편집한 후 기억하기 쉬운 이름과 선택적 설명을 사용하여 역할을 생성합니다. 이제에서 친숙한 이름으로 새 역할을 조회한 IAM다음 역할을 ARN
SecretsManagerAccessRoleArn
또는SecretsManagerOracleAsmAccessRoleArn
값으로 검색하여 엔드포인트 데이터베이스 연결을 인증할 수 있습니다.
프라이빗 서브넷의 복제 인스턴스와 함께 Secrets Manager를 사용하려면
-
보안 암호 관리자 VPC 엔드포인트를 생성하고 엔드포인트에 DNS 대한를 기록해 둡니다. 보안 암호 관리자 VPC 엔드포인트 생성에 대한 자세한 내용은 Secrets Manager 사용 설명서의 VPC 엔드포인트를 통해 보안 암호 관리자에 연결을 참조하세요. AWS
-
복제 인스턴스 보안 그룹을 보안 암호 관리자 VPC 엔드포인트에 연결합니다.
-
복제 인스턴스 보안 그룹 송신 규칙의 경우, 대상
0.0.0.0/0
으로 전송되는 모든 트래픽을 허용하십시오. -
다음 예제와 DNS같이 보안 암호 관리자 엔드포인트를 제공
secretsManagerEndpointOverride=
하려면 VPC 엔드포인트 추가 연결 속성을 설정합니다.secretsManager endpoint DNS
secretsManagerEndpointOverride=vpce-1234a5678b9012c-12345678.secretsmanager.eu-west-1.vpce.amazonaws.com