Kerberosを使用してAutonomous Databaseユーザーを認証
Oracle Autonomous Databaseユーザーを認証するようにKerberosを構成する方法について説明します。
Kerberos認証について
Kerberosネットワーク認証プロトコルを使用してデータベース・ユーザーを認証するようにAutonomous Database on Dedicated Exadata Infrastructureを構成できます。 Kerberosは強力なネットワーク認証プロトコルです。 シークレット・キー暗号化を使用して、ユーザーからサーバーへの認証を提供することで強力な認証を実現します。
- KerberosのAutonomous Database on Dedicated Exadata Infrastructureサポートは、Oracleユーザーのシングル・サインオンおよび集中認証の利点を提供します。 Kerberosは、共有秘密を使用するサード・パーティの認証システムです。 サード・パーティがセキュアであることを保障し、シングル・サインオン機能、集中化されたパスワード・ストレージ、データベース・リンク認証、拡張されたPCセキュリティを提供します。 Kerberosは、Kerberos認証サーバーを使用して認証を行います。
- Kerberosシステムは、チケットの概念を中心に展開されます。 チケットは、ユーザーまたはサービスを識別する一連の電子情報です。 チケットは、ユーザーとネットワーク・アクセス権限を識別します。
- Kerberos-based認証では、チケットのリクエストをKDC (Key Distribution Center)に透過的に送信します。 Key Distribution Centerはユーザーを認証し、データベースにアクセスするためのチケットを付与します。
Kerberos認証システムのコンポーネント
Kerberos認証システムの概要を示します。
- レルムは認証管理ドメインを確立します。 各レルムには、その特定の管理ドメインのユーザーおよびサービスを含む独自のKerberosデータベースがあります。
- チケットは、KDC (Key Distribution Center)によって発行されます。 クライアントは、アイデンティティの信頼性を示すためにデータベース・サーバーにチケットを提示します。 各チケットには有効期限と更新時間があります。
- Keytabsには、1つ以上の主体の長期キーが格納されます。 keytabファイルは、ツール
kadmin.local
(MIT Key Distribution Centerの場合)またはktpass
(Active Directory Key Distribution Centerの場合)を起動して生成されます。 - プリンシパルは、Key Distribution Centerデータベースのエントリです。 各ユーザー、ホスト、またはサービスにはプリンシパルが与えられます。 主体は、Key Distribution Centerがチケットを割り当てることができる一意のアイデンティティです。
- Autonomous DatabaseでのKerberosサポートでは、サービス・プリンシパルの名前を構成する様々なコンポーネントに次の値が使用されます:
サービス・プリンシパルのコンポーネント | Autonomous Databaseの値 |
---|---|
|
TNS接続文字列にある |
|
|
REALM |
KDCでサポートされているレルム。 |
Autonomous DatabaseでKerberos認証を有効にするには、Kerberos構成ファイル(krb.conf
)およびサービス・キー表ファイル(v5srvtab
)を準備しておく必要があります。 これらのファイルおよびそれらを取得するステップの詳細は、「Kerberos構成ファイルについて」を参照してください。
Autonomous DatabaseでのKerberos認証に関するノート
Autonomous Database on Dedicated Exadata InfrastructureでKerberos認証を続行する前に、次のノートを確認してください:
- Kerberos認証は、Autonomous Databaseバージョン19.18以降でのみ使用できます。
- Autonomous DatabaseでKerberos認証を有効にしても、依然としてデータベースに対してパスワードベースのデータベース認証を使用できます。
- Autonomous Databaseには、いつでも1つの外部認証メソッドのみを使用できます。 つまり、Oracle Cloud Infrastructure (IAM)、Active Directory (CMU-AD)、Azure ADまたはKerberos認証スキームをいつでも有効にできる一元管理ユーザーのみを指定できます。
ノート:
唯一の例外は、CMU-AD上でKerberos認証を構成して、Microsoft Active DirectoryユーザーにCMU-AD Kerberos認証を提供できることです。 - Kerberos認証は、次のツールではサポートされていません:
- MongoDBのためのOracle Database API
- Oracle REST Data Services
- Oracle Machine Learning
- APEX
- Oracle Graph Studio
- Oracle Databaseアクション
- Kerberos認証を有効にして、ADMINユーザーを認証できます。 Oracle Cloud Infrastructure (OCI)コンソールでパスワードのリセット機能を使用すると、ADMINユーザーのパスワードをリセットし、破損したkeytabファイルによってADMINユーザーの認証が失敗した場合に、アクセスを回復できます。
- Kerberos認証は、TCPSプロトコルでのみサポートされます。
- Kerberos認証は、DB_LINKsおよびAutonomous Data Guardを使用するデータベースではサポートされていません。
Autonomous DatabaseでのKerberos認証の有効化
次に示すステップに従って、Autonomous Database on Dedicated Exadata InfrastructureのKerberos認証を有効にします:
Object Storageの詳細は、「Oracle Cloud Infrastructure Object Storageにナビゲートし、バケットを作成」を参照してください。
詳細については、「ENABLE_EXTERNAL_AUTHENTICATIONプロシージャ」を参照してください。
Autonomous DatabaseでのKerberos認証の無効化
データベースで他の外部認証スキームを有効にする前に、DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION
プロシージャを実行するKerberos認証を無効にする必要があります。
DBMS_CLOUD_ADMIN
に対するEXECUTE
権限を持っている必要があります。BEGIN
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
END;
/
詳細については、「DISABLE_EXTERNAL_AUTHENTICATIONプロシージャ」を参照してください。
ノート:
Microsoft Active DirectoryユーザーにCMU-AD Kerberos認証を提供するには、Kerberos認証を無効にせずにCMU-AD認証を引き続き構成する必要があります。