Autonomous AI Databaseでのユーザーの作成および管理
Autonomous AI Databaseでユーザーを作成するためにいくつかのオプションがあります。Oracle Databaseアクション・データベース・ユーザー・カードを使用するか、データベースに接続するクライアント側ツールを使用して、データベース・ユーザーを作成できます。
データベース・アクションを使用したAutonomous AI Databaseでのユーザーの作成
Database Actionsを使用して、自律型AIデータベース・ユーザーをすばやく作成できます。
最初に、ADMINユーザーとしてデータベース・アクションにアクセスします。詳細は、ADMINとしてのデータベース・アクションへのアクセスを参照してください。
-
左上の、Oracle Databaseアクションの横の
をクリックします。「Development」、「Data Studio」、「Administration」、「Downloads」、「Monitoring」、「Related Services」などの「Database Actions」メニューが表示されます。
-
「管理」で「データベース・ユーザー」をクリックします。
-
「データベース・ユーザー」ページの「すべてのユーザー」領域で、「+ユーザーの作成」をクリックします。
-
新規ユーザーを作成するには、ユーザー名とパスワードを入力し、パスワードの確認のために再度パスワードを入力します。ユーザーに対して有効にするオプション(「グラフ」、「OML」または「Webアクセス」)も選択します。
-
ユーザーの表領域DATAの割当て制限の値を設定します。
-
新規ユーザーにロールを付与する場合は、「付与されたロール」タブをクリックして、ユーザーのロールを選択します。たとえば、DWROLEおよびCONNECTを選択します。
-
「ユーザーの作成」をクリックします。
「データベース・アクション」には、「作成されたユーザー」確認メッセージが表示されます。
ロールの付与およびユーザーの権限の追加または更新の詳細は、Autonomous AIデータベースでのユーザー・ロールおよび権限の管理を参照してください。
Database Actionsデータベース・ユーザーの詳細は、「データベース・ユーザー」ページを参照してください。
新規ユーザーにWebアクセスを提供する場合は、新規ユーザーにURLを送信する必要があります。詳細は、「データベース・ユーザーへのデータベース・アクション・アクセスの提供」を参照してください。
管理者は、クライアント側のアクセスのために新規ユーザーに資格証明ウォレットを提供する必要があります。クライアント側のアクセス資格証明の詳細は、Autonomous AI Databaseへの接続を参照してください。
ノート
ノート: Autonomous AI Databaseには強力なパスワードが必要です。指定するパスワードはデフォルトのパスワード複雑性ルールを満たす必要があります。詳細は、「Autonomous AI Databaseのユーザー・パスワードについて」を参照してください。
APEX作業領域の作成の詳細は、「Autonomous AIデータベースでのOracle APEXワークスペースの作成」を参照してください。
Oracle Machine Learning Notebooksのユーザー・アカウントを追加するには、Autonomous AI DatabaseでのOracle Machine Learningコンポーネントのユーザー・アカウントの作成と更新を参照してください。
Autonomous AI Databaseでのユーザーの作成- クライアント・ツールを使用した接続
ユーザーを作成するには、任意のSQLクライアント・ツールを使用してADMINユーザーとしてデータベースに接続します。
たとえば、Oracle SQL Developerを使用して接続します(Autonomous AI Databaseへの接続を参照)。
-
ADMINユーザーとして接続します。
-
次のSQL文を実行します。
CREATE USER new_user IDENTIFIED BY password; GRANT CREATE SESSION TO new_user;ノート
ノート:BY VALUES句を指定したIDENTIFIEDは、Autonomous AI Databaseではサポートされていません。また、BY VALUES句を指定してIDENTIFIEDは使用できません。これにより、接続権限を持つ
new_userが作成されます。これで、このユーザーがデータベースに接続し、問合せを実行できるようになります。ユーザーに追加の権限を付与するには、Autonomous AI Databaseでのユーザー・ロールおよび権限の管理を参照してください。管理者は、ユーザー
new_userに資格証明ウォレットを提供する必要があります。クライアント資格証明の詳細は、Autonomous AI Databaseへの接続を参照してください。ノート
ノート: Autonomous AI Databaseには強力なパスワードが必要です。指定するパスワードはデフォルトのパスワード複雑性ルールを満たす必要があります。詳細は、「Autonomous AI Databaseのユーザー・パスワードについて」を参照してください。データベース・アクションにユーザーを追加するには、「データベース・ユーザーへのデータベース・アクション・アクセス権の提供」を参照してください
APEX作業領域の作成の詳細は、「Autonomous AIデータベースでのOracle APEXワークスペースの作成」を参照してください。
Oracle Machine Learningコンポーネントのユーザー・アカウントを追加するには、Autonomous AI DatabaseでのOracle Machine Learningコンポーネントのユーザー・アカウントの作成と更新を参照してください。
シークレット・ベースのパスワード認証を持つユーザーの作成
ユーザー・パスワードは、データベース内でパスワードを直接管理するのではなく、外部ボールトに安全に格納し、データベースから参照できます。
この方法では、ユーザーがサポートされているクライアントからAutonomous AI Databaseに接続すると、ボールト・シークレットに格納されているパスワードに対してユーザーを検証することで認証が行われます。ログイン時に、データベースはボールトからパスワードを取得し、認証ベリファイアを生成して、認証プロセスを完了します。ユーザー・パスワードはデータベースに格納されません。
シークレット・ベースのユーザー認証では、次のことが可能です。
-
外部ボールト・サービスでのデータベース・ユーザー・パスワードの安全な格納
-
パスワード・ローテーションのサポート
-
パスワード・セキュリティの維持
アプリケーション・スクリプトにデータベース・ユーザー・パスワードをプレーン・テキストとして格納しないでください。
-
セキュアな資格証明管理によるマルチクラウド・データベース・デプロイメントの有効化
Autonomous AI Databaseでは、ボールト・シークレット資格証明に対して次のボールト・プロバイダがサポートされています:
-
Oracle Cloud Infrastructure Vault
-
Azureキー・ボールト
-
AWSシークレット・マネージャ
-
GCPシークレット・マネージャ
Autonomous AI Databaseで、サポートされているクラウド・ボールトのシークレットに安全に格納されたパスワードを使用して認証するデータベース・ユーザーを作成できます。
次の項では、ボールト・シークレットのプロビジョニング、資格証明の定義、およびボールトから認証詳細をセキュアにプルするデータベース・ユーザーの作成について概説します。
前提条件
-
ボールト・シークレット資格証明を持つユーザーを作成する前に、選択したボールト・プロバイダに基づいて優先パスワードを含むシークレットをボールトに作成する必要があります。選択したプロバイダに基づいて、シークレット識別子と場所の詳細(リージョン、ボールト名、プロジェクトIDなど)をノートにとります。
-
また、Autonomous AI Databaseがシークレットを読み取ることができるように、必要なクラウド側権限を構成する必要もあります。たとえば、OCIボールトを選択した場合、Autonomous AI Databaseは、そのシークレットを含むコンパートメント内のシークレット・バンドルへのアクセス権を付与する動的グループおよびIAMポリシーを使用して、シークレットの読取りを許可する必要があります。
サポートされているボールト・プロバイダでのシークレットの作成の詳細は、Vaultシークレット資格証明の使用と、選択したボールト・プロバイダに基づく必要な権限を参照してください。
ノート
ノート: Autonomous AI Databaseには強力なパスワードが必要です。指定するパスワードはデフォルトのパスワード複雑性ルールを満たす必要があります。詳細は、「Autonomous AI Databaseのユーザー・パスワードについて」を参照してください。
手順
-
ボールト・シークレット資格証明を作成します:
シークレットを作成した後、シークレットへのアクセスに必要なメタデータを格納するボールト・シークレット資格証明オブジェクトを作成します:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'vault_credential_name', params => JSON_OBJECT( 'username' VALUE 'database_username', 'secret_id' VALUE 'vault_secret_identifier', 'region' VALUE 'vault_region' ) ); END; /-
credential_name: データベース内の資格証明オブジェクトに割り当てる名前を指定します。これは、ユーザーの作成時に参照するパラメータです。 -
username: 外部シークレットに格納されているパスワードに関連付けられたデータベース・ユーザー名を指定します。 -
secret_id: 外部ボールト内のシークレットの一意の識別子を指定します。Oracle Cloud Infrastructure Vaultの場合、これはボールト・シークレットOCIDです。このパラメータ値は、ボールト・プロバイダによって異なります。 -
region: ボールト・シークレットを含むリージョンのデータベースを指定します。
ボールト・プロバイダによっては、同等のプロバイダ固有のフィールド(
region、azure_vault_name、gcp_project_idなど)を提供する必要がある場合があります。詳細は、Vaultシークレット資格証明の使用を参照してください。 -
-
データベース・ユーザーを作成します:
ボールト・シークレット資格証明が作成されたら、データベース・ユーザーを作成し、資格証明を参照します:
CREATE USER database_username IDENTIFIED BY CREDENTIAL "credential_schema"."vault_credential_name"; GRANT CREATE SESSION TO database_username;-
database_username: 作成する新しいデータベース・ユーザーの名前を指定します。 -
IDENTIFIED BY CREDENTIAL: ユーザーがシークレット・ベースの認証を使用して認証し、パスワードをローカルに格納するかわりにボールトからプルすることを指定します。 -
credential_schema: 資格証明オブジェクトを所有するスキーマを指定します。 -
vault_credential_name: 前のDBMS_CLOUD.CREATE_CREDENTIALプロシージャで作成したボールト・シークレットを指す資格証明名を指定します。
ユーザーの作成後、Autonomous AI Databaseでは、認証中に参照されるボールト・シークレットが使用されるため、ユーザーは外部シークレット・マネージャに格納されているパスワードでサインインします。
-
シークレット・ベースの認証を使用するユーザーを作成すると、DBA_USERSおよびUSER_USERSディクショナリ・ビューの次のデータ・ディクショナリ列に、関連する資格証明情報が表示されます。
-
LOGON_CREDENTIAL_OWNER- 資格証明オブジェクトを所有するスキーマ -
LOGON_CREDENTIAL_NAME- ボールト資格証明オブジェクトの名前データ・ディクショナリ列は、表、列、制約およびその他のオブジェクトを記述する組込みのデータ・ディクショナリ・ビューの列を参照します。
Autonomous AI Databaseでのユーザーの更新- クライアント・ツールを使用した接続
ユーザーを作成するには、任意のSQLクライアント・ツールを使用してADMINユーザーとしてデータベースに接続します。
たとえば、Oracle SQL Developerを使用して接続します(Autonomous AI Databaseへの接続を参照)。
-
ADMINユーザーとして接続します。
-
次のSQL文を実行します。
ALTER USER username IDENTIFIED BY new_password;ノート
ノート: Autonomous AI Databaseには強力なパスワードが必要です。指定するパスワードはデフォルトのパスワード複雑性ルールを満たす必要があります。詳細は、「Autonomous AI Databaseのユーザー・パスワードについて」を参照してください。
これにより、usernameのパスワードがnew_passwordに更新されます。
シークレットベースのパスワード認証によるユーザー・パスワードの更新
この項では、ボールト・シークレット資格証明を参照して既存のユーザーのパスワードを更新する方法について説明します。
この方法では、ユーザーがサポートされているクライアントからAutonomous AI Databaseに接続すると、ボールト・シークレットに格納されているパスワードに対してユーザーを検証することで認証が行われます。ログイン時に、データベースはボールトからパスワードを取得し、認証ベリファイアを生成して、認証プロセスを完了します。ユーザー・パスワードはデータベースに格納されません。
シークレット・ベースの認証を使用すると、データベース操作からプレーン・テキスト・パスワードが排除され、スクリプト、ログまたは監査証跡で偶発的に漏洩するリスクが軽減されるため、セキュリティが向上します。また、データベース・ユーザー定義を変更することなくボールトで更新を処理できるため、パスワード・ローテーションおよび一元化された資格証明管理も簡素化されます。
ALTER USER文を使用すると、アカウントを削除して再作成することなく、ボールト・ベースの資格証明を使用するように既存のユーザーを更新できます。これにより、既存の権限およびロールが保持されます。
たとえば、Oracle SQL Developerを使用して接続します(Autonomous AI Databaseへの接続を参照)。
-
ADMINユーザーとして接続します。
-
ボールト・シークレット資格証明がAutonomous AI Databaseで作成および構成されていることを確認する必要があります。詳細は、ボールト・シークレット資格証明の使用を参照してください。
次のSQL文を実行して、ボールト資格証明を使用するようにユーザーを更新します。
ALTER USER database_username IDENTIFIED BY CREDENTIAL "credential_schema"."credential_name";-
database_username: パスワードを更新する既存のデータベース・ユーザーを指定します。 -
IDENTIFIED BY CREDENTIAL: シークレット・ベースの認証を指定し、パスワードをローカルに格納するかわりにボールトからプルします。 -
credential_schema: 資格証明オブジェクトを含むスキーマを指定します。 -
credential_name: ボールト・シークレットを指す特定の資格証明名を指定します。ノート
ノート: Autonomous AI Databaseには強力なパスワードが必要です。指定するパスワードはデフォルトのパスワード複雑性ルールを満たす必要があります。詳細は、「Autonomous AI Databaseのユーザー・パスワードについて」を参照してください。シークレット・ベース認証でユーザーを作成すると、
DBA_USERSおよびUSER_USERSディクショナリ・ビューの次のデータ・ディクショナリ列に、関連する資格証明情報が表示されます。-
LOGON_CREDENTIAL_OWNER- 資格証明オブジェクトを所有するスキーマ -
LOGON_CREDENTIAL_NAME- ボールト資格証明オブジェクトの名前
データ・ディクショナリ列は、表、列、制約およびその他のオブジェクトを記述する組込みのデータ・ディクショナリ・ビューの列を参照します。詳細は、データ・ディクショナリを参照してください。
-
-
パスワードのローテーション
シークレット・ベースの認証を使用する2つの方法でパスワードをローテーションできます。
-
同じシークレットの下に新しいシークレット・バージョンを作成: ボールト内に同じシークレットの複数のバージョンを作成できます。新しいバージョンを作成してシークレットをローテーションし、次の文を実行すると、ユーザーの認証に最新バージョンのシークレットが使用されます。グローバル・パスワード・ロールオーバーが構成されている場合、以前のパスワードは
PASSWORD_ROLLOVER_TIME制限で指定された時間有効なままになります。ALTER USER database_username IDENTIFIED BY CREDENTIAL "credential_schema"."vault_credential_name"; -
新規シークレットの作成:
新しいパスワードの新しいボールト・シークレットおよび新しい資格証明オブジェクトを作成できます。
グローバル・パスワード・ロールオーバーが構成されている場合、以前のパスワードは
PASSWORD_ROLLOVER_TIME制限で指定された時間有効なままになります。詳細は、アプリケーションの段階的データベース・パスワード・ロールオーバーを参照してください。ユーザー・パスワードをローテーションするには、新しいシークレットを指す新しい資格証明オブジェクトを使用する次の文を実行します:
ALTER USER database_username IDENTIFIED BY CREDENTIAL "credential_schema"."new_vault_credential_name";ノート
ノート:ボールト内のシークレットの新規バージョンをローテーションまたは作成しても、データベース・ユーザー・パスワードは自動的にローテーションされません。データベース・ユーザー・パスワードをローテーションするには、前述のいずれかのアプローチに従う必要があります。
ボールト資格証明オブジェクトに対するEXECUTE権限がある場合は、シークレットベースの資格証明を持つユーザーを作成または変更できます。
ノート
ノート:必要な権限がない場合、CREATE USER文またはALTER USER文は失敗します。
次のSQL文を実行して、EXECUTE権限を付与します。
GRANT EXECUTE ON vault_credential_name TO user_or_role;前述の文は、指定されたユーザーまたはロールに、vault_credential_nameという名前のVault資格証明オブジェクトを使用する権限を付与します。
Autonomous AI Databaseでのユーザー・アカウントのロック解除
ユーザー・アカウントがロックされている場合は、ADMINユーザーとしてアカウントのロックを解除できます。
アカウントをロック解除するには、ADMINユーザーとしてデータベースに接続し、次のコマンドを実行します:
ALTER USER username IDENTIFIED BY password ACCOUNT UNLOCK;ALTER USERコマンドについては、『SQL言語リファレンス』を参照してください。
Autonomous AI Databaseのユーザー・パスワードについて
Autonomous AI Databaseには強力なパスワードが必要で、ユーザーに指定するパスワードは、デフォルトの最小パスワードの複雑性ルールを満たす必要があります。
Autonomous AI Databaseは、パスワードの最小標準を設定し、デフォルトのプロファイルは、失敗したログイン試行回数を制限するパラメータを設定します。
-
パスワードは、12文字から30文字までの長さとし、大文字、小文字および数字をそれぞれ1文字以上含める必要があります。
一部のヘルプ・ツールチップ・ポップアップでは、パスワードの制限は60文字と表示されます。パスワードを最大30文字に制限します。
-
パスワードにユーザー名を含めることはできません。
-
同じユーザー名に、過去4回のパスワードを使用することはできません。
-
パスワードには二重引用符(")または一重引用符(')を含めることはできません。
-
パスワードを、設定してから24時間経過していないパスワードと同じにすることはできません。
パスワードの複雑度ルールおよびパスワード・パラメータ値を変更するには、デフォルト・プロファイルを変更するか、新しいプロファイルを作成してユーザーに割り当てます。詳細は、Autonomous AI Databaseでのユーザー・プロファイルの管理を参照してください。
Autonomous AI Databaseのデフォルトのプロファイル・パスワード・パラメータ値は、次のとおりです:
| パスワード・パラメータ | 摘要 | 値 |
|---|---|---|
FAILED_LOGIN_ATTEMPTS |
ユーザーがログインを試行して失敗する最大回数。アカウントをロックする前に、アカウントがロックされます。この制限は、通常のデータベース・ユーザー・アカウントに適用されます。 | 10 |
PASSWORD_GRACE_TIME |
警告の発行およびログインが許可される猶予期間が開始された後の日数。 | 30 |
PASSWORD_LIFE_TIME |
同じパスワードを認証に使用できる日数を指定。 | 360 |
PASSWORD_LOCK_TIME |
ログインを指定の回数だけ連続して失敗した後に、アカウントがロックされる日数。 | 1 |
PASSWORD_REUSE_MAX |
現行のパスワードを再利用できるようになるまでに必要なパスワード変更の回数。 | 4 |
PASSWORD_REUSE_TIME |
パスワードを再利用できない日数。 | 1 |
プロファイル句でのCREATE USERまたはALTER USERの使用の詳細は、「Autonomous AI Databaseを使用したユーザー・プロファイルの管理」を参照してください。
ALTER USERコマンドについては、『SQL言語リファレンス』を参照してください。
Autonomous AI Databaseでの管理者アカウントの管理
Autonomous AI Databaseの管理者ユーザーはADMINであり、この管理者アカウントには、データベースのユーザーおよびその他の領域を管理できるように付与された複数のシステム権限があります。
Autonomous AI Databaseでは、管理者ユーザー(ADMIN)のパスワードを変更したり、ロックされている管理者ユーザー・アカウントのロックを解除したりできます。APIを使用して自律型AIデータベースを作成するか、ADMINパスワードをリセットする場合は、オプションでOracle Cloud Infrastructure Vaultシークレットを使用してパスワードを格納できます。
詳細は、「CreateAutonomousDatabase」を参照してください。
ADMINユーザーの詳細は、ADMINユーザーのロールおよび権限を参照してください。
Autonomous AI DatabaseでのADMINパスワードの設定
ADMINパスワードを設定するステップを示します。
Oracle Cloud Infrastructure Consoleから、これらのステップに従ってADMINユーザーのパスワードを変更します。
-
「詳細」ページで、「その他のアクション」ドロップダウン・リストから「管理者パスワード」を選択します。
-
「管理者パスワード」パネルで、新しいパスワードを入力して確認します。
-
「変更」をクリックします。
ノート
ノート:データベース・アクションを使用してADMINユーザーのパスワードを変更することもできます。詳細は、Autonomous AI Databaseでのユーザーおよびユーザー・ロールの管理- データベース・アクションを使用した接続を参照してください。
デフォルトの管理者アカウントのパスワードADMINには、Autonomous AI Databaseのユーザー・パスワードについての項で説明したのと同じパスワード複雑性ルールがあります。
Autonomous AI DatabaseでのADMINアカウントのロック解除
ADMINユーザー・アカウントのロックを解除するステップを示します。
必要に応じて、次の前提条件ステップを実行します:
-
Oracle Cloud Infrastructure Consoleを開くには、クラウドの横にある
をクリックします。 -
Oracle Cloud Infrastructureの左側のナビゲーション・メニューから、「Oracle AI Database」をクリックし、「Autonomous AI Database」をクリックします。
-
「Autonomous AIデータベース」ページで、「表示名」列のリンクからAutonomous AIデータベースを選択します。
ADMINパスワードを更新してADMINアカウントのロックを解除するには、次のステップを実行します。
-
「詳細」ページで、「その他のアクション」ドロップダウン・リストから「管理者パスワード」を選択します。
-
「管理者パスワード」に、新しいパスワードを入力し、確認します。
-
「変更」をクリックします。
この操作では、ADMINアカウントのロックを解除されます(ロックされている場合)。
デフォルトの管理者アカウントのパスワードADMINには、Autonomous AI Databaseのユーザー・パスワードについての項で説明したのと同じパスワード複雑性ルールがあります。
ADMINパスワードに対するOracle Cloud Infrastructure Vaultシークレットの使用
自律型AIデータベース・インスタンスを作成またはクローニングする場合、またはADMINパスワードをリセットする場合は、Oracle Cloud Infrastructureボールト・シークレットを使用してADMINパスワードを指定できます。
自律型AIデータベースでは、APIを使用して、保護されたボールト・シークレットをADMINパスワードとして提供し、Oracle Cloud Infrastructure IAMポリシーを介して付与されたボールト・シークレットへのセキュアなアクセスを実現できます。
ノート
ノート: ADMINパスワードに対するOracle Cloud Infrastructureボールト・シークレットの使用は、APIでのみサポートされています。
Oracle Cloud Infrastructure Vaultシークレットは、Oracle Cloud Infrastructureサービスで使用する資格証明です。シークレットをボールトに格納すると、コードや構成ファイルなどの他の場所に格納する場合よりも優れたセキュリティを実現します。データベースAPIを呼び出すことで、Vaultサービスのシークレットを使用してADMINパスワードを設定できます。ボールト・シークレット・パスワード・オプションは、Autonomous AI Databaseインスタンスを作成またはクローニングするとき、またはADMINパスワードを設定またはリセットするときに使用できます。
シークレットは、Oracle Cloud Infrastructure Console、CLIまたはAPIを使用して作成します。
ボールト・シークレットを使用してADMINパスワードを設定またはリセットするためのノート:
-
Autonomous AI Databaseがボールト内のシークレットに到達するには、次の条件を適用する必要があります:
-
シークレットは、
currentまたはprevious状態である必要があります。 -
APIコールでシークレット・バージョンを指定すると、指定したシークレット・バージョンが使用されます。シークレット・バージョンを指定しない場合、コールでは最新のシークレット・バージョンが使用されます。
-
特定のコンパートメント内の特定のシークレットへの
READアクセスを許可する適切なユーザー・グループ・ポリシーが必要です。次に例を示します。Allow userGroup1 to read secret-bundles in compartment training
-
-
シークレットに格納されるパスワードは、Autonomous AI Databaseのパスワード要件に準拠している必要があります。
Autonomous AI Databaseでのユーザーの削除
ユーザーをデータベースから削除するには、SQLクライアント・ツールを使用してADMINユーザーとしてデータベースに接続します。
たとえば、Oracle SQL Developerを使用して接続します。
-
ADMINユーザーとして接続します。
-
次のSQL文を実行します。
DROP USER *user_name* CASCADE;
これにより、user_nameおよびそのユーザーが所有するオブジェクトが削除されます。
ノート
ノート:これにより、すべてのuser_nameオブジェクトが除去され、user_nameが所有するデータが削除されます。
Oracle Databaseアクションを使用してデータベース・ユーザーを削除することもできます。ユーザーを削除するには、「データベース・ユーザー」ページから
をクリックしてユーザーのコンテキスト・メニューを開き、「削除」を選択します。See Manage Users and User Roles on Autonomous AI Database - Connecting with Database Actions for more information on using Oracle Database Actions Database Users.