機械翻訳について

「構成」 IAMプロキシ認証

プロキシ認証により、IAMユーザーは、アプリケーションのメンテナンスなどのタスクのためにデータベース・スキーマにプロキシできます。

IAMプロキシ認証の構成について

IAMユーザーは、プロキシ認証を使用してOracle DBaaSに接続できます。

プロキシ認証は、通常、実際のユーザーを認証し、アプリケーションを管理するためにスキーマ権限およびロールを持つデータベース・スキーマの使用を認可するために使用されます。 アプリケーション・スキーマ・パスワードの共有などの代替方法は、安全でないものとみなされ、実際のユーザーがアクションを実行したものを監査できません。

ユース・ケースは、アプリケーション・データベース管理者である名前付きIAMユーザーが、資格証明を使用して認証し、データベース・スキーマ・ユーザー(たとえば、hrapp)にプロキシできます。 この認証により、IAM管理者は、アプリケーションのメンテナンスを実行するためにhrapp権限およびロールをユーザーhrappとして使用できますが、認証にはIAM資格証明を使用します。 アプリケーション・データベース管理者は、データベースにサインインし、アプリケーション・スキーマにプロキシしてこのスキーマを管理できます。

パスワード認証とトークン認証の両方のメソッドにプロキシ認証を構成できます。

「構成」 IAMユーザーのプロキシ認証

IAMユーザーのプロキシ認証を構成するには、IAMユーザーにはグローバル・スキーマ(排他マッピングまたは共有マッピング)へのマッピングがすでに必要です。 プロキシするIAMユーザーの別のデータベース・スキーマも使用可能である必要があります。

このタイプのユーザーがあることを確認したら、IAMユーザーにプロキシを許可するようにデータベース・ユーザーを変更します。
  1. ALTER USERシステム権限を持つユーザーとして、Autonomous Databaseインスタンスにログインします。
  2. ローカル・データベース・ユーザー・アカウントにプロキシする権限をIAMユーザーに付与します。
    IAMユーザーをコマンドで参照できないため、データベース・グローバル・ユーザー(IAMユーザーにマップ)とターゲット・データベース・ユーザーの間にプロキシを作成する必要があります。
    次の例では、hrappはプロキシ先のデータベース・スキーマで、peterfitch_schemaはユーザーpeterfitchに排他的にマップされたデータベース・グローバル・ユーザーです。
    ALTER USER hrapp GRANT CONNECT THROUGH peterfitch_schema;
この段階で、IAMユーザーはプロキシを使用してデータベース・インスタンスにログインできます。 たとえば、パスワード検証を使用して接続するには:
CONNECT peterfitch[hrapp]@connect_string
Enter password: password

トークンを使用して接続するには:

CONNECT [hrapp]/@connect_string

「検証」 IAMユーザー・プロキシ認証

パスワード認証メソッドとトークン認証メソッドの両方についてIAMユーザー・プロキシ構成を検証できます。

  1. CREATE USERおよびALTER USERシステム権限を持つユーザーとして、Autonomous Databaseインスタンスにログインします。
  2. IAMユーザーとして接続し、SHOW USERおよびSELECT SYS_CONTEXTコマンドを実行します。
    たとえば、データベース・ユーザーhrappにプロキシされたときに、IAMユーザーpeterfitchのプロキシ認証を確認するとします。 IAMユーザーを使用してデータベースをプロキシした後、次の問合せを実行します。 データベースの認証およびアクセス方法に応じて、これらの問合せに対して異なる値が取得されます。
    • パスワード認証の場合、IAMユーザーがデフォルト・ドメインにあると仮定すると、次のようになります。
      CONNECT peterfitch[hrapp]/password\!@connect_string
      SHOW USER;
      --The output should be USER is "HRAPP"
      SELECT SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') FROM DUAL;
      --The output should be "PASSWORD_GLOBAL_PROXY"
      SELECT SYS_CONTEXT('USERENV','PROXY_USER') FROM DUAL;
      --The output should be "PETERFITCH_SCHEMA"
      SELECT SYS_CONTEXT('USERENV','CURRENT_USER') FROM DUAL;
      --The output should be "HRAPP"
    • トークン認証の場合、デフォルト以外のドメインにあるユーザーに対し、sales_domain:
      CONNECT [hrapp]/@connect_string
      SHOW USER;
      --The output should be USER is "HRAPP"
      SELECT SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') FROM DUAL;
      --The output should be "TOKEN_GLOBAL_PROXY"
      SELECT SYS_CONTEXT('USERENV','PROXY_USER') FROM DUAL;
      --The output should be "PETERFITCH_SCHEMA"
      SELECT SYS_CONTEXT('USERENV','CURRENT_USER') FROM DUAL;
      --The output should be "HRAPP"