경험이 풍부한 데이터베이스 관리자라면 db_owner 데이터베이스 역할을 사용하는 대신 데이터베이스 스키마 및 역할을 수동으로 생성하는 방법으로 사용 권한을 설정함으로써 데이터베이스 사용 권한을 보다 효과적으로 제어할 수 있습니다.

먼저 vCenter Server용 데이터베이스와 사용자를 생성해야 합니다. 그런 다음 데이터베이스 사용자에 대해 사용자 지정 스키마 및 새 데이터베이스 역할을 생성할 수 있습니다. 또한 vCenter Server를 설치하기 전에 사용자에 대해 데이터베이스 모니터링을 사용하도록 설정해야 합니다. vCenter Server에 대한 데이터베이스 사용 권한 요구 사항의 내용을 참조하십시오.

다음 절차를 수행하기 위해 그래픽 사용자 인터페이스를 사용하거나 스크립트를 실행할 수 있습니다. vCenter Server 설치 관리자 패키지에는 vCenter-Server\dbschema\DB_and_schema_creation_scripts_PostgreSQL.txt 파일에 예제 스크립트가 들어 있습니다.

프로시저

  1. vCenter Server용 데이터베이스 및 사용자를 생성합니다.
    1. 마스터 데이터베이스에 vCenter Server용 데이터베이스를 생성합니다.
    2. vCenter Server용 데이터베이스 사용자를 생성하고 vCenter Server 및 msdb 데이터베이스에 매핑합니다.
    예를 들어 VCDB 데이터베이스 및 vpxuser 사용자를 생성하려는 경우, 다음 스크립트를 실행할 수 있습니다.
    use master
    go 
    CREATE DATABASE VCDB ON PRIMARY 
    (NAME = N'vcdb', FILENAME = N'C:\database_path\VCDB.mdf', SIZE = 10MB, FILEGROWTH = 10% ) 
    LOG ON 
    (NAME = N'vcdb_log', FILENAME = N'C:\database_path\VCDB.ldf', SIZE = 1000KB, FILEGROWTH = 10%) 
    COLLATE SQL_Latin1_General_CP1_CI_AS 
    go
    use VCDB 
    go 
    CREATE LOGIN vpxuser WITH PASSWORD=N'vpxuser!0', DEFAULT_DATABASE=VCDB, DEFAULT_LANGUAGE=us_english, CHECK_POLICY=OFF
    go 
    CREATE USER vpxuser for LOGIN vpxuser
    go
    use MSDB
    go
    CREATE USER vpxuser for LOGIN vpxuser
    go
    이제 vCenter Server와 함께 사용할 수 있는 Microsoft SQL Server 데이터베이스가 준비되었습니다.
  2. vCenter Server 데이터베이스에 데이터베이스 스키마를 생성한 후 vCenter Server 데이터베이스 사용자에게 할당합니다.
    예를 들어 VCDB에 VMW 스키마를 생성한 후 vpxuser 사용자에게 할당하려는 경우, 다음 스크립트를 실행할 수 있습니다.
    use VCDB
    CREATE SCHEMA VMW
    go
    ALTER USER vpxuser WITH DEFAULT_SCHEMA =VMW
  3. vCenter Server 데이터베이스에 VC_ADMIN_ROLE 및 VC_USER_ROLE 데이터베이스 역할을 생성하고 권한을 부여한 후 vCenter Server 데이터베이스 사용자에게 할당합니다.
    예를 들어 VCDB에 역할을 생성한 후 vpxuser 사용자에게 할당하려는 경우, 다음 스크립트를 실행할 수 있습니다.
    use VCDB
    go
    if not exists (SELECT name FROM sysusers WHERE issqlrole=1 AND name = 'VC_ADMIN_ROLE')
    CREATE ROLE VC_ADMIN_ROLE;
    GRANT ALTER ON SCHEMA :: VMW to VC_ADMIN_ROLE;
    GRANT REFERENCES ON SCHEMA :: VMW to VC_ADMIN_ROLE;
    GRANT INSERT ON SCHEMA ::  VMW to VC_ADMIN_ROLE;
    
    GRANT CREATE TABLE to VC_ADMIN_ROLE;
    GRANT CREATE VIEW to VC_ADMIN_ROLE;
    GRANT CREATE Procedure to VC_ADMIN_ROLE;
    
    if not exists (SELECT name FROM sysusers WHERE issqlrole=1 AND name = 'VC_USER_ROLE')
    CREATE ROLE VC_USER_ROLE
    go
    GRANT SELECT ON SCHEMA ::  VMW to VC_USER_ROLE
    go
    GRANT INSERT ON SCHEMA ::  VMW to VC_USER_ROLE
    go
    GRANT DELETE ON SCHEMA ::  VMW to VC_USER_ROLE
    go
    GRANT UPDATE ON SCHEMA ::  VMW to VC_USER_ROLE
    go
    GRANT EXECUTE ON SCHEMA :: VMW to VC_USER_ROLE
    go
    sp_addrolemember VC_USER_ROLE , vpxuser
    go
    sp_addrolemember VC_ADMIN_ROLE , vpxuser
    go
  4. msdb 데이터베이스에 VC_ADMIN_ROLE 데이터베이스 역할을 생성하고 권한을 부여한 후 vCenter Server 데이터베이스 사용자에게 할당합니다.
    예를 들어 역할을 생성한 후 vpxuser 사용자에게 할당하려는 경우, 다음 스크립트를 실행할 수 있습니다.
    use MSDB
    go
    if not exists (SELECT name FROM sysusers WHERE issqlrole=1 AND name = 'VC_ADMIN_ROLE')
    CREATE ROLE VC_ADMIN_ROLE;
    go
    GRANT SELECT on msdb.dbo.syscategories to VC_ADMIN_ROLE
    go
    GRANT SELECT on msdb.dbo.sysjobsteps to VC_ADMIN_ROLE
    go
    GRANT SELECT ON msdb.dbo.sysjobs to VC_ADMIN_ROLE
    go
    GRANT SELECT ON msdb.dbo.sysjobs_view to VC_ADMIN_ROLE
    go
    GRANT EXECUTE ON msdb.dbo.sp_add_job TO VC_ADMIN_ROLE
    go
    GRANT EXECUTE ON msdb.dbo.sp_delete_job TO VC_ADMIN_ROLE
    go
    GRANT EXECUTE ON msdb.dbo.sp_add_jobstep TO VC_ADMIN_ROLE
    go
    GRANT EXECUTE ON msdb.dbo.sp_update_job TO VC_ADMIN_ROLE
    go
    GRANT EXECUTE ON msdb.dbo.sp_add_jobserver TO VC_ADMIN_ROLE
    go
    GRANT EXECUTE ON msdb.dbo.sp_add_jobschedule TO VC_ADMIN_ROLE
    go
    GRANT EXECUTE ON msdb.dbo.sp_add_category TO VC_ADMIN_ROLE
    go
    sp_addrolemember VC_ADMIN_ROLE , vpxuser
    go
    참고: msdb 데이터베이스의 VC_ADMIN_ROLE 역할은 vCenter Server 설치 및 업그레이드 중에만 필요합니다. 설치 또는 업그레이드를 수행한 후에는 이 역할을 해지하고 향후 업그레이드에 사용하기 위해 비활성 상태로 두거나, 보안 강화를 위해 제거할 수 있습니다.
  5. vCenter Server 데이터베이스 사용자에 대해 데이터베이스 모니터링을 사용하도록 설정합니다.
    예를 들어 vpxuser 사용자에게 데이터베이스 디스크 크기 모니터링 권한을 부여하려는 경우, 다음 스크립트를 실행할 수 있습니다.
    use master
    go
    grant VIEW SERVER STATE to vpxuser
    go
    GRANT VIEW ANY DEFINITION TO vpxuser
    go