AWS Secrets Manager를 사용하여 Amazon Redshift 관리자 암호를 관리하는 방법
Amazon Redshift는 AWS Secrets Manager와 통합하여 암호화된 보안 암호 내에서 관리자 보안 인증 정보를 생성하고 관리할 수 있습니다. AWS Secrets Manager를 사용하면 관리자 암호를 API 호출로 대체하여 필요할 때 프로그래밍 방식으로 보안 암호를 검색할 수 있습니다. 하드 코딩된 보안 인증 정보 대신 암호를 사용하면 보안 인증 정보가 노출되거나 손상될 위험이 줄어듭니다. AWS Secrets Manager에 대한 추가 정보는 AWS Secrets Manager 사용 설명서를 참조하세요.
다음 작업 중 하나를 수행할 때 Amazon Redshift가 AWS Secrets Manager를 사용하여 관리자 암호를 관리하도록 지정할 수 있습니다.
-
프로비저닝된 클러스터 또는 서버리스 네임스페이스 생성
-
프로비저닝된 클러스터 또는 서버리스 네임스페이스의 관리자 자격 증명 편집, 업데이트 또는 수정
-
스냅샷에서 클러스터 또는 서버리스 네임스페이스 복원
Amazon Redshift가 AWS Secrets Manager에서 관리자 암호를 관리하도록 지정하면 Amazon Redshift 가 암호를 생성하여 Secrets Manager에 저장합니다. AWS Secrets Manager에서 직접 보안 암호에 액세스하여 관리자 사용자의 보안 인증 정보를 검색할 수 있습니다. 선택적으로, 다른 AWS 계정에서 보안 암호에 액세스해야 하는 경우 고객 관리형 키를 지정하여 보안 암호를 암호화할 수 있습니다. AWS Secrets Manager에서 제공하는 KMS 키를 사용할 수도 있습니다.
Amazon Redshift는 보안 암호 설정을 관리하고 기본적으로 30일마다 보안 암호를 교체합니다. 언제든지 보안 암호를 수동으로 교체할 수 있습니다. AWS Secrets Manager에서 보안 암호를 관리하는 프로비저닝된 클러스터 또는 서버리스 네임스페이스를 삭제하면 보안 암호와 관련 메타데이터도 삭제됩니다.
보안 암호 관리형 보안 인증 정보를 사용하여 클러스터 또는 서버리스 네임스페이스에 연결하려면 Secrets Manager 콘솔 또는 GetSecretValue
Secrets Manager API 호출을 사용하여 AWS Secrets Manager에서 보안 암호를 검색하면 됩니다. 자세한 내용은 AWS Secrets Manager 사용 설명서의 AWS Secrets Manager에서 비밀 검색 및 AWS Secrets Manager 비밀에 있는 보안 인증 정보를 사용하여 SQL 데이터베이스에 연결을 참조하세요.
AWS Secrets Manager 통합에 필요한 권한
사용자는 AWS Secrets Manager 통합과 관련된 작업을 수행하는 데 필요한 권한이 있어야 합니다. 사용자에게 필요한 지정된 리소스에서 특정 API 작업을 수행할 수 있는 권한을 부여하는 IAM 정책을 생성합니다. 그런 다음 해당 권한이 필요한 IAM 권한 세트 또는 역할에 이러한 정책을 연결합니다. 자세한 내용은 Amazon Redshift의 Identity and Access Management 단원을 참조하십시오.
Amazon Redshift가 AWS Secrets Manager에서 관리자 암호를 관리하도록 지정하는 사용자는 다음 작업을 수행할 수 있는 권한이 있어야 합니다.
-
secretsmanager:CreateSecret
-
secretsmanager:RotateSecret
-
secretsmanager:DescribeSecret
-
secretsmanager:UpdateSecret
-
secretsmanager:DeleteSecret
-
secretsmanager:GetRandomPassword
-
secretsmanager:TagResource
프로비저닝된 클러스터의 MasterPasswordSecretKmsKeyId
파라미터 또는 서버리스 네임스페이스의 AdminPasswordSecretKmsKeyId
파라미터에 KMS 키를 전달하려는 사용자는 위에 나열된 권한 외에도 다음과 같은 권한이 필요합니다.
-
kms:Decrypt
-
kms:GenerateDataKey
-
kms:CreateGrant
-
kms:RetireGrant
관리자 보안 암호 교체
기본적으로 Amazon Redshift는 보안 인증 정보가 장기간 동일하게 유지되지 않도록 30일마다 보안 암호를 자동으로 교체합니다. Amazon Redshift가 관리자 암호 보안 암호를 교체하면 AWS Secrets Manager는 새 관리자 암호를 포함하도록 기존 보안 암호를 업데이트합니다. Amazon Redshift는 업데이트된 보안 암호의 암호와 일치하도록 클러스터의 관리자 암호를 변경합니다.
AWS Secrets Manager를 사용하여 예약된 교체 시점을 기다리지 않고 보안 암호를 즉시 교체할 수 있습니다. 보안 암호 교체에 대한 자세한 내용은 AWS Secrets Manager 사용 설명서에서 AWS Secrets Manager 보안 암호 교체를 참조하세요.
Amazon Redshift와 함께 AWS Secrets Manager 사용 시 고려 사항
AWS Secrets Manager를 사용하여 프로비저닝된 클러스터 또는 서버리스 네임스페이스의 관리자 보안 인증 정보를 관리할 때는 다음 사항을 고려하세요.
-
관리자 보안 인증 정보가 AWS Secrets Manager에서 관리되는 클러스터를 일시 중지해도 클러스터의 보안 암호는 삭제되지 않으며 보안 암호에 대한 요금이 계속 청구됩니다. 보안 암호는 클러스터를 삭제한 경우에만 삭제됩니다.
-
Amazon Redshift가 연결된 보안 암호를 교체하려고 할 때 클러스터가 일시 중지되면 교체가 실패합니다. 이 경우 Amazon Redshift는 자동 교체를 중지하고 클러스터를 재개한 후에도 다시 교체를 시도하지 않습니다.
secretsmanager:RotateSecret
가 계속해서 보안 암호를 자동 교체하도록 하려면 AWS Secrets Manager API 호출을 사용하여 자동 교체 일정 예약을 다시 시작해야 합니다. -
Amazon Redshift가 연결된 보안 암호를 교체하려고 할 때 서버리스 네임스페이스에 연결된 작업 그룹이 없는 경우, 교체는 실패하고 작업 그룹을 연결한 후에도 다시 교체를 시도하지 않습니다.
secretsmanager:RotateSecret
가 계속해서 보안 암호를 자동 교체하도록 하려면 AWS Secrets Manager API 호출을 사용하여 자동 교체 일정 예약을 다시 시작해야 합니다.