プリンシパル セキュリティ管理者、SECADMINを作成して、データベース セキュリティの初期設定を実行する必要があります。
以下の例では、SECADMINの名前を使用していますが、必須ではありません。
サイトに複数のセキュリティ管理者が必要な場合は、次のように行ないます。
- SECADMINは、個々の管理ユーザーを作成してプロビジョニングした後、主にセキュリティ管理者とセキュリティ関連のテーブルを所有するデータベースとして機能します。個々の管理者はセキュリティ義務を実行できます。
- ロールを使用して、特定の管理機能の権限を定義します。
以下のステップに従って、セキュリティ管理者ユーザーを作成し、セキュリティ管理の作業の実施に必要な最小限の権限を付与します。
- DBCユーザーとしてデータベースにログオンします。
- DBC.SysSecDefaultsのExpirePasswordの値をゼロ以外の値に更新して、セキュリティ管理者ユーザーに割り当てられている一時パスワード(および他のすべての一時パスワード)の有効期限が初回のログオン時に切れるようにします。これにより、ユーザーは個人用パスワードの作成を要求されるようになります。 例:
UPDATE DBC.SysSecDefaults SET ExpirePassword = 90 ;
PasswordExpireの実際の値は、サイトのセキュリティ ポリシーに準拠する必要があります。その後、日数が経過するごとに各ユーザーのパスワード期限が切れます。
ExpirePasswordを参照してください。
- CREATE USER文を使用してセキュリティ管理者ユーザーを作成します。
CREATE USER secadmin FROM space_owner AS PERM = perm_space PASSWORD = temp_password [ SPOOL = spool_space ] [ ACCOUNT = 'account' ] [ DEFAULT DATABASE = secadmin ] [ FALLBACK ];
- secadmin
- プライマリ セキュリティ管理者ユーザーの名前(SECADMINなど)。
- space_owner
- ユーザーsecadminを作成する領域の所有者。
- perm_space
- ユーザーsecadminが作成または所有するすべてのオブジェクトを格納する領域(バイト単位)。
- temp_password
- ユーザーsecadminの一時パスワード。
- spool_space
- [オプショ]secadminがクエリーの実行に使用できる予約スプール部分を制限します。
- account
- [オプショ]アカウント文字列は、DBC.Acctgテーブルで報告されるリソースの累積の粒度を制御するオプションのメソッドです。アカウント文字列を使用すると、DBC.Acctgで報告されるCPUおよびI/Oのコレクションをアプリケーション時刻と優先順位ごとにグループ化できます。アカウント文字列に含まれる変数置換パラメータは、実行時に解決されます。
- DEFAULT DATABASE = secadmin
- [オプショ]SQLトランザクションで異なるデータベースが指定されていない限り、データベースが新しいオブジェクトまたはターゲット オブジェクトを格納または検索する領域を含むユーザーまたはデータベース。
- FALLBACK
- [オプショ]障害発生時にバックアップを提供するため、データベース領域に格納された各テーブルの複製を自動的に作成するようにシステムに指示します。
その他の構文オプションは、最初にCREATE USER文で指定することも、後からMODIFY USER文で指定することもできます。
- 次のSQL文を実行依頼して、Teradataがセキュリティ管理者に推奨する基本的な権限をsecadminユーザーに付与します。下記のSQL文の例では、secadminにセキュリティ管理者の責任についてで定義された処理に推奨される権限を提供します。サイトのセキュリティ ポリシーで必要とされる場合は、これらの権限の一部またはすべてを、セキュリティ管理者に加えて、またはセキュリティ管理者の代わりにデータベース管理者に割り当てることができます。
GRANT USER ON SECADMIN TO SECADMIN /* maintain users */ ; GRANT ROLE TO SECADMIN /* maintain roles */ ; GRANT PROFILE TO SECADMIN /* maintain profiles */ ; GRANT SELECT ON DBC TO SECADMIN /* select on dictionary tables */; GRANT UPDATE ON DBC.SysSecDefaults TO SECADMIN /* password characteristics */ ; GRANT EXECUTE ON DBC.LogonRule TO SECADMIN /* logon rules */ ; GRANT EXECUTE ON DBC.AccLogRule TO SECADMIN /* access logging */ ; GRANT DELETE ON DBC.AccLogTbl TO SECADMIN /* delete audit entries */ ; GRANT DELETE ON DBC.DeleteAccessLog TO SECADMIN /* delete audit entries */ ; GRANT DELETE ON DBC.EventLog TO SECADMIN /* delete event log */ ;
- DBCユーザーとしてログオフします。
- すぐにTeradata Vantageに戻ってsecadminユーザーとしてログオンします。プロンプトで、専用パスワードを作成します。
- 任意のBEGIN/END LOGGINGまたはGRANT/REVOKE LOGON文を実行しようとした試行を記録するには、次のSQL文を入力します。
BEGIN LOGGING WITH TEXT ON EACH ALL ON MACRO DBC.LogonRule, MACRO DBC.AccLogRule ;
- Teradata Vantageからログオフします。システムのニーズに基づいて、セキュリティ管理者にその他の権限を割り当てることができます。