DBMS_MFA_ADMINパッケージ
DBMS_MFA_ADMINパッケージは、SQLトークン・アクセスを容易にして構成します。
- DBMS_MFA_ADMINサブプログラムの要約
DBMS_MFA_ADMINパッケージに含まれるサブプログラムを要約します。
DBMS_MFA_ADMINサブプログラムの要約
DBMS_MFA_ADMINパッケージに含まれるサブプログラムを要約します。
- REGISTER_USERプロシージャ
DBMS_MFA_ADMIN.REGISTER_USERプロシージャは、ユーザーを電子メール・アドレスに外部アイデンティティとして関連付けて、既存のデータベース・ユーザーをMFAに登録します。MFAは、ログオン認証またはSQLアクセス(あるいはその両方)に対して有効にできます。セキュアなアクセス・トークンを提供するための電子メール、Slackおよびオーセンティケータ・アプリケーションをサポートしています。 - SET_GLOBAL_TOKEN_ATTRIBUTESプロシージャ
DBMS_MFA_ADMIN.SET_GLOBAL_TOKEN_ATTRIBUTESプロシージャは、すべての登録済ユーザーのSQLアクセス・トークンMFA属性をグローバルに設定または更新します。 - SET_ATTRIBUTEプロシージャ
DBMS_MFA_ADMIN.SET_ATTRIBUTEは、登録済ユーザーの単一のMFA属性を設定または更新し、その属性に適用可能なグローバル・デフォルトをオーバーライドします。 - SET_ATTRIBUTESプロシージャ
DBMS_MFA_ADMIN.SET_ATTRIBUTESプロシージャは、登録済ユーザーの1つ以上のMFA属性を設定または更新し、それらの属性に適用可能なグローバル・デフォルトをオーバーライドします。 - CONFIGURE_NOTIFICATIONプロシージャ
DBMS_MFA_ADMIN.CONFIGURE_NOTIFICATIONプロシージャは、MFAトークンが登録済ユーザーに送信されるチャネルを構成します。これには、配信方法およびトークン配布に必要なチャネル固有のプロパティの定義が含まれます。 - DEREGISTER_USERプロシージャ
DBMS_MFA_ADMIN.DEREGISTER_USERプロシージャは、MFAに現在登録されているデータベース・ユーザーを削除します。ユーザーが削除されると、そのアカウントに対してMFAは強制されなくなり、ユーザーは2番目の要素なしで認証できます。
親トピック: DBMS_MFA_ADMINパッケージ
REGISTER_USERプロシージャ
DBMS_MFA_ADMIN.REGISTER_USERプロシージャは、ユーザーを電子メール・アドレスに外部IDとして関連付けて、既存のデータベース・ユーザーをMFAに登録します。MFAは、ログオン認証またはSQLアクセス(あるいはその両方)に対して有効にできます。セキュアなアクセス・トークンを提供するための電子メール、Slackおよびオーセンティケータ・アプリケーションをサポートしています。
構文
DBMS_MFA_ADMIN.REGISTER_USER (
username IN VARCHAR2,
type IN VARCHAR2,
email IN CLOB DEFAULT NULL,
attributes IN CLOB DEFAULT NULL
);
パラメータ
| パラメータ | 摘要 |
|---|---|
|
|
マルチファクタ認証を適用する必要があるユーザー名を指定します。 |
|
|
ユーザーにMFAを適用するタイミングを制御するMFA属性を指定します。 typeには、次の値を指定できます。
|
|
|
MFAのユーザーに関連付ける電子メール・アドレスを指定します。 |
|
|
JSON形式でMFA属性を指定します。
|
例
MFAログオン用にユーザーを登録する例:
BEGIN
DBMS_MFA_ADMIN.REGISTER_USER(
user_name => 'SCOTT',
type => 'LOGON',
email => 'scott@example.com',
token_attributes => '{"auth_method":"oma_push"}'
);
END;
/
MFA属性を設定して、SQLアクセス用のユーザーを登録する例。
BEGIN
DBMS_MFA_ADMIN.REGISTER_USER(
user_name => 'SCOTT',
type => 'SQL ACCESS',
email => 'scott@example.com',
attributes => '{
"duration_min" : 720,
"read_only" : true,
"roles" : ["DEVELOPER_ROLE", "INFRA_ROLE"],
"scope" : "SESSION",
"slack_member_id": "<slack_user_id>"
}'
);
END;
/
使用上のノート
-
ユーザーを登録するには、
ADMINユーザーとしてログインするか、DBMS_MFA_ADMINパッケージに対する権限を持っている必要があります。 -
MFAタイプに応じて、異なるプロバイダを使用してMFAのデータベース・ユーザーを登録できます。DuoおよびOMAはログイン時のMFAでサポートされ、Slack、OMAおよび電子メールはSQLアクセス・トークンのMFAでサポートされます。
-
それぞれに個別に登録することで、両方のMFAタイプ(MFAログオンおよびSQLアクセス)に同じユーザーを登録できます。登録ごとに同じまたは異なる電子メール・アドレスを使用できます。構成すると、ユーザーは、ログイン時に登録済電子メール・アドレスへのプッシュ通知を受信し、使用する場合は、ユーザーがSQLアクセスに対して
INITIALIZE_SESSIONを実行したときに同じアドレスへの別の通知を受信します。
親トピック: DBMS_MFA_ADMINサブプログラムの要約
SET_GLOBAL_TOKEN_ATTRIBUTESプロシージャ
DBMS_MFA_ADMIN.SET_GLOBAL_TOKEN_ATTRIBUTESプロシージャは、すべての登録済ユーザーのSQLアクセス・トークンMFA属性をグローバルに設定または更新します。
構文
DBMS_MFA_ADMIN.SET_GLOBAL_TOKEN_ATTRIBUTES(
attributes IN VARCHAR2
);パラメータ
| パラメータ | 摘要 |
|---|---|
|
|
アクセス・トークンを生成するためのトークン属性をJSON形式で指定します。有効な値は次のとおりです。
|
使用上のノート
-
トークン属性を設定するには、
ADMINユーザーとしてログインするか、DBMS_MFA_ADMINパッケージに対する権限を持っている必要があります。
親トピック: DBMS_MFA_ADMINサブプログラムの要約
SET_ATTRIBUTEプロシージャ
DBMS_MFA_ADMIN.SET_ATTRIBUTEは、登録済ユーザーの単一のMFA属性を設定または更新し、その属性に適用可能なグローバル・デフォルトをオーバーライドします。
ログイン時のMFAでは、
auth_methodのみがサポートされている属性です。
構文
DBMS_MFA_ADMIN.SET_ATTRIBUTE(
username IN VARCHAR2,
type IN VARCHAR2,
email IN VARCHAR2 DEFAULT NULL,
attribute_name IN VARCHAR2,
attribute_value IN CLOB
);パラメータ
| パラメータ | 摘要 |
|---|---|
|
|
MFA属性を更新するデータベース・ユーザーを指定します。 |
|
|
ユーザーにMFAを適用するタイミングを制御するMFA属性を指定します。 有効な値は次のとおりです。
|
|
|
MFAのユーザーに関連付ける電子メール・アドレスを指定します。 このパラメータはオプションで、デフォルトは |
|
|
更新するMFA属性の名前を指定します。有効な値は次のとおりです。
|
|
|
指定された属性の新しい値。 |
例
SCOTTのMFA設定を更新する例:BEGIN
DBMS_MFA_ADMIN.SET_ATTRIBUTE(
username => 'scott',
type => 'sql access',
email => 'testscott@example.com',
attribute_name => 'duration_min',
attribute_value => '20');
END;
/使用上のノート
-
usernameパラメータには、MFAに登録されている既存のデータベース・ユーザーを指定する必要があります。 -
このプロシージャを実行するには、
ADMINユーザーとしてログインするか、DBMS_MFA_ADMINパッケージに対する権限を持っている必要があります。
親トピック: DBMS_MFA_ADMINサブプログラムの要約
SET_ATTRIBUTESプロシージャ
DBMS_MFA_ADMIN.SET_ATTRIBUTESプロシージャは、登録済ユーザーの1つ以上のMFA属性を設定または更新し、それらの属性に適用可能なグローバル・デフォルトをオーバーライドします。
ログイン時のMFAでは、
auth_methodのみがサポートされている属性です。
構文
DBMS_MFA_ADMIN.SET_ATTRIBUTES (
username IN VARCHAR2,
type IN VARCHAR2,
attributes IN CLOB
);
パラメータ
| パラメータ | 摘要 |
|---|---|
|
|
MFA属性を更新するユーザー名を指定します。 |
|
|
ユーザーにMFAを適用するタイミングを制御するMFA属性を指定します。 有効な値は次のとおりです。
|
attributes |
JSON形式でMFA属性を指定します。有効な値は次のとおりです。
|
例
SCOTTのMFA設定を更新する例:BEGIN
DBMS_MFA_ADMIN.SET_ATTRIBUTES(
username => 'SCOTT',
type => 'SQL ACCESS',
attributes => json_object(
'duration_min' VALUE 15,
'email' VALUE 'testscott@example.com',
'scope' VALUE 'session',
'idle_timeout_min' VALUE 10)
);
END;
/使用上のノート
-
USERNAMEパラメータには、MFAに登録されている既存のデータベース・ユーザーを指定する必要があります。 -
このプロシージャを実行するには、
ADMINユーザーとしてログインするか、DBMS_MFA_ADMINパッケージに対する権限を持っている必要があります。
親トピック: DBMS_MFA_ADMINサブプログラムの要約
CONFIGURE_NOTIFICATIONプロシージャ
DBMS_MFA_ADMIN.CONFIGURE_NOTIFICATIONプロシージャは、MFAトークンが登録済ユーザーに送信されるチャネルを構成します。これには、配信方法およびトークン配布に必要なチャネル固有のプロパティの定義が含まれます。
構文
DBMS_MFA_ADMIN.CONFIGURE_NOTIFICATION (
notification_type IN VARCHAR2,
attributes IN CLOB
);
パラメータ
| パラメータ | 摘要 |
|---|---|
|
|
構成する通知チャネルのタイプを指定します。有効な値は、 |
|
|
指定された通知チャネルの構成詳細をJSON形式で提供します。 これらの各通知チャネルの有効な属性タイプは次のとおりです。 電子メール: MFAログオン設定に必要です。電子メールによるOTPはSQLアクセス・トークンMFAでのみサポートされています
SLACK: SQL Acccess Token MFAでのみサポートされています
OMA: ログオンとSQL Acccess Token MFAの両方でサポートされています
DUO: ログオンMFAでのみサポートされています:
|
例
例: EMAIL通知チャネルの構成
BEGIN
DBMS_MFA_ADMIN.CONFIGURE_NOTIFICATION (
notification_type => 'EMAIL',
attributes => JSON_OBJECT(
'credential_name' VALUE 'EMAIL_CRED',
'smtp_host' VALUE 'smtp.email.us-phoenix-1.oci.oraclecloud.com',
'sender' VALUE 'send.email@test.com',
'smtp_port' VALUE 587,
'sender_email_display_name' VALUE 'DB SECURITY')
);
END;
/
例: Slack通知チャネルの構成
BEGIN
DBMS_MFA_ADMIN.CONFIGURE_NOTIFICATION(
notification_type => 'SLACK',
attributes => JSON_OBJECT('credential_name' VALUE 'SLACK_CRED')
);
END;
/例: OMA通知チャネルの構成
BEGIN
DBMS_MFA_ADMIN.CONFIGURE_NOTIFICATION(
notification_type => 'OMA',
attributes => JSON_OBJECT(
'credential_name' VALUE 'OMA_CRED_01',
'api_endpoint' VALUE 'https://idcs-xyz.identity.oraclecloud.com'
)
);
END;
/
例: DUO通知チャネルの構成
BEGIN
DBMS_MFA_ADMIN.CONFIGURE_NOTIFICATION(
notification_type => 'OMA',
attributes => JSON_OBJECT(
'credential_name' VALUE 'OMA_CRED_01',
'api_endpoint' VALUE 'https://idcs-xyz.identity.oraclecloud.com'
)
);
END;
/使用上のノート
-
このプロシージャを実行するには、
ADMINユーザーとしてログインしているか、DBMS_MFA_ADMINパッケージに対する権限を持っている必要があります。 -
Slack通知の場合は、必要な資格証明を設定し、ご使用の環境でSlack統合が有効になっていることを確認します。Slack通知は、SQLアクセスMFA操作でのみサポートされます。
-
トークン属性を設定するには、
ADMINユーザーとしてログインするか、DBMS_MFA_ADMINパッケージに対する権限を持っている必要があります。 -
オーセンティケータ・アプリケーション・ベースのトークンの場合:
-
MFAに登録するモバイル・デバイスに、サポートされているオーセンティケータ・アプリケーションをインストールします。
-
MFAは、サインインするたびにアクセスできるデバイスを使用して設定する必要があります。別のユーザーがかわりにMFAを有効にすることはできません。
-
MFAを有効にするには、モバイル・デバイスでオーセンティケータ・アプリケーションを使用して、データベース・アクションUIで生成されたQRコードをスキャンします。詳細は、「Oracle Mobile Authenticatorの構成」を参照してください。
MFAに登録できるモバイル・デバイスは1つのみです。
-
- Eメール・ベースのトークン配信の場合、Eメール配信が有効であり、データベース・ユーザーに対して有効なEメール・アドレスが構成されていることを確認します。詳細は、Autonomous AI Databaseでの電子メールの送信を参照してください。
- Slackベースのトークン配信の場合は、Slackプラグインを構成し、ユーザーのSlack IDをOTP配信用に登録します。詳細は、Autonomous AI DatabaseからのSlack通知の送信を参照してください。
-
親トピック: DBMS_MFA_ADMINサブプログラムの要約
DEREGISTER_USERプロシージャ
DBMS_MFA_ADMIN.DEREGISTER_USERプロシージャは、MFAに現在登録されているデータベース・ユーザーを削除します。ユーザーが削除されると、そのアカウントに対してMFAは強制されなくなり、ユーザーは2番目の要素なしで認証できます。
構文
PROCEDURE DBMS_MFA_ADMIN.DEREGISTER_USER (
username IN VARCHAR2,
type IN VARCHAR2,
email IN VARCHAR2 DEFAULT NULL
);パラメータ
| パラメータ | 摘要 |
|---|---|
|
|
マルチファクタ認証を削除する必要があるユーザー名を指定します。 |
type |
ユーザーにMFAを適用するタイミングを制御するMFA属性を指定します。有効な値は次のとおりです。
|
email |
MFAのユーザーに関連付けられた電子メール・アドレスを指定します。 このパラメータはオプションで、デフォルトは |
例
BEGIN
DBMS_MFA_ADMIN.DEREGISTER_USER(
username => 'SCOTT',
type => 'SQL ACCESS',
email => 'scott@example.com'
);
END;
/この例では、指定されたtype (SQL ACCESS)のユーザーSCOTTをMFAから登録解除し、関連付けられた電子メール・アイデンティティ(scott@example.com)をMFA構成から削除します。
使用上のノート
-
このプロシージャを実行するには、
ADMINユーザーとしてログインしているか、DBMS_MFA_ADMINパッケージに対する権限を持っている必要があります。 - ユーザーが複数のEメール・アドレスに登録されている場合は、各Eメール・アドレスを個別に登録解除します。
親トピック: DBMS_MFA_ADMINサブプログラムの要約