SQL Anywhere データベースで Kerberos 認証を設定します。Kerberos 認証の設定を参照してください。
SQL Anywhere サーバーを -krb または -kr オプションを使用して起動し、Kerberos 認証を有効にします。また、-kl オプションを使用して GSS-API ライブラリのロケーションを指定し、Kerberos を有効にすることもできます。
パブリックオプションまたは一時的なパブリックオプション login_mode を Kerberos を含む値に変更します。このオプションの設定を変更するには DBA 権限が必要です。Kerberos ログインを許可するかどうかは、login_mode データベースオプションで指定します。データベースオプションは、それが指定されているデータベースにしか適用されないため、同じサーバー内にロードされて動作している場合でも、データベースが異なれば Kerberos ログインの設定も異なります。次に例を示します。
SET OPTION PUBLIC.login_mode = 'Kerberos,Standard'; |
login_mode データベースオプションには、次の値を 1 つまたは複数指定できます。
Standard 標準ログインを許可します。これはデフォルト値です。標準ログインでは、ユーザー ID とパスワードの両方を入力する必要があり、Integrated や Kerberos の接続パラメーターは使用されません。
Integrated 統合化ログインを許可します。
Kerberos Kerberos ログインを許可します。
login_mode データベースオプションを Kerberos に設定すると、接続できるのは、Kerberos ログインマッピングを付与されているユーザーだけに制限されます。DBA 権限のあるユーザーでないかぎり、ユーザー ID とパスワードを使用して接続しようとすると、エラーが発生します。
クライアントが使用するデータベースユーザー ID を作成します。既存のデータベースユーザーに適切なパーミッションがあれば、そのデータベースユーザー ID を Kerberos ログインに使用できます。次に例を示します。
CREATE USER "kerberos-user" IDENTIFIED BY abc123; |
GRANT KERBEROS LOGIN TO 文を実行して、クライアントの Kerberos プリンシパルから既存のデータベースユーザー ID へのマッピングを作成します。この文の実行には DBA 権限が必要です。次に例を示します。
GRANT KERBEROS LOGIN TO "pchin@MYREALM.COM" AS USER "kerberos-user"; |
マッピングのない Kerberos プリンシパルが使用されているときに接続する場合は、Guest データベースユーザー ID が存在し、パスワードが設定されていることを確認します。 デフォルトの統合化ログインユーザーを参照してください。
クライアントユーザーが Kerberos プリンシパルを使用してログオン済みである (有効な Kerberos TGT:Ticket Granting Ticket がある) こと、およびクライアントの Kerberos チケットの期限が切れていないことを確認します。ドメインアカウントにログインしている Windows ユーザーは、TGT をすでに持っており、プリンシパルに必要なパーミッションがあれば、サーバーに認証されます。
チケット付与権限付きチケットはユーザーパスワードを使用して暗号化された Kerberos チケットで、ユーザー ID の検証に Ticket Granting Service が使用します。
KERBEROS 接続パラメーター (通常は KERBEROS=YES、ただし KERBEROS=SSPI または KERBEROS=GSS-API-library-file も使用可) を指定して、クライアントから接続します。ユーザー ID またはパスワードの接続パラメーターが指定された場合は、無視されます。次に例を示します。
dbisql -c "KERBEROS=YES;Server=my_server_princ" |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |