Ubuntuサーバー(12.04 LTS)でStataを使用してODBCを介してTeradataデータベースに接続しています。TDのユーザーIDとパスワードを.odbc.iniファイルに保存していることを除けば、すべて正常に機能します。これはひどい考えのようです。別の方法は、Stataにそれらを入力することです。これはさらに悪く見え、厄介です。これをより安全に行う方法はありますか?サーバーにSSHで接続するために使用するログイン情報は、TDデータベースと同期されます。その情報を伝えることは可能だと思われます。
2 に答える
ODBC 用語では、ODBC ini ファイルにユーザー名/パスワードを保存する必要はありません。ODBC SQLConnectとSQLDriverConnectはどちらも、呼び出し時にユーザー名/パスワードを渡すことをサポートしています。
SQLDriverConnect では、InConnectionString に "DSN=YourDataSourceName;UID=username;PWD=password" のようなものが必要です。
さらに一歩進んで、DSN 全体をコマンド ライン引数として渡すこともできます。つまり、ini ファイルに ODBC データ ソースを含める必要はありません。フォーラムの読者の 1 人が Teradata からサンプルを投稿できると確信しています。
SSHログからユーザー名とパスワードを渡すことについて。アプリケーションはそれをキャプチャして ODBC に渡す必要があります。
odbc.ini ファイル、またはユーザー資格情報を含む可能性のある Ubuntu サーバー上のその他のファイルに関して、よりきめ細かいセキュリティを確立したい場合は、アクセス制御リスト(ACL) の使用を強くお勧めします。典型的な Owner::Group::World パーミッションを超えて、特定のファイルに対する明示的なパーミッションを許可するか拒否するかについて、特定のユーザーまでパーミッションを指定できます。
Teradata のセキュリティに関するその他のオプションには、環境がサポートしている場合の LDAP 認証の使用が含まれます。Teradata で LDAP を構成することは、SO の範囲を超えており、多くの場合、Teradata の Information Security CoE との有償のプロフェッショナル サービス契約です。