sp_setapprole(Transact-SQL)
업데이트: 2006년 7월 17일
현재 데이터베이스의 응용 프로그램 역할과 연관된 사용 권한을 활성화합니다.
구문
sp_setapprole [ @rolename = ] 'role',
[ @password = ] { encrypt N'password' }
|
'password' [ , [ @encrypt = ] { 'none' | 'odbc' } ]
[ , [ @fCreateCookie = ] true | false ]
[ , [ @cookie = ] @cookie OUTPUT ]
인수
- [ @rolename = ] 'role'
현재 데이터베이스에서 정의된 응용 프로그램 역할의 이름입니다. role은 sysname이며 기본값은 없습니다. role은 반드시 현재 데이터베이스에 있어야 합니다.
[ @password = ] { encrypt N'password' }
응용 프로그램 역할을 활성화하는 데 필요한 암호입니다. password는 sysname이며 기본값은 없습니다. password는 ODBC encrypt 함수를 사용하여 난독 처리할 수 있습니다. encrypt 함수를 사용할 경우 첫 번째 따옴표 앞에 N을 두어 암호를 유니코드 문자열로 변환해야 합니다.암호화 옵션은 SqlClient를 사용 중인 연결에서 지원되지 않습니다.
중요: ODBC encrypt 함수는 암호화를 제공하지 않습니다. 이 함수를 사용해서는 네트워크로 전송되는 암호를 보호할 수 없습니다. 이 정보가 네트워크를 통해 전송되는 경우 SSL이나 IPSec을 사용하십시오.
- @encrypt = 'none'
난독 처리가 사용되지 않도록 지정합니다. 암호는 일반 텍스트로 SQL Server에 전달됩니다. 이것이 기본값입니다.
- @encrypt= 'odbc'
ODBC가 암호를 SQL Server 데이터베이스 엔진으로 보내기 전에 ODBC encrypt 함수를 사용하여 암호를 난독 처리하도록 지정합니다. 이 값은 ODBC 클라이언트 또는 SQL Server용 OLE DB 공급자를 사용하는 경우에만 지정할 수 있습니다.
- [ @fCreateCookie = ] true | false
쿠키를 생성할지 여부를 지정합니다. true인 경우 암시적으로 1로 변환되고 false인 경우 암시적으로 0으로 변환됩니다.
- [ @cookie = ] @cookie OUTPUT
쿠키를 포함할 출력 매개 변수를 지정합니다. 쿠키는 @fCreateCookie 값이 true인 경우에만 생성됩니다. varbinary(8000) 형식입니다.
반환 코드 값
0(성공) 및 1(실패)
주의
sp_setapprole을 사용하여 응용 프로그램 역할을 활성화한 다음 역할은 사용자가 서버 연결을 끊거나 sp_unsetapprole을 실행하기 전까지 활성 상태로 남습니다. sp_setapprole은 직접적인 Transact-SQL 문으로만 실행될 수 있습니다. sp_setapprole은 다른 저장 프로시저 내부 또는 사용자 정의 트랜잭션 내부에서 실행될 수 없습니다.
응용 프로그램 역할에 대한 개요는 응용 프로그램 역할을 참조하십시오.
보안 정보: |
---|
응용 프로그램 역할 암호가 네트워크를 통해 전송되는 경우 이 암호를 보호하려면 응용 프로그램 역할을 사용할 때 항상 암호화된 연결을 사용해야 합니다. Microsoft ODBC encrypt 옵션은 SqlClient에서 지원되지 않습니다. 자격 증명을 저장해야 할 경우에는 crypto API 함수를 사용하여 암호화합니다. password 매개 변수는 단방향 해시로 저장됩니다. 이전 버전의 SQL Server와 호환성을 유지하기 위해 암호 복잡성 정책은 sp_addapprole에서 강제되지 않습니다. 암호 복잡성 정책을 강제로 적용하려면 CREATE APPLICATION ROLE을 사용합니다. |
사용 권한
public의 멤버 자격이 필요하고 역할에 대한 암호를 알아야 합니다.
예
1. 암호화 옵션을 사용하지 않고 응용 프로그램 역할 활성화
다음 예에서는 현재 사용자가 사용하는 응용 프로그램에 대해 특별히 지정한 사용 권한을 부여하도록 만든 일반 텍스트 암호인 AsDeF00MbXX
를 사용하여 SalesAppRole
이라는 응용 프로그램 역할을 활성화합니다.
EXEC sp_setapprole 'SalesApprole', 'AsDeF00MbXX';
GO
2. 쿠키를 사용하여 응용 프로그램 역할을 활성화한 다음 원래 컨텍스트로 되돌리기
다음 예에서는 fdsd896#gfdbfdkjgh700mM
암호로 Sales11
응용 프로그램 역할을 활성화하고 쿠키를 만듭니다. 다음 예에서는 현재 사용자의 이름을 반환한 다음 sp_unsetapprole
을 실행하여 원래 컨텍스트로 되돌아갑니다.
DECLARE @cookie varbinary(8000);
EXEC sp_setapprole 'Sales11', 'fdsd896#gfdbfdkjgh700mM'
, @fCreateCookie = true, @cookie = @cookie OUTPUT;
-- The application role is now active.
SELECT USER_NAME();
-- This will return the name of the application role, Sales11.
EXEC sp_unsetapprole @cookie;
-- The application role is no longer active.
-- The original context has now been restored.
GO
SELECT USER_NAME();
-- This will return the name of the original user.
GO
참고 항목
참조
시스템 저장 프로시저(Transact-SQL)
보안 저장 프로시저(Transact-SQL)
CREATE APPLICATION ROLE(Transact-SQL)
DROP APPLICATION ROLE(Transact-SQL)
sp_unsetapprole(Transact-SQL)
관련 자료
도움말 및 정보
변경 내역
릴리스 | 내역 |
---|---|
2006년 7월 17일 |
|