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 中的新增功能

概要

  • 创建用于在 CyberArk Vault 中添加、删除、修改和检索特权凭据的 URI。此请求使用特权帐户安全 Web 服务 SDK。

参数

参数

注释

address

字符串

位于特权帐户的端点的地址。

api_base_url

字符串

包含托管 CyberArk 特权帐户安全 Web 服务 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"

name

字符串

帐户的 ObjectID

new_secret

字符串

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

platform_account_properties

字典

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

别名:端口、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"

state

字符串

声明帐户的所需状态 present 用于创建或更新帐户对象。设置为 absent 用于删除帐户对象。设置为 retrieve 以获取包含密码的帐户对象。

选项

  • "present" ← (默认)

  • "absent"

  • "retrieve"

username

字符串

与帐户关联的用户名。

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

布尔值

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

返回值:始终返回

result

复杂类型

结果操作的 JSON 转储。

返回值:成功时返回

address

字符串

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

返回值:成功添加和修改时返回

示例: "dev.local"

createdTime

整数

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

返回值:成功添加和修改时返回

示例: 1567824520

id

整数

已识别帐户对象的内部ObjectID。

返回值:成功添加和修改时返回

示例: 2521

name

字符串

帐户的外部ObjectID。

返回值:成功添加和修改时返回

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

platformAccountProperties

复杂类型

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

返回值:成功添加和修改时返回

键值对

字符串

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

返回值:成功添加和修改时返回

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

platformId

字符串

将管理帐户的平台的 PolicyID。

返回值:成功添加和修改时返回

示例: "WinServerLocal"

safeName

字符串

Vault 中特权帐户所在的保险库。

返回值:成功添加和修改时返回

示例: "Domain_Admins"

secretManagement

复杂类型

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

返回值:成功添加和修改时返回

automaticManagementEnabled

布尔值

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

返回值:成功添加和修改时返回

lastModifiedTime

整数

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

返回值:成功添加和修改时返回

示例: 1567824520

manualManagementReason

字符串

禁用帐户自动管理的原因。

返回值:如果 automaticManagementEnabled 设置为 false

示例: "This is a static account"

secretType

列表 / 元素=字符串

标识帐户类型的值。

返回值:成功添加和修改时返回

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

userName

字符串

与帐户关联的用户名。

返回值:成功添加和修改时返回

示例: "administrator"

status_code

整数

结果 HTTP 状态码。

返回值:成功时返回

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

作者

  • CyberArk BizDev (@cyberark-bizdev)

  • Edward Nunez (@enunez-cyberark)

  • James Stutes (@jimmyjamcabd)