特権アクセス管理の統合

概要

特権アクセス管理(PAM)ソリューションでは、アプリケーション、スクリプトまたは構成ファイルに埋め込まれたハードコード化されたアプリケーション資格証明が不要になり、機密性の高いパスワードをボールト内で一元的に格納、記録および管理できます。この独自のアプローチにより、組織は定期的なパスワード交換に関する内部および規制のコンプライアンス要件に準拠し、すべてのシステム、データベースおよびアプリケーションにわたる特権アクセスをモニターおよび監査できます。

PAMソリューションは、アカウント・パスワードを一元的に管理することで、データベースやホストなどの重要な資産への安全な特権アクセスを提供するのに役立ちます。PAMソリューションは、権限のあるアカウントと権限のないアカウントの両方に対するアクセス・ルールを提供し、これらのアカウントを使用して資産にログオンできるユーザーを制御します。Enterprise Manager(EM)の顧客は、CyberArk、Centrify、HashiCorp、Oracle Key Vaultなどの様々なPAMプロバイダを組み込みます。拡張可能なEnterprise Manager資格証明フレームワークがPAMプロバイダと統合されるようになりました。この統合により、セキュリティ・コンプライアンス・ポリシーに準拠した方法で、アクティブなデータベース管理、データベースのパッチ適用、ホスト・コマンドの実行などのタスクを実行できます。

EMとのPAM統合によって、次が提供されます:

  • PAMソリューションは、資格証明が格納される外部ストアを提供し、EMの資格証明フレームワークを拡張するために機能するため、統合によって抽象化レイヤーが提供されます。

  • リポジトリまたはPAMストアに格納されているデータベースまたはホスト資格証明は、必要に応じてジョブやデプロイメント・プロシージャなどの方法を使用してEMのサブシステムに提供する必要があります。

  • PAMはセキュアなシステムであるため、EMとの統合では、セキュアなアクセスのためのトークンベースの認可をサポートする必要があります。

  • データベースおよびホストの資格証明はPAMに格納され、市場には複数のPAMプロバイダが存在するため、EMではPAMスクリプトを登録して資格証明を安全に取得する機能が提供されます。

  • 資格証明ストアからフェッチされた資格証明の属性から、EM資格証明タイプを作成できるマッピングを作成するデータ・モデル。

  • この統合により、EMの新しいPAMベースの名前付き資格証明を作成して外部ストアから資格証明を取得するか、既存の名前付き資格証明を変更して外部ストアから資格証明を取得できます。

  • EMでは、PAMからデータベースまたはホストのパスワードを効果的に取得して、セキュリティ・ポリシーに準拠した方法でEMを介してジョブの実行やフリート・メンテナンスを使用したデータベースのパッチ適用などのアクティビティを実行できます。

ノート:

Enterprise ManagerとのPAM統合は、名前付き資格証明でのみ機能します。

次の図は、EMがPAMと対話して、ホストまたはデータベースでのジョブの実行やフリート・メンテナンスを使用したデータベース・パッチ適用などのEMでの機能を実行するために、外部ストアからデータベースまたはホストの資格証明を取得する方法を示しています。


PAMとEnterprise Managerの統合方法を示す図

EMでは、PAM統合を使用して、外部PAMストアに格納されているデータベースおよびホスト資格証明を取得します。これを行うには、すべてのPAM属性とともにEMに登録される統合スクリプトを記述する必要があります。EMでデータベース・パッチ適用やジョブの実行などのワークフローで使用するためにデータベースまたはホスト資格証明が必要な場合、資格証明フレームワークは外部PAMプロバイダと対話し、データベースまたはホストのパスワードを取得し、その資格証明オブジェクトを基礎となるワークフローに渡します。

EMとのPAM統合は、すべてのPAMプロバイダに対して3つの簡単なステップで構成されます。


EMとのPAM統合は、すべてのPAMプロバイダに対して3つの簡単なステップで構成されます

ユーザー・ロールの理解

PAMソリューションの統合には、EM管理者とPAMセキュリティ管理者の2つのタイプの管理者が関与します。EMとのPAM統合ソリューションの共有所有権を次に示します:


EMとのPAM統合ソリューションの共有所有権

PAMセキュリティ管理者ロール

PAMセキュリティ・チームは、EM管理者チームにスクリプトを作成してスクリプトの実行に必要なパラメータを提供するように指示する必要があります。このスクリプトは、RESTエンド・ポイントを使用してPAMプロバイダにアクセスし、実行時にデータベースまたはホストの資格証明を取得するために必要です。スクリプトはシェルまたはPerlで記述できます。

EM管理者ロール

EMで事前定義されているEM管理者は、emcliコマンドを実行して、Enterprise ManagerでPAMスクリプトを構成します。

前提条件

最小EMバージョン: Oracle Enterprise Manager 13cリリース5更新14 (13.5.0.14)。

構成

ステップ1: PAM資格証明にアクセスするスクリプトの開発

PAMセキュリティ管理者は、セキュリティまたはPAMチームと協力して、CyberArkやHashiCorpなどのPAMツール用のスクリプトを開発します。このカスタム・スクリプトはPAMシステムに接続し、必要な資格証明を取得します。スクリプトは、次の要件を満たしている必要があります:

  • シェルまたはPerlで記述されています。バイナリ・ファイルはサポートされていません。

  • RESTやコマンドライン・ツールなどの任意の方法を使用して、資格証明をフェッチできます。

  • PAMシステムに格納されている各資格証明は、資格証明キーと呼ばれる一意の識別子を使用して参照できます。資格証明キーも、スクリプトに引数として渡す必要があります。引数を渡す方法(次に示す形式など)を決定できます。

    sh getcreds.sh -k CredKey
    
    sh getcreds.sh -credkey CredKey
    
    sh getcreds.sh CredKey
  • PAMシステムの認証に必要な資格証明または認証トークンは、スクリプトで指定されていないkey:valueペアとしてSTDINを介して渡す必要があります。次のいずれかの方法を使用します:

    1. スクリプトには、PAMシステムで認証するための認証トークンのみが必要です: スクリプトの実行時に、認証トークンの入力を求められ、それはその後STDINを介して渡されます:

      sh getcreds.sh -k CredKey
      authtoken:token
    2. スクリプトには、PAMシステムで認証するためのPAMユーザーおよびパスワードが必要です: スクリプトの実行時に、PAMユーザーとパスワードの入力を求められ、それらはその後STDINを介して渡されます。

      pamuser:user
      pampassword:password
    3. スクリプトには、PAMシステムで認証するためのPAMユーザー、パスワード、証明書のパスおよび証明書キーが必要です: スクリプトの実行時に、PAMユーザーとパスワードおよび証明書の詳細の入力を求められます:

      pamuser:user
      pampassword:password
      pamcertpath:path
      pamcertkey:key

      STDINを介して特定の入力パラメータを安全に受け入れるように作成されたスクリプトは、そのままEnterprise Managerで構成できるため、EMがスクリプトを実行すると、STDINを介してそのような入力パラメータの値が渡されます。

  • スクリプトは、次に示すように、name:value形式で資格証明をフェッチして出力します。

    sh getcreds.sh -k EMDB/sysman
    pamuser:user
    pampassword:password

    前述の例では、EMDB/sysman資格証明キーで、user/passwordはPAMシステムからフェッチされた資格証明です。

  • スクリプトは実行中にエラー/例外を取得する必要があります。エラーは文字列として書式設定され、EMが読み取ってGUIで表示したり、サブシステム・プロセスのコール時に表示するために、STDERRに書き込まれる必要があります。

  • スクリプトは、マルチOMS設定のOMSホストのいずれかで実行されるため、スクリプトの実行に必要なすべてのソフトウェア・インストールおよび構成をすべてのOMSホストで実行する必要があります。

ステップ2: EMへのPAMプロバイダの登録

EM管理者として、EM CLIコマンドemcli config_cred_providerを使用して、PAMプロバイダをEMに登録します。

これは、必要な属性を使用して資格証明プロバイダを構成できる新しい動詞です。

emcli config_cred_provider
[-provider_name=\"provider name\"]
[-provider_type=\"provider type\"]
[-access_cred_type=\"cred type\"]
-params="params"
[-refparams="params"]
[-input_file="FILE:file_path"]
[-separator="separator:attribute_name:character"]
[-subseparator="subseparator:attribute_name:character"]

オプション:

  • -provider_name: 構成するプロバイダの名前。アルファベット、数字、ハイフン(-)およびアンダースコア(_)のみを使用し、64文字以下にする必要があります。

  • -provider_type: 資格証明プロバイダ・タイプ。現在許可されている値はScriptProviderです。
  • -access_cred_type: この資格証明プロバイダに対する認証に必要な資格証明のタイプ。

    : PAMユーザー資格証明を使用してPAMシステムで認証する場合は、PAMユーザーおよびパスワードを使用して「ホスト資格証明」タイプの名前付き資格証明を作成し、-access_cred_type="HostCreds"を指定して、set_credprovider_credを使用して作成されたPAMプロバイダに名前付き資格証明をマップします。

  • -params: name=valueペアのカンマ区切りセット。- input_fileと組み合せて使用すると、より長いコンテンツを含むファイル・パスへのタグを指定できます。

    例:

    -params="Command:sh %ScriptFile% -key %CredKey%;StdInVars:CACertLoc,AuthToken;ScriptFileExt:sh;Script:getCyberArkPassword" 
    • 使用するスクリプト・タイプに応じて、PAMから資格証明をフェッチするために実行する必要があるコマンドの例:

      • sh %ScriptFile% -key %CredKey%
      • perl %ScriptFile% -k %CredKey%

      ScriptFileおよびCredKeyは必須キーワードですが、%ScriptFile%はスクリプト・ファイル名(OMSファイル・システム内)に置き換えられ、%CredKey%は名前付き資格証明の作成時に指定された資格証明キーに置き換えられます。

    • StdInVars: 標準入力を介して渡す必要があるカンマ区切りの入力パラメータのリスト

      :

      StdInVars:AuthToken;
      StdInVars:CACertLoc,AuthToken;
    • ScriptFileExt: サポートされているスクリプト・ファイルの拡張子:

      • sh
      • pl
    • Script: パラメータinput_fileで定義される実際のスクリプト・ファイル・パスを指すタグ。
  • -input_file: 実際のファイル・パスを指すタグを指定します。

    例:

    -input_file="getCyberArkPassword:/u01/app/pam_scripts/getcreds.sh" 
  • -refparams: name=valueペアのカンマ区切りセット。入力パラメータを、次の3つのOMSプロパティのいずれかへの統合スクリプトにマップするために使用できます。

    • "oracle.sysman.core.security.auth.cred_provider_prop1"
    • "oracle.sysman.core.security.auth.cred_provider_prop2"
    • "oracle.sysman.core.security.auth.cred_provider_prop3"

例:

sh getcreds.sh -k CredKey
pamuser:user
pampassword:password
authtoken:token
./emcli config_cred_provider
-provider_name="CyberArk"
-provider_type=ScriptProvider \
-params="Command:sh %ScriptFile% -k %CredKey%;StdInVars:CACertLoc,AuthToken;ScriptFileExt:sh;Script:getCyberArkPassword"\
-input_file="getCyberArkPassToken:/u01/app/pam_scripts/getcreds.sh"\
-refparams="AuthToken:oracle.sysman.core.security.auth.cred_provider_prop1,CACertLoc:oracle.sysman.core.security.auth.cred_provider_prop2"

スクリプトはEMに登録されると、リポジトリ表EM_NC_CREDPROVIDER_PARAMSに格納され、select問合せを実行してデータを表示できます。問合せの例を次に示します:

SELECT * FROM EM_NC_CREDPROVIDER_PARAMS;

ノート:

EMへのPAMプロバイダ登録を再作成する場合は、emcli delete_cred_providerコマンドを使用し、emcli config_cred_providerコマンドを実行して再作成できます。

ステップ3: 資格証明属性マッピングの作成

資格証明マッピングは、スクリプト出力のキー(この例ではユーザーおよびパスワード)をHostUserNameHostPasswordなどの資格証明属性にマップします。属性マッピングを格納して、格納された属性を資格証明タイプで必要な属性に変換します。資格証明タイプの属性名を検索するには、次のコマンドを実行します:

emcli get_credtype_metadata -authtargettype=<authenticating target type> -credtype=<credential type>

たとえば、次のコマンドは、HostCreds資格証明タイプおよびホスト・ターゲット・タイプの属性名をリストします。

emcli get_credtype_metadata -authtargettype=host -credtype=HostCreds

資格証明マッピングを作成するには、次のコマンドを実行します:

emcli store_cred_mapping
-mapper_name="mapper name" 
-mapper_desc="mapper description" 
-cred_type="cred type" 
-attributesmap="attributes map"

オプション:

  • -mapper_name: マッパーの名前。
  • -mapper_desc: マッパーの説明
  • -cred_type: このマッピングの対象となる資格証明のタイプ。
  • -attributesmap: 資格証明プロバイダに格納されている属性を、指定された資格証明タイプの属性にマップするname=valueペアのカンマ区切りセット。

ホストおよびデータベースのマッピングの例を次に示します:

  • ホスト

    emcli store_cred_mapping 
    -mapper_name="PAMtoHostCreds" 
    -mapper_desc="Map PAM credential attributes to HostCreds type" 
    -auth_target_type=host -cred_type="HostCreds" 
    -attributesmap="user:HostUserName;pass:HostPassword"
  • データベース

    emcli store_cred_mapping 
    -mapper_name="PAMtoDBCreds" 
    -mapper_desc="Map PAM credential attributes to DBCreds type" 
    -auth_target_type=oracle_database 
    -cred_type="DBCreds" 
    -attributesmap="user:DBUserName;pass:DBpassword"

資格証明マッピングが作成されると、この情報はEMリポジトリ表EM_NC_CRED_MAPPERSおよびEM_NC_CRED_MAPPER_COLUMNSに格納されます。

リポジトリ・データベースをチェックインする例を次に示します:

SELECT m.mapper_name, m.cred_type_name, mc.storage_attr, mc.cred_attr
FROM EM_NC_CRED_MAPPERS m, EM_NC_CRED_MAPPER_COLUMNS mc 
WHERE mc.mapper_guid = m.mapper_guid
ORDER BY m.mapper_name;

ノート:

資格証明マッピングを再作成する場合は、emcli delete_cred_mappingコマンドを使用し、emcli store_cred_mappingコマンドを実行して再作成できます。

ケース1: PAMベースの名前付き資格証明の作成時にユーザー名が渡されない場合は、次に示すように、スクリプト出力で返す必要があります。

例: PAMベースの名前付き資格証明の作成時に属性でデータベース・ユーザー名を渡さない場合は、スクリプトで返す必要があり、Enterprise Managerが理解できるようにstore_cred_mappingコマンドを使用してマップする必要があります。

./emcli create_named_credential 
-cred_name=OEM_SYSPAM -auth_target_type=oracle_database
-cred_type=DBCreds 
-alt_cred_storage 
-cred_provider=PAM360 
-cred_key="HRDB/sys"
-cred_mapping=PAM360toDBCreds 
-attributes="DBRole:SYSDBA"

ケース1

./emcli store_cred_mapping 
-mapper_name="PAM360toDBCreds" 
-mapper_desc="Map PAM 360 credential attributes to DBCreds type" 
-auth_target_type=oracle_database
-cred_type="DBCreds"
-attributesmap="user:DBUserName;pass:DBpassword"

ケース2: PAMベースの名前付き資格証明の作成時にユーザー名が渡された場合、次に示すように、パスワードのみを返すようにスクリプトを作成できます:

例: PAMベースの名前付き資格証明の作成時に属性でDBユーザー名を渡す場合、スクリプトでパスワードのみを返すことができ、Enterprise Managerが理解できるようにstore_cred_mappingコマンドを使用してマップできます。

./emcli create_named_credential 
-cred_name=OEM_SYSPAMD 
-auth_target_type=oracle_database
-cred_type=DBCreds 
-alt_cred_storage 
-cred_provider=PAM360 
-cred_key="HRDB/sys"
-cred_mapping=PAM360toDBCreds
-attributes="DBUserName:sys;DBRole:SYSDBA"

ケース2

./emcli store_cred_mapping 
-mapper_name="PAM360toDBCreds" 
-mapper_desc="Map PAM 360 credential attributes to DBCreds type" 
-auth_target_type=oracle_database
-cred_type="DBCreds" 
-attributesmap="pass:DBpassword"

ステップ4: 名前付き資格証明の作成または変更

Oracle Enterprise Manager 13cリリース5更新20 (13.5.0.20)以降の資格証明は、CLIまたはUIを使用して作成できます。

UIを使用して資格証明を作成するには、「設定」ドロップダウン・メニューから「セキュリティ」に移動し、「名前付き資格証明」をクリックします。「作成」をクリックし、「資格証明プロパティ」オプションの「PAM」ラジオ・ボタンを選択します。

ノート:

UIで「PAM」オプションを使用可能にするには、必ずステップ2および3を完了してください:

PAM資格証明UI

次のステップに従って、CLIを使用して資格証明をEM管理者として作成します:

  1. EM CLI動詞を使用して、代替資格証明記憶域タイプを使用して新しい資格証明をEMに作成します。次の例では、ホストmyhost.example.comのSSHキー名前付き資格証明に基づいて名前付き資格証明ssh1を作成します。これは、資格証明属性が場所emssh1のOracleKeyVault資格証明プロバイダに格納され、OKVSSHCredsという名前のマッピングがHostSSHCreds資格証明タイプに必要な属性をマップできることを示します。

    emcli create_named_credential 
    -cred_name=ssh1
    -auth_target_type=host 
    -cred_type=HostSSHCreds 
    -target_name="myhost.example.com" 
    -target_type=host
    -cred_scope=instance
    -alt_cred_storage
    -cred_provider=<PAM Provider> 
    -cred_key=emssh1
    -cred_mapping=OKVSSHCreds
  2. 必要に応じて名前付き資格証明を変更します。create_named_credと同様に、modify_named_credential動詞も追加パラメータ(alt_cred_storage、cred_provider、cred_key、cred_mapping)を使用します

    次の例では、ホストmyhost.example.comのSSHキー名前付き資格証明に基づいて名前付き資格証明ssh1を変更します。これは、資格証明属性が場所emssh1OracleKeyVault資格証明プロバイダに格納され、OKVSSHCredsという名前のマッピングがHostSSHCreds資格証明タイプに必要な属性をマップできることを示します。

    emcli modify_named_credential
    -cred_name=<credential name> 
    -auth_target_type=host
    -cred_type=HostSSHCreds 
    -target_name="myhost.example.com"
    -target_type=host
    -cred_scope=instance
    -alt_cred_storage
    -cred_provider=OracleKeyVault-cred_key=emssh1
    -cred_mapping=OKVSSHCreds

    例:

    emcli modify_named_credential 
    -cred_name=ORACLE 
    -cred_type=HostCreds 
    -target_type=host 
    -cred_scope=global 
    -alt_cred_storage 
    -cred_provider=PAM360 
    -cred_key="DBHost/oracle" 
    -cred_mapping=PAM360toHostCreds
    
    emcli modify_named_credential 
    -cred_name=OEM_SYS 
    -cred_type= DBCreds 
    -auth_target_type=oracle_database 
    -cred_scope=global 
    -alt_cred_storage 
    -cred_provider=PAM360 
    -cred_key="HRDB/sys" 
    -cred_mapping=PAM360TODBCREDS

    資格証明の名前、タイプと所有者、記憶域プロバイダとキーおよびマッパー名は、EMリポジトリ表EM_NC_CRED_MAPPERSおよびEM_NC_CREDSに格納されます。

    次に、このデータの問合せの例を示します:

    SELECT c.cred_owner, c.cred_type_name, c.cred_name, c.storage_provider, c.storage_key, m.mapper_name
    FROM EM_NC_CREDS c, EM_NC_CRED_MAPPERS m
    WHERE c.cred_name IN ('MANIDB_SYSMAN', 'DBSNMP_LOCAL')
    AND c.storage_cred_mapper_guid = m.mapper_guid (+)
  3. 登録および構成済PAMプロバイダを問い合せて、格納済資格証明を検証します。list_cred_mappingsは、以前のstore_cred_mappingリクエストの結果を示す新しい動詞です。list_credential_providersは、以前のconfig_cred_providerリクエストの結果を示す新しい動詞です。

    emcli list_credential_providers

    構成された資格証明プロバイダをリストします。

    emcli list_cred_mappings 
    -cred_type="cred_type" [-cred_owner="cred_owner"]

    特定の資格証明タイプ(およびオプションの資格証明所有者)の構成済資格証明マッピングをリストします。

    オプション:

    • -cred_type: マッピングがリクエストされる資格証明タイプをリストします

    これらのステップが完了すると、PAMプロバイダがEMに登録され、外部記憶域タイプを使用するように新しい資格証明または変更された既存の名前付き資格証明が設定されます。

複数OMS環境の構成

PAM統合では、次に示す事前定義済のOMSプロパティを使用して、統合スクリプトの入力パラメータを設定できます。ただし、これらのOMSプロパティは各OMSに対してローカルであり、複数OMS環境で必要に応じて各OMSのプロパティの値を設定する必要があります。

  • oracle.sysman.core.security.auth.cred_provider_prop1
  • oracle.sysman.core.security.auth.cred_provider_prop2
  • oracle.sysman.core.security.auth.cred_provider_prop3
$ emctl set property 
-name "oracle.sysman.core.security.auth.cred_provider_prop1" 
-value "<value provided by your internal security team>"

残りの設定ステップは、いずれかのOMSサーバーから1回のみ実行する必要があります:

  1. config_cred_provider (ステップ2): いずれかのOMSサーバーから1回のみ実行する必要があり、スクリプトの内容はCLOBとしてデータベースに格納されます。実行可能スクリプトは、PAM資格証明が呼び出されるたびに、各OMSの内部EMディレクトリに作成されます。
  2. store_cred_mapping (ステップ3): いずれかのOMSサーバーから1回のみ実行する必要があります。マッピングの内容はEMリポジトリ・データベースに格納され、スクリプト出力の処理中に使用されます。
  3. create_named_credential/modify_named_credential (ステップ4): いずれかのOMSサーバーから実行する必要があります。

EMでエクスポートされているPAM構成

ケース1

グローバルOMSプロパティを使用して、PAMシステムで認証するスクリプト入力パラメータを格納します(PAMシステムでの認証に専用のPAMユーザーを使用する場合)。

  • "oracle.sysman.core.security.auth.cred_provider_prop1"
  • "oracle.sysman.core.security.auth.cred_provider_prop2"
  • "oracle.sysman.core.security.auth.cred_provider_prop3"

例:

sh getcreds.sh -k CredKey
pamuser:user
pampassword:password
authtoken:token
./emcli config_cred_provider-provider_name="CyberArk"\
-provider_type=ScriptProvider\
-params="Command:sh %ScriptFile% -k %CredKey%;StdInVars:CACertLoc,AuthToken;ScriptFileExt:sh;Script:getCyberArkPassword"\
-input_file="getCyberArkPassToken:/u01/app/pam_scripts/getcreds.sh"\
-refparams="AuthToken:oracle.sysman.core.security.auth.cred_provider_prop1,CACertLoc:oracle.sysman.core.security.auth.cred_provider_prop2"

ケース2

PAMユーザー資格証明などのPAM認証詳細を格納するための名前付き資格証明の使用(PAMシステムでの認証に使用される個々のPAM資格証明の場合)。

  1. 実行時にPAMユーザー詳細の入力を求めるスクリプト:

    sh getcreds.sh 
    -k CredKey
    pamuser:user
    pampassword:password
  2. アクセス資格証明タイプがHostCredsの構成資格証明プロバイダを作成します:

    ./emcli config_cred_provider-provider_name="CyberArk"\
    -provider_type=ScriptProvider\
    -access_cred_type="HostCreds"\
    -params="Command:sh %ScriptFile% -k %CredKey%;StdInVars:CACertLoc,AuthToken;ScriptFileExt:sh;Script:getCyberArkPassword"\
    -input_file="getCyberArkPassToken:/u01/app/pam_scripts/getcreds.sh"\
    -refparams="AuthToken:oracle.sysman.core.security.auth.cred_provider_prop1"
  3. PAMユーザー詳細を格納する名前付き資格証明を作成します:

    emcli create_named_credential 
    -cred_name="PAMCreds" 
    -auth_target_type=host
    -cred_type=HostCreds
    -attributes="HostUserName:pam_username;HostPassword:pam_password"
  4. 資格証明プロバイダに使用する資格証明を設定します:

    emcli set_credprovider_cred 
    -provider_name= CyberArk 
    -cred_name="PAMCreds"

一般的なユース・ケース

EMとのPAM統合によって、特にフリート・メンテナンスを使用したパッチ適用など、データベース・ライフサイクル管理機能の主な利便性が提供されます。この統合により、パッチ適用タスク中に使用するためのPAMに格納されている名前付き資格証明を使用できます。

フリート・メンテナンスを使用したパッチ適用

フリート・メンテナンスを使用して試行できるユース・ケースの例を次に示します。詳細は、データベース・フリート・メンテナンスを参照してください

Enterprise ManagerとのPAM統合に関するよくある質問

この項では、Enterprise ManagerとのPAM統合に関する次のよくある質問への回答を示します

PAM統合スクリプトのコンポーネントは何ですか?

PAM統合スクリプトの内容: 入力、処理ロジックおよび出力:

  • 入力: Enterprise Managerによってスクリプトに渡されるパラメータ。

  • 本文: 処理ロジックはPAMの製品/ソリューションによって異なります。

  • 出力: Enterprise Managerが資格証明オブジェクトを読み取ってマップするためのスクリプト出力。

前述のように、Enterprise ManagerではPAM統合スクリプトの入力および出力のみが認識されます。

  1. スクリプトへの入力は、emcli config_cred_providerコマンドを使用したPAM資格証明プロバイダの作成中に構成されます。
  2. emcli store_cred_mappingコマンドを使用して、スクリプト出力をEnterprise Manager資格証明オブジェクトにマップします。

Enterprise ManagerはPAM統合スクリプトで発生したエラーをどのように読み取りますか?

次に示すように、PAM統合スクリプトを拡張してすべてのエラー/例外を捕捉し、Enterprise Managerで処理するためにすべてのエラー・メッセージをSTDERRに書き込みます。

  • 次の構文を使用して、シェル・スクリプトでSTDERRに書き込みます:

    echo "error message" 1>&2

Enterprise Managerは、STDERRからエラー・メッセージを読み取ってGUIに表示し、ジョブやデプロイメント・プロシージャなどのサブシステム・プロセスのコール時に表示します。

例: STDERRに書き込まれたエラーメッセージは、次に示すようにEM GUIおよびEMジョブに表示されます。


エラーの例


エラーの例2

PAM統合スクリプトはEM内にどのように格納され、EMはスクリプトの改ざんをどのように処理しますか?

ステップ1: Enterprise Managerは、シェルおよびPerlのスクリプトをサポートします。

スクリプトの内容は、EMにスクリプトを登録するためにemcli config_cred_providerコマンドを実行すると、リポジトリ・データベースにCLOBデータとして格納されます。

ステップ2: emcli config_cred_providerの実行後にPAMベースの名前付き資格証明が呼び出された場合:

  • 内部EMディレクトリのEMリポジトリにCLOBとして格納される実行可能な統合スクリプトが作成されます。
  • スクリプト・ファイルがすでに存在する場合、EMは内部ディレクトリ内のスクリプトのチェックサムを、CLOBデータの形式のスクリプトのチェックサムと検証し、両方のチェックサム値が同じ場合は、パス内で統合スクリプトを引き続き使用します。そうでない場合は、スクリプト実行用の新しいCLOBデータを使用して、新しい統合スクリプト・ファイルがEM内部ディレクトリに作成されます。後続のPAM資格証明の呼出しでは、パス内の同じ統合スクリプト・ファイルが使用されます。このファイルは、ユーザーが改ざんしていない場合や、emcli config_cred_providerを実行して更新されていない場合はすでに作成されています。

スクリプトの改ざんやセキュリティ違反については、前述のチェックサム検証を使用してEnterprise Manager内で対処されます。

スクリプト出力をEnterprise Manager資格証明オブジェクトにマップする方法

ケース1

PAMベースの名前付き資格証明の作成時にユーザー名が渡されない場合、次に示すように、スクリプト出力にユーザー名を含める必要があります:

例: PAMベースの名前付き資格証明の作成時に属性でDBユーザー名を渡さない場合は、スクリプト出力に含める必要があり、Enterprise Managerがスクリプト出力から読み取ってEM資格証明オブジェクトにマップできるように、store_cred_mappingコマンドを使用してマップします。

./emcli create_named_credential 
-cred_name=OEM_SYSPAM 
-auth_target_type=oracle_database 
-cred_type=DBCreds 
-alt_cred_storage 
-cred_provider=PAM360 
-cred_key="HRDB/sys" 
-cred_mapping=PAM360toDBCreds 
-attributes="DBRole:SYSDBA"
./emcli store_cred_mapping 
-mapper_name="PAM360toDBCreds" 
-mapper_desc="Map PAM 360 credential attributes to DBCreds type" 
-auth_target_type=oracle_database
-cred_type="DBCreds"
-attributesmap="user:DBUserName;pass:DBPassword"

ケース2

PAMベースの名前付き資格証明の作成時にユーザー名が渡された場合、次に示すように、出力でパスワードのみを返すようにスクリプトを作成できます:

例: PAMベースの名前付き資格証明の作成時に属性でDBユーザー名を渡すと、スクリプト出力でパスワードのみを返すことができ、Enterprise Managerがスクリプト出力から読み取ってEM資格証明オブジェクトにマップできるように、store_cred_mappingコマンドを使用してマップします。

./emcli create_named_credential 
-cred_name=OEM_SYSPAMD 
-auth_target_type=oracle_database
-cred_type=DBCreds 
-alt_cred_storage 
-cred_provider=PAM360 
-cred_key="HRDB/sys"
-cred_mapping=PAM360toDBCreds
-attributes="DBUserName:sys;DBRole:SYSDBA"
./emcli store_cred_mapping 
-mapper_name="PAM360toDBCreds" 
-mapper_desc="Map PAM 360 credential attributes to DBCreds type" 
-auth_target_type=oracle_database
-cred_type="DBCreds" 
-attributesmap="pass:DBPassword"

config_cred_provider emcliコマンドで渡されるパラメータは何ですか?

emcli config_cred_provider 
[-provider_name=\"provider name\"]
[-provider_type=\"provider type\"] 
-params="params"
[-refparams="params"]
[-input_file="FILE:file_path"][-separator="separator:attribute_name:character"]
[-subseparator="subseparator:attribute_name:character"]

オプション:

-provider_name: 構成するプロバイダの名前。名前には、アルファベット、数字、ハイフン(-)およびアンダースコア(_)のみを使用し、64文字以下にする必要があります。

-provider_type : オプション。資格証明プロバイダ・タイプ。サポートされているプロバイダ・タイプ: ScriptProviderのいずれかである必要があります。

-params: name=valueペアのカンマ区切りセット。

-input_file: より長いコンテンツを含むファイル・パスへのタグを指定します。

-refparams: name=valueペアのカンマ区切りセット。PAMプロバイダ・パラメータを"oracle.sysman.core.security.auth.cred_provider_prop1"などのOMSプロパティにマップするために使用できます。

ノート:

config_cred_provider: 初めて実行した場合、作成と同様に動作し、同じprovider_nameを使用した後の実行は変更のように動作します。プロバイダの詳細を変更するには、同じプロバイダ名を指定してemcli config_cred_providerコマンドを実行します。

EMのPAM統合機能で使用される使用可能なグローバル・パラメータは何ですか?

この機能の一部として、Enterprise Managerには、認証トークンや認証詳細などのPAMパラメータの格納に使用されるように構成された3つのグローバル・パラメータがあります。

顧客は、次の事前構成済パラメータのいずれかをPAM統合に使用できます。

oracle.sysman.core.security.auth.cred_provider_prop1

oracle.sysman.core.security.auth.cred_provider_prop2

oracle.sysman.core.security.auth.cred_provider_prop3

EMにPAMプロバイダを登録するためにスクリプトに設定されるファイル権限は何ですか?

emcli config_cred_providerコマンドの実行中にスクリプトに設定する必要があるのは、読取り権限のみです。EMはスクリプトの内容を読み取り、それらをCLOBデータとしてEMリポジトリに格納します。

PAM統合スクリプトの長時間実行を回避する方法

PAM統合スクリプトは、Enterprise Managerのジョブおよびスレッドが中断されないように、スクリプトの実行をタイムアウトしてエラーを返すように管理する必要があります。