RDS for Db2에 대한 권한 부여 및 취소를 위한 저장된 프로시저
이 주제에 설명된 기본 제공 저장 프로시저는 Amazon RDS for Db2 데이터베이스에 대한 사용자, 역할, 그룹 및 권한 부여를 관리합니다. 이 프로시저를 실행하려면 마스터 사용자가 먼저 rdsadmin 데이터베이스에 연결되어야 합니다.
이러한 저장 프로시저를 사용하는 작업은 권한 부여 및 취소 및 Kerberos 인증 설정 섹션을 참조하세요.
구문, 파라미터, 사용 정보 및 예시에 대한 자세한 내용은 다음 기본 제공 저장 프로시저를 참조하세요.
저장 프로시저
rdsadmin.create_role
역할을 생성합니다.
구문
db2 "call rdsadmin.create_role( 'database_name', 'role_name')"
파라미터
다음 파라미터는 필수 파라미터입니다.
database_name-
명령이 실행될 데이터베이스의 이름입니다. 데이터 형식은
varchar입니다. role_name-
생성할 역할의 이름입니다. 데이터 형식은
varchar입니다.
사용 노트
역할 생성 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예제
다음 예제에서는 DB2DB 데이터베이스에 대해 MY_ROLE 역할을 생성합니다.
db2 "call rdsadmin.create_role( 'DB2DB', 'MY_ROLE')"
rdsadmin.grant_role
역할, 사용자 또는 그룹에 역할을 할당합니다.
구문
db2 "call rdsadmin.grant_role( ?, 'database_name', 'role_name', 'grantee', 'admin_option')"
파라미터
다음 출력 파라미터는 필수입니다.
- ?
-
작업의 고유 식별자를 출력하는 파라미터 마커입니다. 이 파라미터는
?만 허용합니다.
다음 입력 파라미터는 필수입니다.
database_name-
명령이 실행될 데이터베이스의 이름입니다. 데이터 형식은
varchar입니다. role_name-
생성할 역할의 이름입니다. 데이터 형식은
varchar입니다. grantee-
권한을 받을 역할, 사용자 또는 그룹입니다. 데이터 형식은
varchar입니다. 유효한 값:ROLE,USER,GROUP,PUBLIC.형식은 값 뒤에 이름이 와야 합니다. 값과 이름이 여러 개인 경우 쉼표로 구분합니다. 예: '
USER'. 이름을 사용자의 정보로 대체합니다.user1,user2, GROUPgroup1,group2
다음 입력 파라미터는 선택 사항입니다.
admin_option-
피부여자
ROLE에 역할을 할당할DBADM권한이 있는지 여부를 지정합니다. 데이터 형식은char입니다. 기본값은N입니다.
사용 노트
역할 할당 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예제
예시 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
역할, 사용자 또는 그룹에서 역할을 취소합니다.
구문
db2 "call rdsadmin.revoke_role( ?, 'database_name', 'role_name', 'grantee')"
파라미터
다음 출력 파라미터는 필수입니다.
- ?
-
작업의 고유 식별자를 출력하는 파라미터 마커입니다. 이 파라미터는 ?만 허용합니다.
다음 입력 파라미터는 필수입니다.
database_name-
명령이 실행될 데이터베이스의 이름입니다. 데이터 형식은
varchar입니다. role_name-
취소할 역할의 이름입니다. 데이터 형식은
varchar입니다. grantee-
권한을 잃을 역할, 사용자 또는 그룹입니다. 데이터 형식은
varchar입니다. 유효한 값:ROLE,USER,GROUP,PUBLIC.형식은 값 뒤에 이름이 와야 합니다. 값과 이름이 여러 개인 경우 쉼표로 구분합니다. 예: '
USER'. 이름을 사용자의 정보로 대체합니다.user1,user2, GROUPgroup1,group2
사용 노트
역할 취소 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예제
예시 1: 역할, 사용자 및 그룹에서 역할 취소
다음 예제는 role1이라는 역할, user1이라는 사용자 및 group1이라는 그룹에서 TESTDB 데이터베이스의 ROLE_TEST라는 역할을 취소합니다.
db2 "call rdsadmin.revoke_role( ?, 'TESTDB', 'ROLE_TEST', 'ROLE role1, USER user1, GROUP group1')"
예시 2: PUBLIC에서 역할 취소
다음 예제에서는 PUBLIC에서 TESTDB 데이터베이스의 ROLE_TEST라는 역할을 취소합니다.
db2 "call rdsadmin.revoke_role( ?, 'TESTDB', 'ROLE_TEST', 'PUBLIC')"
rdsadmin.drop_role
역할을 삭제합니다.
구문
db2 "call rdsadmin.drop_role( ?, 'database_name', 'role_name')"
파라미터
다음 출력 파라미터는 필수입니다.
- ?
-
작업의 고유 식별자를 출력하는 파라미터 마커입니다. 이 파라미터는 ?만 허용합니다.
다음 입력 파라미터는 필수입니다.
database_name-
명령이 실행될 데이터베이스의 이름입니다. 데이터 형식은
varchar입니다. role_name-
삭제할 역할의 이름입니다. 데이터 형식은
varchar입니다.
사용 노트
역할 삭제 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예제
다음 예시에서는 TESTDB 데이터베이스에 대해 ROLE_TEST 역할을 만듭니다.
db2 "call rdsadmin.drop_role( ?, 'TESTDB', 'ROLE_TEST')"
rdsadmin.add_user
권한 부여 목록에 사용자를 추가합니다.
구문
db2 "call rdsadmin.add_user( 'username', 'password', 'group_name,group_name')"
파라미터
다음 파라미터는 필수 파라미터입니다.
사용자 이름-
사용자의 사용자 이름입니다. 데이터 형식은
varchar입니다. 암호-
사용자의 암호입니다. 데이터 형식은
varchar입니다.
다음 파라미터는 선택 사항입니다.
group_name-
사용자를 추가할 그룹의 이름입니다. 데이터 형식은
varchar입니다. 기본값은 빈 문자열 또는 null입니다.
사용 노트
그룹 이름을 쉼표로 구분하여 하나 이상의 그룹에 사용자를 추가할 수 있습니다.
새 사용자를 만들거나 기존 사용자에게 그룹을 추가할 때 그룹을 만들 수 있습니다. 혼자서 그룹을 만들 수는 없습니다.
참고
rdsadmin.add_user를 호출하여 추가할 수 있는 최대 사용자 수는 5,000명입니다.
사용자 추가 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예제
다음 예시에서는 jorge_souza라는 사용자를 만들고 해당 사용자를 sales 및 inside_sales라는 그룹에 할당합니다.
db2 "call rdsadmin.add_user( 'jorge_souza', '*******', 'sales,inside_sales')"
rdsadmin.change_password
사용자의 암호를 변경합니다.
구문
db2 "call rdsadmin.change_password( 'username', 'new_password')"
파라미터
다음 파라미터는 필수 파라미터입니다.
사용자 이름-
사용자의 사용자 이름입니다. 데이터 형식은
varchar입니다. new_password-
사용자의 새 암호입니다. 데이터 형식은
varchar입니다.
사용 노트
암호 변경 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예제
다음 예제에서는 jorge_souza의 암호를 변경합니다.
db2 "call rdsadmin.change_password( 'jorge_souza', '*******')"
rdsadmin.list_users
권한 부여 목록에 있는 사용자를 나열합니다.
구문
db2 "call rdsadmin.list_users()"
사용 노트
사용자 나열 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
rdsadmin.remove_user
권한 목록에서 사용자를 제거합니다.
구문
db2 "call rdsadmin.remove_user('username')"
파라미터
다음 파라미터는 필수입니다.
사용자 이름-
사용자의 사용자 이름입니다. 데이터 형식은
varchar입니다.
사용 노트
사용자 제거 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예제
다음 예제에서는 RDS for Db2 DB 인스턴스의 데이터베이스에 액세스할 수 없도록 jorge_souza를 제거합니다.
db2 "call rdsadmin.remove_user('jorge_souza')"
rdsadmin.add_groups
사용자에게 그룹을 추가합니다.
구문
db2 "call rdsadmin.add_groups( 'username', 'group_name,group_name')"
파라미터
다음 파라미터는 필수 파라미터입니다.
사용자 이름-
사용자의 사용자 이름입니다. 데이터 형식은
varchar입니다. group_name-
사용자를 추가할 그룹의 이름입니다. 데이터 형식은
varchar입니다. 기본값은 빈 문자열입니다.
사용 노트
그룹 이름을 쉼표로 구분하여 사용자에게 하나 이상의 그룹을 추가할 수 있습니다. 그룹 추가 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예제
다음 예제에서는 사용자 jorge_souza에 direct_sales 및 b2b_sales 그룹을 추가합니다.
db2 "call rdsadmin.add_groups( 'jorge_souza', 'direct_sales,b2b_sales')"
rdsadmin.remove_groups
사용자로부터 그룹을 제거합니다.
구문
db2 "call rdsadmin.remove_groups( 'username', 'group_name,group_name')"
파라미터
다음 파라미터는 필수 파라미터입니다.
사용자 이름-
사용자의 사용자 이름입니다. 데이터 형식은
varchar입니다. group_name-
사용자를 제거할 그룹의 이름입니다. 데이터 형식은
varchar입니다.
사용 노트
그룹 이름을 쉼표로 구분하여 사용자로부터 하나 이상의 그룹을 제거할 수 있습니다.
그룹 제거 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예제
다음 예제에서는 사용자 jorge_souza로부터 direct_sales 및 b2b_sales 그룹을 제거합니다.
db2 "call rdsadmin.remove_groups( 'jorge_souza', 'direct_sales,b2b_sales')"
rdsadmin.dbadm_grant
역할, 사용자 또는 그룹에 DBADM, ACCESSCTRL 또는 DATAACCESS 권한을 부여합니다.
구문
db2 "call rdsadmin.dbadm_grant( ?, 'database_name', 'authorization', 'grantee')"
파라미터
다음 출력 파라미터는 필수입니다.
- ?
-
작업의 고유 식별자를 출력하는 파라미터 마커입니다. 이 파라미터는
?만 허용합니다.
다음 입력 파라미터는 필수입니다.
database_name-
명령이 실행될 데이터베이스의 이름입니다. 데이터 형식은
varchar입니다. 권한 부여-
부여할 권한의 유형입니다. 데이터 형식은
varchar입니다. 유효한 값:DBADM,ACCESSCTRL,DATAACCESS.유형이 여러 개인 경우 쉼표로 구분합니다.
grantee-
권한을 받을 역할, 사용자 또는 그룹입니다. 데이터 형식은
varchar입니다. 유효한 값:ROLE,USER,GROUP.형식은 값 뒤에 이름이 와야 합니다. 값과 이름이 여러 개인 경우 쉼표로 구분합니다. 예: '
USER'. 이름을 사용자의 정보로 대체합니다.user1,user2, GROUPgroup1,group2
사용 노트
액세스 권한을 받을 역할이 존재해야 합니다.
데이터베이스 관리자 액세스 권한 부여의 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예제
예시 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 권한을 취소합니다.
구문
db2 "call rdsadmin.dbadm_revoke( ?, 'database_name', 'authorization', 'grantee')"
파라미터
다음 출력 파라미터는 필수입니다.
- ?
-
작업의 고유 별자입니다. 이 파라미터는
?만 허용합니다.
다음 입력 파라미터는 필수입니다.
database_name-
명령이 실행될 데이터베이스의 이름입니다. 데이터 형식은
varchar입니다. 권한 부여-
취소할 권한의 유형입니다. 데이터 형식은
varchar입니다. 유효한 값:DBADM,ACCESSCTRL,DATAACCESS.유형이 여러 개인 경우 쉼표로 구분합니다.
grantee-
권한을 취소할 역할, 사용자 또는 그룹입니다. 데이터 형식은
varchar입니다. 유효한 값:ROLE,USER,GROUP.형식은 값 뒤에 이름이 와야 합니다. 값과 이름이 여러 개인 경우 쉼표로 구분합니다. 예: '
USER'. 이름을 사용자의 정보로 대체합니다.user1,user2, GROUPgroup1,group2
사용 노트
데이터베이스 관리자 액세스 권한 취소의 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예제
예시 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 그룹 간의 매핑을 만듭니다.
구문
db2 "call rdsadmin.set_sid_group_mapping( ?, 'SID', 'group_name')"
파라미터
다음 출력 파라미터는 필수입니다.
- ?
-
오류 메시지를 출력하는 파라미터 표시자입니다. 이 파라미터는
?만 허용합니다.
다음 입력 파라미터는 필수입니다.
SID()-
보안 ID(SID)입니다. 데이터 형식은
varchar입니다. group_name-
SID에 매핑할 Active Directory 그룹의 이름입니다. 데이터 형식은
varchar입니다.
사용 노트
이 저장 프로시저를 사용하여 Active Directory 그룹에서 Kerberos 인증을 활성화합니다. 매핑에 SID 또는 group_name이 이미 있는 경우 이 저장 프로시저가 실패합니다.
그룹의 SID를 찾는 방법에 대한 자세한 내용은 8단계: PowerShell에서 Active Directory 그룹 SID 검색 섹션을 참조하세요.
매핑 만들기 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예제
다음 예시에서는 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 그룹 매핑을 나열합니다.
구문
db2 "call rdsadmin.list_sid_group_mapping()"
사용 노트
매핑 나열 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
rdsadmin.remove_sid_group_mapping
DB 인스턴스에서 보안 ID(SID) 및 해당 Active Directory 그룹 매핑을 제거합니다.
구문
db2 "call rdsadmin.remove_sid_group_mapping( ?, 'SID')"
파라미터
다음 출력 파라미터는 필수입니다.
- ?
-
오류 메시지를 출력하는 파라미터 표시자입니다. 이 파라미터는
?만 허용합니다.
다음 입력 파라미터는 필수입니다.
SID()-
보안 ID(SID)입니다. 데이터 형식은
varchar입니다.
사용 노트
그룹의 SID를 찾는 방법에 대한 자세한 내용은 8단계: PowerShell에서 Active Directory 그룹 SID 검색 섹션을 참조하세요.
매핑 제거 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예제
다음 예시에서는 매핑된 그룹에서 SID 매핑을 제거합니다.
db2 "call rdsadmin.remove_sid_group_mapping( ?, 'S-1-5-21-9146495592-531070549-834388463-513')"