ALTER USER - Amazon Redshift

ALTER USER

데이터베이스 사용자를 변경합니다.

필수 권한

ALTER USER에 필요한 권한은 다음과 같습니다.

  • 수퍼유저

  • ALTER USER 권한이 있는 사용자

  • 자신의 암호를 변경하려는 현재 사용자

구문

ALTER USER username [ WITH ] option [, ... ] where option is CREATEDB | NOCREATEDB | CREATEUSER | NOCREATEUSER | SYSLOG ACCESS { RESTRICTED | UNRESTRICTED } | PASSWORD { 'password' | 'md5hash' | DISABLE } [ VALID UNTIL 'expiration_date' ] | RENAME TO new_name | | CONNECTION LIMIT { limit | UNLIMITED } | SESSION TIMEOUT limit | RESET SESSION TIMEOUT | SET parameter { TO | = } { value | DEFAULT } | RESET parameter | EXTERNALID external_id

파라미터

사용자 이름

사용자의 이름입니다.

WITH

선택적 키워드입니다.

CREATEDB | NOCREATEDB

CREATEDB 옵션을 사용하여 새 데이터베이스를 만들 수 있습니다. NOCREATEDB가 기본값입니다.

CREATEUSER | NOCREATEUSER

CREATEUSER 옵션으로 CREATE USER를 포함한 모든 데이터베이스 권한을 가진 수퍼유저를 생성합니다. 기본값은 NOCREATEUSER입니다. 자세한 내용은 superuser 단원을 참조하십시오.

SYSLOG ACCESS { RESTRICTED | UNRESTRICTED }

Amazon Redshift 시스템 테이블 및 뷰에 대한 사용자의 액세스 수준을 지정합니다.

SYSLOG ACCESS RESTRICTED 권한이 있는 일반 사용자는 사용자 가시성 시스템 테이블 및 뷰에서 해당 사용자가 생성한 행만 볼 수 있습니다. 기본값은 RESTRICTED입니다.

SYSLOG ACCESS UNRESTRICTED 권한이 있는 일반 사용자는 사용자 가시성 시스템 테이블 및 뷰에서 다른 사용자가 생성한 행을 포함한 모든 행을 볼 수 있습니다. UNRESTRICTED는 수퍼유저 가시성 테이블에 대한 일반 사용자 액세스를 부여하지 않습니다. 수퍼유저만 수퍼유저 가시성 테이블을 볼 수 있습니다.

참고

사용자에게 시스템 테이블에 대한 무제한 액세스를 제공하면 다른 사용자가 생성한 데이터에 대한 가시성이 사용자에게 제공됩니다. 예를 들어, STL_QUERY 및 STL_QUERYTEXT에는 INSERT, UPDATE 및 DELETE 문의 전체 텍스트가 포함되며, 여기에는 사용자가 생성한 민감한 데이터가 포함될 수 있습니다.

SVV_TRANSACTIONS의 모든 행은 모든 사용자에게 표시됩니다.

자세한 내용은 시스템 테이블 및 뷰에 있는 데이터의 가시성 단원을 참조하십시오.

PASSWORD { 'password' | 'md5hash' | DISABLE }

사용자의 암호를 설정합니다.

기본적으로, 암호가 비활성화 상태가 아닌 이상 사용자는 암호를 변경할 수 있습니다. 사용자의 암호를 비활성화하려면 DISABLE을 지정하십시오. 사용자 암호를 비활성화하면 시스템에서 해당 암호가 삭제되고 사용자는 임시 AWS Identity and Access Management(IAM) 사용자 자격 증명만 이용해 로그인할 수 있습니다. 자세한 내용은 IAM 인증을 이용한 데이터베이스 사용자 자격 증명 생성을 참조하세요. 수퍼유저만이 암호를 활성화 또는 비활성화할 수 있습니다. 수퍼유저의 암호를 비활성화할 수는 없습니다. 암호를 활성화하려면 ALTER USER를 실행하고 암호를 지정하십시오.

PASSWORD 파라미터 사용에 대한 자세한 내용은 사용자 생성 섹션을 참조하세요.

VALID UNTIL 'expiration_date'

암호에 만료 날짜가 있음을 지정합니다. 만료 날짜가 없도록 하려면 값 'infinity'를 사용하십시오. 이 파라미터에 유효한 데이터 형식은 타임스탬프입니다.

슈퍼유저만 이 파라미터를 사용할 수 있습니다.

RENAME TO

사용자 이름을 새로 지정합니다.

new_name

사용자의 새 이름입니다. 유효한 이름에 대한 자세한 내용은 이름 및 식별자 섹션을 참조하세요.

중요

사용자의 이름을 재설정할 때는 사용자의 암호도 변경해야 합니다. 재설정 암호는 이전 암호와 다르지 않아도 됩니다. 사용자 이름은 암호를 암호화하는 과정의 일부로 사용되므로, 사용자 이름을 바꾸면 해당 암호가 삭제됩니다. 사용자가 암호를 재설정해야 로그인할 수 있습니다. 예:

alter user newuser password 'EXAMPLENewPassword11';
CONNECTION LIMIT { limit | UNLIMITED }

사용자가 동시에 열어놓을 수 있는 데이터베이스 연결의 최대 개수입니다. 슈퍼 사용자에 대해서는 이 제한이 적용되지 않습니다. 최대 동시 연결 수를 허용하려면 UNLIMITED 키워드를 사용하십시오. 각 데이터베이스에 대한 연결 개수 제한이 적용될 수도 있습니다. 자세한 내용은 데이터베이스 생성 단원을 참조하십시오. 기본값은 UNLIMITED입니다. 현재 연결을 보려면 STV_SESSIONS 시스템 뷰를 쿼리하십시오.

참고

사용자 및 데이터베이스 연결 제한이 모두 적용되는 경우 사용되지 않는 연결 슬롯은 사용자가 연결 시도 시 양쪽 제한 범위 내에서 모두 사용 가능해야 합니다.

SESSION TIMEOUT limit | RESET SESSION TIMEOUT

세션이 비활성 또는 유휴 상태로 유지되는 최대 시간(초)입니다. 범위는 60초(1분)~1,728,000초(20일)입니다. 사용자에 대해 세션 시간 제한이 설정되지 않은 경우 클러스터 설정이 적용됩니다. 자세한 내용은 Amazon Redshift 관리 가이드Amazon Redshift의 할당량 및 제한 섹션을 참조하세요.

세션 시간 제한을 설정하면 새 세션에만 적용됩니다.

시작 시간, 사용자 이름 및 세션 시간 제한을 포함하여 활성 사용자 세션에 대한 정보를 보려면 STV_SESSIONS 시스템 뷰를 쿼리합니다. 사용자 세션 기록에 대한 정보를 보려면 STL_SESSIONS 뷰를 쿼리합니다. 세션 시간 제한 값을 포함하여 데이터베이스 사용자에 대한 정보를 검색하려면 SVL_USER_INFO 뷰를 쿼리합니다.

SET

지정된 사용자가 실행하는 모든 세션에 대한 새로운 기본값으로 구성 파라미터를 설정합니다.

reset

지정된 사용자에 대한 원래 기본값으로 구성 파라미터를 재설정합니다.

파라미터

설정할 파라미터의 이름.

USD 상당

파라미터의 새 값입니다.

DEFAULT

지정된 사용자가 실행하는 모든 세션에 대한 기본값으로 구성 파라미터를 설정합니다.

EXTERNALID external_id

자격 증명 공급자와 연결된 사용자의 식별자입니다. 사용자는 암호를 비활성화해야 합니다. 자세한 내용은 Amazon Redshift용 네이티브 자격 증명 공급자(IdP) 페더레이션을 참조하세요.

사용 노트

  • rdsdb 변경 시도 - 이름이 rdsdb인 사용자를 변경할 수 없습니다.

  • 알 수 없는 암호 생성 - AWS Identity and Access Management(IAM) 인증을 이용해 데이터베이스 사용자 보안 인증 정보를 만들 때는 임시 보안 인증 정보만을 이용해 로그인할 수 있는 수퍼유저를 만드는 것이 좋습니다. 수퍼유저의 암호를 비활성화할 수는 없지만 임의로 생성되는 MD5 해시 문자열을 이용해 알 수 없는 암호를 만들 수는 있습니다.

    alter user iam_superuser password 'md51234567890123456780123456789012';
  • search_path 설정 - ALTER USER 명령으로 search_path 파라미터를 설정하면 수정된 사항은 지정된 사용자가 다음에 로그인할 때 적용됩니다. 현재 사용자와 세션에 대해 search_path 값을 변경하려면 SET 명령을 사용합니다.

  • 시간대 설정 - ALTER USER 명령으로 SET TIMEZONE을 사용하면 수정된 사항은 지정된 사용자가 다음에 로그인할 때 적용됩니다.

  • 동적 데이터 마스킹 및 행 수준 보안 정책 작업 - 프로비저닝된 클러스터 또는 서버리스 네임스페이스에 동적 데이터 마스킹 또는 행 수준 보안 정책이 있는 경우, 일반 사용자에게는 다음 명령이 차단됩니다.

    ALTER <current_user> SET enable_case_sensitive_super_attribute/enable_case_sensitive_identifier/downcase_delimited_identifier

    슈퍼유저와 ALTER USER 권한이 있는 사용자만 이러한 구성 옵션을 설정할 수 있습니다. 행 수준 보안에 대한 자세한 내용은 행 수준 보안 섹션을 참조하세요. 동적 데이터 마스킹에 대한 자세한 내용은 동적 데이터 마스킹 섹션을 참조하세요.

다음 예에서는 데이터베이스 생성 권한을 사용자 ADMIN에게 부여합니다.

alter user admin createdb;

다음 예에서는 사용자 ADMIN의 암호를 adminPass9로 설정하고 암호에 대한 만료 날짜와 시간을 설정합니다.

alter user admin password 'adminPass9' valid until '2017-12-31 23:59';

다음 예에서는 사용자 ADMIN의 이름을 SYSADMIN으로 바꿉니다.

alter user admin rename to sysadmin;

다음 예에서는 사용자에 대한 유휴 세션 시간 제한을 300초로 업데이트합니다.

ALTER USER dbuser SESSION TIMEOUT 300;

사용자의 유휴 세션 시간 제한을 재설정합니다. 재설정하면 클러스터 설정이 적용됩니다. 이 명령을 실행하려면 데이터베이스 슈퍼 사용자여야 합니다. 자세한 내용은 Amazon Redshift 관리 가이드Amazon Redshift의 할당량 및 제한 섹션을 참조하세요.

ALTER USER dbuser RESET SESSION TIMEOUT;

다음 예에서는 이름이 bob인 사용자의 외부 ID를 업데이트합니다. 네임스페이스는 myco_aad입니다. 네임스페이스가 등록된 자격 증명 공급자와 연결되지 않은 경우 오류가 발생합니다.

ALTER USER myco_aad:bob EXTERNALID "ABC123" PASSWORD DISABLE;

다음 예는 특정 데이터베이스 사용자가 실행하는 모든 세션의 시간대를 설정합니다. 현재 세션이 아닌 이후 모든 세션의 시간대가 변경됩니다.

ALTER USER odie SET TIMEZONE TO 'Europe/Zurich';

다음 예시에서는 사용자 bob이 열 수 있는 최대 데이터베이스 연결 수를 설정합니다.

ALTER USER bob CONNECTION LIMIT 10;