プリンシパル セキュリティ管理者、SECADMINを作成して、データベース セキュリティの初期設定を実行する必要があります。
- SECADMINは、個々の管理ユーザーを作成してプロビジョニングした後、主にセキュリティ管理者とセキュリティ関連のテーブルを所有するデータベースとして機能します。個々の管理者はセキュリティ義務を実行できます。
- ロールを使用して、特定の管理機能の権限を定義します。
以下のステップに従って、セキュリティ管理者ユーザーを作成し、セキュリティ管理の作業の実施に必要な最小限の権限を付与します。
- DBCユーザーとしてTeradata Databaseにログオンします。
- DBC.SysSecDefaultsのExpirePasswordの値をゼロ以外の値に更新して、セキュリティ管理者ユーザーに割り当てられている一時パスワード(および他のすべての一時パスワード)の有効期限が初回のログオン時に切れるようにします。これにより、ユーザーは個人用パスワードの作成を要求されるようになります。 例:
UPDATE DBC.SysSecDefaults SET ExpirePassword = 90 ;
PasswordExpireの実際の値は、サイトのセキュリティ ポリシーに準拠する必要があります。その後、日数が経過するごとに各ユーザーのパスワード期限が切れます。
ExpirePasswordを参照してください。
- CREATE USER文を使用してセキュリティ管理者ユーザーを作成します。 CREATE USER文では、セキュリティ管理者の一時パスワードを割り当てて、永久、スプール、一時の各領域のサイズを設定する必要があります。 例は以下のとおりです。
CREATE USER SECADMIN FROM DBC AS PERM = perm_space PASSWORD = temp_password SPOOL = spool_space ACCOUNT = 'account' DEFAULT DATABASE = SECADMIN FALLBACK ;
説明:
構文要素 説明 SECADMIN 必須。プライマリ セキュリティ管理者ユーザーの名前。別のユーザー名を指定できます。 DBC SECADMINユーザーを作成する領域の所有者です。 perm_space 必須。SECADMINユーザーが作成するまたは所有するすべてのオブジェクトを格納する領域(バイト単位)。 推奨事項: 利用可能なシステム(DBC)領域の約2-3%を指定します。ここでセキュリティ管理者は以下のことができます。- ユーザーを作成します。
- データベースと、セキュリティ関連データを格納するテーブルを作成します。
DBC領域を決定する方法については、予約スプール領域の作成を参照してください。
spool_space オプション。 SECADMINがクエリーの実行に使用できる予約スプール部分を制限。 推奨事項: 予約スプール領域の約20%を指定します。
temp_password 必須。SECADMINユーザーの一時パスワード。 推奨事項:デフォルトのシステム パスワード制御に従った単純なパスワードを使用します。ステップ2で設定すると、最初のログオン時に一時パスワードが期限切れとなります。
'account' オプション。 アカウント文字列は、DBC.Acctgテーブルで報告されるリソースの累積の粒度を制御するオプションのメソッドです。アカウント文字列を使用すると、DBC.Acctgで報告されるCPUおよびI/Oのコレクションをアプリケーション時刻と優先順位ごとにグループ化できます。アカウント文字列に含まれる変数置換パラメータは、実行時に解決されます。
アカウント文字列の2番目の使用法は、TASMまたはTIWMでデフォルトのタイムシェア ワークロードに対するクエリーの分類を指示することです。この分類は、通常の分類プロセスがユーザー定義のワークロードに対するクエリーと一致しない場合にのみ有効となります。
アカウント文字列は、データベースのプロファイル メンバー セッションの以下の特性を定義します。- セッション プライオリティ
- アカウントID (システム時間およびリソースに対する課金を割り当てます)
- 日付スタンプ
- タイムスタンプ
推奨事項: プロファイルごとに少なくとも1つのアカウント文字列を定義します。 必要に応じて、MODIFY PROFILE文を使用して、後から別のアカウントを追加できます。
アカウントの詳細については、<Teradata Vantage™ - データベース管理、B035-1093>を参照してください。
DEFAULT DATABASE = SECADMIN オプション。SQLトランザクションで異なるデータベースが指定されていない限り、データベースが新しいオブジェクトまたはターゲット オブジェクトを格納または検索する領域を含むユーザーまたはデータベース。 推奨事項: DBCテーブル以外で管理者がアクセスする必要があるすべてのデータベースを含むSECADMINを指定します。
FALLBACK オプション。 障害発生時にバックアップを提供するため、データベース領域に格納された各テーブルの複製を自動的に作成するようにシステムに指示します。 推奨事項: SECADMINのデータは重要であるため、FALLBACKを指定してセキュリティ テーブルの自動複製を設定する必要があります。
その他の構文オプションは、最初にCREATE USER文で指定することも、後からMODIFY USER文で指定することもできます。
- SECADMINユーザーを作成できたら、次の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 */ ;
- Teradata DatabaseからDBCユーザーとしてログオフします。
- すぐにTeradata Databaseに戻ってSECADMINユーザーとしてログオンします。プロンプトで、専用パスワードを作成します。
- 任意のBEGIN/END LOGGINGまたはGRANT/REVOKE LOGON文を実行しようとした試行を記録するには、次のSQL文を入力します。
BEGIN LOGGING WITH TEXT ON EACH ALL ON MACRO DBC.LogonRule, MACRO DBC.AccLogRule ;
- Teradata Databaseからログオフします。システムのニーズに基づいて、セキュリティ管理者にその他の権限を割り当てることができます。