cyberark.pas.cyberark_account 模块 – 使用 PAS Web Services SDK 创建、删除、修改 CyberArk 账户对象以及检索密码的模块。

注意

此模块是 cyberark.pas 集合(版本 1.0.30)的一部分。

如果您正在使用 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install cyberark.pas

要在 playbook 中使用它,请指定:cyberark.pas.cyberark_account

cyberark.pas 1.0.0 中的新增功能

概要

  • 创建一个 URI,用于在 Cyberark Vault 中添加、删除、修改和检索特权凭据。该请求使用特权账户安全 Web Services SDK。

参数

参数

注释

地址

字符串

特权帐户所在的端点的地址。

api_base_url

字符串

一个字符串,包含托管 CyberArk 的特权账户安全 Web Services SDK 的服务器的基本 URL。

示例 https://<IIS_Server_Ip>/PasswordVault/api/

cyberark_session

字典 / 必需

由 CyberArk 身份验证设置的字典,其中包含在已登录的 CyberArk 会话上执行操作的不同值,请参阅 cyberark.pas.cyberark_authentication 模块,了解 cyberark_session 的示例。

identified_by

字符串

当进行 API 调用以获取账户时,通常传递的默认参数会标识多个账户。当默认查询可以返回多个结果时,此参数用于可靠地标识单个账户。

默认值: "username,address,platform_id"

logging_file

字符串

设置用于故障排除日志的日志文件名和位置。

默认值: "/tmp/ansible_cyberark.log"

logging_level

字符串

用于定义 logging_file 值的故障排除输出级别的参数。

选项

  • "NOTSET"

  • "DEBUG"

  • "INFO"

名称

字符串

账户的 ObjectID

new_secret

字符串

要存储在 CyberArk Vault 中的新密钥/密码。

platform_account_properties

字典

包含要与账户关联的键值对的对象,由账户平台定义。这些属性会根据指定平台的定义的强制属性和可选属性进行验证。账户上不存在的可选属性将不会在此处返回。不会返回内部属性。

KEY

别名:端口、ExtrPass1Name、数据库

字符串

与分配给指定平台的定义的强制属性或可选属性关联的自由格式键值。

platform_id

字符串

将要管理该账户的平台的 PolicyID

remote_machines_access

字典

用于定义 PSM 端点访问目标的参数集。

access_restricted_to_remote_machines

布尔值

是否限制仅对指定的远程计算机进行访问。

选项

  • false

  • true

remote_machines

字符串

此帐户允许的目标列表。

safe

字符串 / 必需

Vault 中特权账户所在的保险箱。

secret

字符串

创建账户的初始密码

secret_management

字典

与凭据管理相关的参数集。

automatic_management_enabled

布尔值

指示 CPM 是否将管理密码的参数。

选项

  • false ←(默认)

  • true

management_action

字符串

要放置在账户对象上的 CPM 操作标志,用于凭据轮换。

选项

  • "change"

  • "change_immediately"

  • "reconcile"

manual_management_reason

字符串

指示 CPM 不会管理密码原因的字符串值。

new_secret

字符串

将为要执行的 CPM 操作分配的实际密码值。

perform_management_action

字符串

always 将在每次操作中执行管理操作。

on_create 将仅在创建帐户后立即执行管理操作。

选项

  • "always" ←(默认)

  • "on_create"

secret_type

字符串

标识账户类型的的值。

选项

  • "password" ←(默认)

  • "key"

状态

字符串

断言帐户的所需状态:present 表示创建或更新帐户对象。设置为 absent 表示删除帐户对象。设置为 retrieve 表示获取包括密码在内的帐户对象。

选项

  • "present" ←(默认)

  • "absent"

  • "retrieve"

用户名

字符串

与账户关联的用户名。

validate_certs

布尔值

如果为 false,则不会验证 SSL 证书链。只有在每个节点上安装了根 CA 证书时,才应将其设置为 true

选项

  • false

  • true ←(默认)

示例

collections:
  - cyberark.pas

tasks:

  - name: Logon to CyberArk Vault using PAS Web Services SDK
    cyberark_authentication:
      api_base_url: "http://components.cyberark.local"
      validate_certs: false
      username: "bizdev"
      password: "Cyberark1"

  - name: Creating an Account using the PAS WebServices SDK
    cyberark_account:
      logging_level: DEBUG
      identified_by: "address,username"
      safe: "Test"
      address: "cyberark.local"
      username: "administrator-x"
      platform_id: WinServerLocal
      secret: "@N&Ibl3!"
      platform_account_properties:
          LogonDomain: "cyberark"
          OwnerName: "ansible_user"
      secret_management:
          automatic_management_enabled: true
      state: present
      cyberark_session: "{{ cyberark_session }}"
    register: cyberarkaction

  - name: Rotate credential via reconcile and providing the password to be changed to
    cyberark_account:
      identified_by: "address,username"
      safe: "Domain_Admins"
      address: "prod.cyberark.local"
      username: "admin"
      platform_id: WinDomain
      platform_account_properties:
          LogonDomain: "PROD"
      secret_management:
          new_secret: "Ama123ah12@#!Xaamdjbdkl@#112"
          management_action: "reconcile"
          automatic_management_enabled: true
      state: present
      cyberark_session: "{{ cyberark_session }}"
    register: reconcileaccount

  - name: Update password only in VAULT
    cyberark.pas.cyberark_account:
      identified_by: "address,username"
      safe: "Domain_Admins"
      address: "prod.cyberark.local"
      username: "admin"
      platform_id: Generic
      new_secret: "Ama123ah12@#!Xaamdjbdkl@#112"
      state: present
      cyberark_session: "{{ cyberark_session }}"
    register: updateaccount

  - name: Retrieve account and password
    cyberark.pas.cyberark_account:
      identified_by: "address,username"
      safe: "Domain_Admins"
      address: "prod.cyberark.local"
      username: "admin"
      state: retrieve
      cyberark_session: "{{ cyberark_session }}"
    register: retrieveaccount

  - name: Logoff from CyberArk Vault
    cyberark_authentication:
      state: absent
      cyberark_session: "{{ cyberark_session }}"

返回值

通用返回值记录在此处,以下是此模块特有的字段

描述

changed

布尔值

标识 playbook 运行是否以任何方式导致帐户发生更改。

返回: 始终

failed

布尔值

剧本运行是否导致任何类型的失败。

返回: 始终

结果

复杂

结果操作的 JSON 转储。

返回: 成功

地址

字符串

特权帐户所在的端点地址。

返回: 成功添加和修改

示例: "dev.local"

创建时间

整数

帐户创建时间戳的时间范围计算。

返回: 成功添加和修改

示例: 1567824520

ID

整数

标识的帐户对象的内部 ObjectID

返回: 成功添加和修改

示例: 2521

名称

字符串

帐户的外部 ObjectID

返回: 成功添加和修改

示例: "['Operating System-WinServerLocal-cyberark.local-administrator']"

平台帐户属性

复杂

包含与帐户关联的键值对的对象,由帐户平台定义。

返回: 成功添加和修改

键 值

字符串

包含与帐户关联的键值对的对象,由帐户平台定义。

返回: 成功添加和修改

示例: "[{'LogonDomain': 'cyberark'}, {'Port': '22'}]"

平台ID

字符串

将要管理帐户的平台的策略 ID。

返回: 成功添加和修改

示例: "WinServerLocal"

保险库名称

字符串

Vault 中特权账户所在的保险箱。

返回: 成功添加和修改

示例: "Domain_Admins"

密钥管理

复杂

与凭据管理相关的参数集。

返回: 成功添加和修改

自动管理已启用

布尔值

指示 CPM 是否将管理密码的参数。

返回: 成功添加和修改

上次修改时间

整数

帐户修改时间戳的时间范围计算。

返回: 成功添加和修改

示例: 1567824520

手动管理原因

字符串

禁用帐户自动管理的原因

返回: 如果 automaticManagementEnabled 设置为 false

示例: "这是一个静态帐户"

密钥类型

列表 / 元素=字符串

标识帐户类型的 值

返回: 成功添加和修改

示例: ["key", "password"]

用户名

字符串

与帐户关联的用户名

返回: 成功添加和修改

示例: "administrator"

状态码

整数

结果 HTTP 状态码。

返回: 成功

示例: "200, 201, -1, 204"

作者

  • CyberArk BizDev (@cyberark-bizdev)

  • Edward Nunez (@enunez-cyberark)

  • James Stutes (@jimmyjamcabd)