RDS for Db2에 대한 권한 부여 및 취소를 위한 저장된 프로시저
다음 저장 프로시저는 Amazon RDS for Db2 데이터베이스에 대한 권한을 부여하고 취소합니다. 이 프로시저를 실행하려면 마스터 사용자가 먼저 rdsadmin
데이터베이스에 연결되어야 합니다.
주제
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 섹션을 참조하세요.
예시
다음 예제에서는 데이터베이스 TESTDB
의 ROLE_TEST
라는 역할을 role1
이라는 역할, user1
이라는 사용자, group1
이라는 그룹에 할당합니다. ROLE_TEST
에는 역할을 할당할 수 있는 관리 권한이 부여됩니다.
db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'ROLE_TEST', 'ROLE role1, USER user1, GROUP group1', 'Y')"
다음 예시에서는 데이터베이스 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 섹션을 참조하세요.
예시
다음 예제는 role1
이라는 역할, user1
이라는 사용자 및 group1
이라는 그룹에서 TESTDB
데이터베이스의 ROLE_TEST
라는 역할을 취소합니다.
db2 "call rdsadmin.revoke_role( ?, 'TESTDB', 'ROLE_TEST', 'ROLE role1, USER user1, GROUP group1')"
다음 예제에서는 PUBLIC
에서 TESTDB
데이터베이스의 ROLE_TEST
라는 역할을 취소합니다.
db2 "call rdsadmin.revoke_role( ?, 'TESTDB', 'ROLE_TEST', 'PUBLIC')"
rdsadmin.add_user
권한 부여 목록에 사용자를 추가합니다.
구문
db2 "call rdsadmin.add_user( '
username
', 'password
', 'group_name
,group_name
')"
파라미터
다음 파라미터는 필수 파라미터입니다.
사용자 이름
-
사용자의 사용자 이름입니다. 데이터 형식은
varchar
입니다. password
-
사용자의 암호입니다. 데이터 형식은
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 섹션을 참조하세요.
예시
다음 예제에서는 ROLE_DBA
역할에 대해 TESTDB
라는 이름의 데이터베이스에 대한 데이터베이스 관리자 액세스 권한을 부여합니다.
db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'ROLE ROLE_DBA')"
다음 예제에서는 user1
및 group1
에 대해 TESTDB
라는 이름의 데이터베이스에 대한 데이터베이스 관리자 액세스 권한을 부여합니다.
db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'USER user1, GROUP group1')"
다음 예제에서는 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 섹션을 참조하세요.
예시
다음 예제에서는 ROLE_DBA
역할에 대해 TESTDB
라는 이름의 데이터베이스에 대한 데이터베이스 관리자 액세스 권한을 취소합니다.
db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'ROLE ROLE_DBA')"
다음 예제에서는 user1
및 group1
에 대해 TESTDB
라는 이름의 데이터베이스에 대한 데이터베이스 관리자 액세스 권한을 취소합니다.
db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'USER user1, GROUP group1')"
다음 예제에서는 user1
, user2
, group1
, group2
에 대해 TESTDB
라는 이름의 데이터베이스에 대한 데이터베이스 관리자 액세스 권한을 취소합니다.
db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'USER user1, user2, GROUP group1, group2')"