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')"