RDS for Db2 권한 부여 및 회수용 저장 프로시저

RDS for Db2 권한 부여 및 회수용 저장 프로시저

이 문서는 Amazon RDS 사용자 가이드의 Db2 관련 페이지를 한국어로 설명합니다.

출처: 문서

본문

이 주제에서 설명하는 내장 저장 프로시저는 Amazon RDS for Db2 데이터베이스의 사용자, 역할, 그룹 및 권한 부여를 관리합니다. 이러한 프로시저를 실행하려면 마스터 사용자가 먼저 rdsadmin 데이터베이스에 연결해야 합니다.

이러한 저장 프로시저를 사용하는 작업은 권한 부여 및 회수하기와 Kerberos 인증 설정하기를 참조하세요.

구문, 매개변수, 사용 참고 사항 및 예제는 다음 내장 저장 프로시저를 참조하세요.

저장 프로시저
  • rdsadmin.create_role
  • rdsadmin.grant_role
  • rdsadmin.revoke_role
  • rdsadmin.drop_role
  • rdsadmin.add_user
  • rdsadmin.change_password
  • rdsadmin.list_users
  • rdsadmin.remove_user
  • rdsadmin.add_groups
  • rdsadmin.remove_groups
  • rdsadmin.dbadm_grant
  • rdsadmin.dbadm_revoke
  • rdsadmin.set_sid_group_mapping
  • rdsadmin.list_sid_group_mapping
  • rdsadmin.remove_sid_group_mapping

rdsadmin.create_role

역할을 생성합니다.

Syntax

db2 "call rdsadmin.create_role(
    'database_name',
    'role_name')"

Parameters

다음 매개변수는 필수입니다.

  • database_name – 명령이 실행될 데이터베이스의 이름. 데이터 유형은 varchar입니다.
  • role_name – 생성하려는 역할의 이름. 데이터 유형은 varchar입니다.

Usage notes

역할 생성 상태 확인에 대한 정보는 rdsadmin.get_task_status를 참조하세요.

Examples

다음 예제는 데이터베이스 DB2DB에 대해 MY_ROLE이라는 역할을 생성합니다.

db2 "call rdsadmin.create_role(
    'DB2DB',
    'MY_ROLE')"

rdsadmin.grant_role

역할, 사용자 또는 그룹에 역할을 할당합니다.

Syntax

db2 "call rdsadmin.grant_role(
    ?,
    'database_name',
    'role_name',
    'grantee',
    'admin_option')"

Parameters

다음 출력 매개변수는 필수입니다.

  • ? – 작업의 고유 식별자를 출력하는 매개변수 마커. 이 매개변수는 ?만 허용합니다.

다음 입력 매개변수는 필수입니다.

  • database_name – 명령이 실행될 데이터베이스의 이름. 데이터 유형은 varchar입니다.
  • role_name – 생성하려는 역할의 이름. 데이터 유형은 varchar입니다.
  • grantee – 권한 부여를 받을 역할, 사용자 또는 그룹. 데이터 유형은 varchar입니다. 유효한 값: ROLE, USER, GROUP, PUBLIC.
    • 형식은 값 뒤에 이름이 와야 합니다. 여러 값과 이름은 쉼표로 구분합니다. 예: 'USER user1, user2, GROUP group1, group2'. 이름을 자신의 정보로 바꾸세요.

다음 입력 매개변수는 선택 사항입니다.

  • admin_option – 수여자(grantee) ROLE이 역할을 할당할 수 있는 DBADM 권한을 가지는지 여부를 지정합니다. 데이터 유형은 char입니다. 기본값은 N입니다.

Usage notes

역할 할당 상태 확인에 대한 정보는 rdsadmin.get_task_status를 참조하세요.

Examples

예제 1: 역할, 사용자, 그룹에 역할 할당 및 권한 부여

다음 예제는 데이터베이스 TESTDB에 대해 ROLE_TEST라는 역할을 role1 역할, user1 사용자, group1 그룹에 할당합니다. ROLE_TEST에는 역할을 할당할 수 있는 관리 권한이 부여됩니다.

db2 "call rdsadmin.grant_role(
    ?,
    'TESTDB',
    'ROLE_TEST',
    'ROLE role1, USER user1, GROUP group1',
    'Y')"

예제 2: PUBLIC에 역할 할당 및 권한 미부여

다음 예제는 데이터베이스 TESTDB에 대해 ROLE_TEST라는 역할을 PUBLIC에 할당합니다. ROLE_TEST에는 역할을 할당할 수 있는 관리 권한이 부여되지 않습니다.

db2 "call rdsadmin.grant_role(
    ?,
    'TESTDB',
    'ROLE_TEST',
    'PUBLIC')"

rdsadmin.revoke_role

역할, 사용자 또는 그룹으로부터 역할을 회수합니다.

Syntax

db2 "call rdsadmin.revoke_role(
    ?,
    'database_name',
    'role_name',
    'grantee')"

Parameters

다음 출력 매개변수는 필수입니다.

  • ? – 작업의 고유 식별자를 출력하는 매개변수 마커. 이 매개변수는 ?만 허용합니다.

다음 입력 매개변수는 필수입니다.

  • database_name – 명령이 실행될 데이터베이스의 이름. 데이터 유형은 varchar입니다.
  • role_name – 회수하려는 역할의 이름. 데이터 유형은 varchar입니다.
  • grantee – 권한을 잃을 역할, 사용자 또는 그룹. 데이터 유형은 varchar입니다. 유효한 값: ROLE, USER, GROUP, PUBLIC.
    • 형식은 값 뒤에 이름이 와야 합니다. 여러 값과 이름은 쉼표로 구분합니다. 예: 'USER user1, user2, GROUP group1, group2'. 이름을 자신의 정보로 바꾸세요.

Usage notes

역할 회수 상태 확인에 대한 정보는 rdsadmin.get_task_status를 참조하세요.

Examples

예제 1: 역할, 사용자, 그룹으로부터 역할 회수

다음 예제는 데이터베이스 TESTDB에 대해 ROLE_TEST라는 역할을 role1 역할, user1 사용자, group1 그룹으로부터 회수합니다.

db2 "call rdsadmin.revoke_role(
    ?,
    'TESTDB',
    'ROLE_TEST',
    'ROLE role1, USER user1, GROUP group1')"

예제 2: PUBLIC으로부터 역할 회수

다음 예제는 데이터베이스 TESTDB에 대해 ROLE_TEST라는 역할을 PUBLIC으로부터 회수합니다.

db2 "call rdsadmin.revoke_role(
    ?,
    'TESTDB',
    'ROLE_TEST',
    'PUBLIC')"

rdsadmin.drop_role

역할을 삭제합니다.

Syntax

db2 "call rdsadmin.drop_role(
    ?,
    'database_name',
    'role_name')"

Parameters

다음 출력 매개변수는 필수입니다.

  • ? – 작업의 고유 식별자를 출력하는 매개변수 마커. 이 매개변수는 ?만 허용합니다.

다음 입력 매개변수는 필수입니다.

  • database_name – 명령이 실행될 데이터베이스의 이름. 데이터 유형은 varchar입니다.
  • role_name – 삭제하려는 역할의 이름. 데이터 유형은 varchar입니다.

Usage notes

역할 삭제 상태 확인에 대한 정보는 rdsadmin.get_task_status를 참조하세요.

Examples

다음 예제는 데이터베이스 TESTDB에 대해 ROLE_TEST라는 역할을 삭제합니다.

db2 "call rdsadmin.drop_role(
    ?,
    'TESTDB',
    'ROLE_TEST')"

rdsadmin.add_user

권한 부여 목록에 사용자를 추가합니다.

Syntax

db2 "call rdsadmin.add_user(
    'username',
    'password',
    'group_name,group_name')"

Parameters

다음 매개변수는 필수입니다.

  • username – 사용자의 사용자 이름. 데이터 유형은 varchar입니다.
  • password – 사용자의 비밀번호. 데이터 유형은 varchar입니다.

다음 매개변수는 선택 사항입니다.

  • group_name – 사용자를 추가할 그룹의 이름. 데이터 유형은 varchar입니다. 기본값은 빈 문자열 또는 null입니다.

Usage notes

그룹 이름을 쉼표로 구분하여 사용자를 하나 이상의 그룹에 추가할 수 있습니다.

새 사용자를 만들 때 그룹을 생성할 수 있고, 기존 사용자에게 그룹을 추가할 때도 그룹을 생성할 수 있습니다. 그룹을 단독으로 생성할 수는 없습니다.

참고

rdsadmin.add_user를 호출하여 추가할 수 있는 최대 사용자 수는 5,000명입니다.

사용자 추가 상태 확인에 대한 정보는 rdsadmin.get_task_status를 참조하세요.

Examples

다음 예제는 jorge_souza라는 사용자를 생성하고 해당 사용자를 sales 및 inside_sales 그룹에 할당합니다.

db2 "call rdsadmin.add_user(
    'jorge_souza',
    '*******',
    'sales,inside_sales')"

rdsadmin.change_password

사용자의 비밀번호를 변경합니다.

Syntax

db2 "call rdsadmin.change_password(
    'username',
    'new_password')"

Parameters

다음 매개변수는 필수입니다.

  • username – 사용자의 사용자 이름. 데이터 유형은 varchar입니다.
  • new_password – 사용자의 새 비밀번호. 데이터 유형은 varchar입니다.

Usage notes

비밀번호 변경 상태 확인에 대한 정보는 rdsadmin.get_task_status를 참조하세요.

Examples

다음 예제는 jorge_souza의 비밀번호를 변경합니다.

db2 "call rdsadmin.change_password(
    'jorge_souza',
    '*******')"

rdsadmin.list_users

권한 부여 목록의 사용자를 나열합니다.

Syntax

db2 "call rdsadmin.list_users()"

Usage notes

사용자 나열 상태 확인에 대한 정보는 rdsadmin.get_task_status를 참조하세요.

rdsadmin.remove_user

권한 부여 목록에서 사용자를 제거합니다.

Syntax

db2 "call rdsadmin.remove_user('username')"

Parameters

다음 매개변수는 필수입니다.

  • username – 사용자의 사용자 이름. 데이터 유형은 varchar입니다.

Usage notes

사용자 제거 상태 확인에 대한 정보는 rdsadmin.get_task_status를 참조하세요.

Examples

다음 예제는 jorge_souza가 RDS for Db2 DB 인스턴스의 데이터베이스에 액세스할 수 없도록 제거합니다.

db2 "call rdsadmin.remove_user('jorge_souza')"

rdsadmin.add_groups

사용자에게 그룹을 추가합니다.

Syntax

db2 "call rdsadmin.add_groups(
    'username',
    'group_name,group_name')"

Parameters

다음 매개변수는 필수입니다.

  • username – 사용자의 사용자 이름. 데이터 유형은 varchar입니다.
  • group_name – 사용자를 추가할 그룹의 이름. 데이터 유형은 varchar입니다. 기본값은 빈 문자열입니다.

Usage notes

그룹 이름을 쉼표로 구분하여 사용자에게 하나 이상의 그룹을 추가할 수 있습니다. 그룹 추가 상태 확인에 대한 정보는 rdsadmin.get_task_status를 참조하세요.

Examples

다음 예제는 direct_sales 및 b2b_sales 그룹을 사용자 jorge_souza에게 추가합니다.

db2 "call rdsadmin.add_groups(
    'jorge_souza',
    'direct_sales,b2b_sales')"

rdsadmin.remove_groups

사용자로부터 그룹을 제거합니다.

Syntax

db2 "call rdsadmin.remove_groups(
    'username',
    'group_name,group_name')"

Parameters

다음 매개변수는 필수입니다.

  • username – 사용자의 사용자 이름. 데이터 유형은 varchar입니다.
  • group_name – 사용자를 제거할 그룹의 이름. 데이터 유형은 varchar입니다.

Usage notes

그룹 이름을 쉼표로 구분하여 사용자로부터 하나 이상의 그룹을 제거할 수 있습니다.

그룹 제거 상태 확인에 대한 정보는 rdsadmin.get_task_status를 참조하세요.

Examples

다음 예제는 사용자 jorge_souza로부터 direct_sales 및 b2b_sales 그룹을 제거합니다.

db2 "call rdsadmin.remove_groups(
    'jorge_souza',
    'direct_sales,b2b_sales')"

rdsadmin.dbadm_grant

역할, 사용자 또는 그룹에 DBADM, ACCESSCTRL 또는 DATAACCESS 권한을 부여합니다.

Syntax

db2 "call rdsadmin.dbadm_grant(
    ?,
    'database_name',
    'authorization',
    'grantee')"

Parameters

다음 출력 매개변수는 필수입니다.

  • ? – 작업의 고유 식별자를 출력하는 매개변수 마커. 이 매개변수는 ?만 허용합니다.

다음 입력 매개변수는 필수입니다.

  • database_name – 명령이 실행될 데이터베이스의 이름. 데이터 유형은 varchar입니다.
  • authorization – 부여할 권한 유형. 데이터 유형은 varchar입니다. 유효한 값: DBADM, ACCESSCTRL, DATAACCESS.
    • 여러 유형은 쉼표로 구분합니다.
  • grantee – 권한 부여를 받을 역할, 사용자 또는 그룹. 데이터 유형은 varchar입니다. 유효한 값: ROLE, USER, GROUP.
    • 형식은 값 뒤에 이름이 와야 합니다. 여러 값과 이름은 쉼표로 구분합니다. 예: 'USER user1, user2, GROUP group1, group2'. 이름을 자신의 정보로 바꾸세요.

Usage notes

액세스를 받을 역할이 존재해야 합니다.

데이터베이스 관리 액세스 부여 상태 확인에 대한 정보는 rdsadmin.get_task_status를 참조하세요.

Examples

예제 1: 역할에 데이터베이스 관리 액세스 부여

다음 예제는 ROLE_DBA 역할에 대해 TESTDB라는 데이터베이스에 대한 데이터베이스 관리 액세스를 부여합니다.

db2 "call rdsadmin.dbadm_grant(
    ?, 
    'TESTDB',
    'DBADM',
    'ROLE ROLE_DBA')"

예제 2: 사용자와 그룹에 데이터베이스 관리 액세스 부여

다음 예제는 user1과 group1에 대해 TESTDB라는 데이터베이스에 대한 데이터베이스 관리 액세스를 부여합니다.

db2 "call rdsadmin.dbadm_grant(
    ?, 
    'TESTDB', 
    'DBADM', 
    'USER user1, GROUP group1')"

예제 3: 여러 사용자와 그룹에 데이터베이스 관리 액세스 부여

다음 예제는 user1, user2, group1, group2에 대해 TESTDB라는 데이터베이스에 대한 데이터베이스 관리 액세스를 부여합니다.

db2 "call rdsadmin.dbadm_grant(
    ?, 
    'TESTDB', 
    'DBADM', 
    'USER user1, user2, GROUP group1, group2')"

rdsadmin.dbadm_revoke

역할, 사용자 또는 그룹으로부터 DBADM, ACCESSCTRL 또는 DATAACCESS 권한을 회수합니다.

Syntax

db2 "call rdsadmin.dbadm_revoke(
    ?,
    'database_name',
    'authorization',
    'grantee')"

Parameters

다음 출력 매개변수는 필수입니다.

  • ? – 작업의 고유 식별자. 이 매개변수는 ?만 허용합니다.

다음 입력 매개변수는 필수입니다.

  • database_name – 명령이 실행될 데이터베이스의 이름. 데이터 유형은 varchar입니다.
  • authorization – 회수할 권한 유형. 데이터 유형은 varchar입니다. 유효한 값: DBADM, ACCESSCTRL, DATAACCESS.
    • 여러 유형은 쉼표로 구분합니다.
  • grantee – 권한을 회수할 역할, 사용자 또는 그룹. 데이터 유형은 varchar입니다. 유효한 값: ROLE, USER, GROUP.
    • 형식은 값 뒤에 이름이 와야 합니다. 여러 값과 이름은 쉼표로 구분합니다. 예: 'USER user1, user2, GROUP group1, group2'. 이름을 자신의 정보로 바꾸세요.

Usage notes

데이터베이스 관리 액세스 회수 상태 확인에 대한 정보는 rdsadmin.get_task_status를 참조하세요.

Examples

예제 1: 역할로부터 데이터베이스 관리 액세스 회수

다음 예제는 ROLE_DBA 역할에 대해 TESTDB라는 데이터베이스에 대한 데이터베이스 관리 액세스를 회수합니다.

db2 "call rdsadmin.dbadm_revoke(
    ?, 
    'TESTDB',
    'DBADM',
    'ROLE ROLE_DBA')"

예제 2: 사용자와 그룹으로부터 데이터베이스 관리 액세스 회수

다음 예제는 user1과 group1에 대해 TESTDB라는 데이터베이스에 대한 데이터베이스 관리 액세스를 회수합니다.

db2 "call rdsadmin.dbadm_revoke(
    ?, 
    'TESTDB', 
    'DBADM', 
    'USER user1, GROUP group1')"

예제 3: 여러 사용자와 그룹으로부터 데이터베이스 관리 액세스 회수

다음 예제는 user1, user2, group1, group2에 대해 TESTDB라는 데이터베이스에 대한 데이터베이스 관리 액세스를 회수합니다.

db2 "call rdsadmin.dbadm_revoke(
    ?, 
    'TESTDB', 
    'DBADM', 
    'USER user1, user2, GROUP group1, group2')"

rdsadmin.set_sid_group_mapping

보안 ID(SID)와 이에 대응하는 Active Directory 그룹 사이의 매핑을 생성합니다.

Syntax

db2 "call rdsadmin.set_sid_group_mapping(
    ?,
    'SID',
    'group_name')"

Parameters

다음 출력 매개변수는 필수입니다.

  • ? – 오류 메시지를 출력하는 매개변수 마커. 이 매개변수는 ?만 허용합니다.

다음 입력 매개변수는 필수입니다.

  • SID – 보안 ID(SID). 데이터 유형은 varchar입니다.
  • group_name – SID에 매핑할 Active Directory 그룹의 이름. 데이터 유형은 varchar입니다.

Usage notes

이 저장 프로시저를 사용하여 Active Directory 그룹과 함께 Kerberos 인증을 활성화하세요. 매핑에 SID 또는 group_name이 이미 존재하면 이 저장 프로시저는 실패합니다.

그룹의 SID를 찾는 방법에 대한 정보는 PowerShell에서 Active Directory 그룹 SID 검색하기(Step 8)를 참조하세요.

매핑 생성 상태 확인에 대한 정보는 rdsadmin.get_task_status를 참조하세요.

Examples

다음 예제는 SID를 my_group이라는 그룹에 매핑합니다.

db2 "call rdsadmin.set_sid_group_mapping(
    ?,
    'S-1-5-21-9146495592-531070549-834388463-513',
    'my_group')"

rdsadmin.list_sid_group_mapping

DB 인스턴스에 구성된 모든 보안 ID(SID)와 Active Directory 그룹 매핑을 나열합니다.

Syntax

db2 "call rdsadmin.list_sid_group_mapping()"

Usage notes

매핑 나열 상태 확인에 대한 정보는 rdsadmin.get_task_status를 참조하세요.

rdsadmin.remove_sid_group_mapping

DB 인스턴스에서 보안 ID(SID)와 이에 대응하는 Active Directory 그룹 매핑을 제거합니다.

Syntax

db2 "call rdsadmin.remove_sid_group_mapping(
    ?,
    'SID')"

Parameters

다음 출력 매개변수는 필수입니다.

  • ? – 오류 메시지를 출력하는 매개변수 마커. 이 매개변수는 ?만 허용합니다.

다음 입력 매개변수는 필수입니다.

  • SID – 보안 ID(SID). 데이터 유형은 varchar입니다.

Usage notes

그룹의 SID를 찾는 방법에 대한 정보는 PowerShell에서 Active Directory 그룹 SID 검색하기(Step 8)를 참조하세요.

매핑 제거 상태 확인에 대한 정보는 rdsadmin.get_task_status를 참조하세요.

Examples

다음 예제는 SID가 매핑된 그룹에서 SID 매핑을 제거합니다.

db2 "call rdsadmin.remove_sid_group_mapping(
    ?,
    'S-1-5-21-9146495592-531070549-834388463-513')"

더 알아보기 (Learn more)