netapp.ontap.na_ontap_file_security_permissions 模块 – NetApp ONTAP NTFS 文件安全权限
注意
此模块是 netapp.ontap 集合(版本 22.13.0)的一部分。
如果您使用的是 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install netapp.ontap
。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。
要在 playbook 中使用它,请指定:netapp.ontap.na_ontap_file_security_permissions
。
netapp.ontap 22.0.0 中的新增功能
概要
在 NetApp ONTAP 上创建、删除或修改文件或目录的 NTFS 文件安全性和审核策略。
请注意,ACL 是基于('user','access','access_control','apply_to')进行匹配的。 为了修改这 4 个属性中的任何一个,该模块会删除 ACL 并创建一个新的 ACL。
要求
执行此模块的主机需要满足以下要求。
Ansible 2.9 或更高版本 - 建议使用 2.12 或更高版本。
Python3 - 建议使用 3.9 或更高版本。
当使用 ZAPI 时,建议使用 netapp-lib 2018.11.13 或更高版本(使用 ‘pip install netapp-lib’ 安装),强烈建议使用 netapp-lib 2020.3.12,因为它为连接问题提供了更好的错误报告。
物理或虚拟集群 Data ONTAP 系统,该模块支持 Data ONTAP 9.1 及更高版本,REST 支持需要 ONTAP 9.6 或更高版本。
参数
参数 |
注释 |
---|---|
访问控制级别指定要应用的访问控制。 有效值为“file-directory”或“Storage-Level Access Guard (SLAG)”。 SLAG 用于将指定的安全描述符与卷或 qtree 的任务一起应用。 否则,安全描述符将应用于指定路径上的文件和目录。 FlexGroups 卷不支持值 slag。默认值为“file-directory”。 此字段需要 ONTAP 9.10.1 或更高版本。默认为“file_directory”。 当存在状态时,如果此选项不存在,则删除未在 当状态不存在时,如果此选项不存在,则删除所有 ACL。如果存在此选项,则仅删除与其值匹配的 ACL。 选择
|
|
自由访问安全列表 (DACL) 标识允许或拒绝访问安全对象的受托人。 当进程尝试访问安全对象时,系统会检查该对象的 DACL 中的访问控制条目 (ACE),以确定是否授予对其的访问权限。 |
|
指定 ACL 是用于 DACL 还是 SACL。 目前已使用 access_allow、access_deny for DACL 和 audit_failure、audit_success for SACL 进行测试。 选择
|
|
访问控制级别指定要应用的访问控制。 有效值为“file-directory”或“Storage-Level Access Guard (SLAG)”。 SLAG 用于将指定的安全描述符与卷或 qtree 的任务一起应用。 否则,安全描述符将应用于指定路径上的文件和目录。 FlexGroups 卷不支持值 slag。默认值为“file-directory”。 此字段需要 ONTAP 9.10.1 或更高版本。默认为“file_directory”。 选择
|
|
指定 ACE 为指定帐户控制的高级访问权限。 |
|
追加数据。 选择
|
|
删除。 选择
|
|
删除子项。 选择
|
|
执行文件。 选择
|
|
完全控制。 选择
|
|
读取属性。 选择
|
|
读取数据。 选择
|
|
读取扩展属性。 选择
|
|
读取权限。 选择
|
|
写入属性。 选择
|
|
写入数据。 选择
|
|
写入扩展属性。 选择
|
|
写入所有者。 选择
|
|
写入权限。 选择
|
|
指定在哪里应用 DACL 或 SACL 条目。 必须至少将一个子选项设置为 true。未设置的子选项假定为 false。 对于 SLAG,ONTAP 接受将三个子选项设置为 true,但会创建 2 个 ACL。此模块需要存在 2 个 ACL 以保持幂等性。另请参阅 |
|
应用于文件。 选择
|
|
应用于所有子文件夹。 选择
|
|
仅应用于此文件夹 选择
|
|
对于列表中的每个文件或目录,指定不能替换此文件或目录的权限。 |
|
指定如何将安全设置传播到子文件夹和文件。 默认为传播。 此选项仅在创建 ACL 时有效。 选择
|
|
指定 ACE 为指定帐户控制的访问权限。 “rights”参数与“advanced_rights”参数互斥。 ONTAP 将权限转换为 advanced_rights,当使用权限时,此模块不是幂等的。 请确保使用 选择
|
|
指定 ACE 应用于的帐户。指定名称或 SID。 从 21.24.0 开始,当使用 SID 时,该模块不是幂等的。 为了在使用 |
|
SSL 客户端证书文件 (.pem) 的路径。 不支持 Python 2.6。 |
|
指定 SD 中的控制标志。它是一个十六进制值。 |
|
启用或禁用新功能。 这可用于启用实验性功能或禁用会破坏向后兼容性的新功能。 支持的键和值如有更改,恕不另行通知。未知的键将被忽略。 |
|
使用 REST 时覆盖集群 ONTAP 版本。 如果版本与目标集群不匹配,则行为未定义。 当由于权限问题而无法读取集群版本时,这作为一种解决方法提供。请参阅https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues。 这应采用 9.10 或 9.10.1 的形式,每个元素都是整数。 |
|
指定所有者的主组。 使用组名或 SID 指定所有者组。 |
|
ONTAP 实例的主机名或 IP 地址。 |
|
使用此端口覆盖默认端口(80 或 443) |
|
启用和禁用 https。 使用 REST 时将被忽略,因为仅支持 https。 当使用 SSL 证书身份验证时,将被忽略,因为它需要 SSL。 选择
|
|
对于列表中的每个文件或目录,指定不能替换此文件或目录的权限。 |
|
SSL 客户端密钥文件的路径。 |
|
指定 NTFS 安全描述符 (SD) 的所有者。 您可以使用用户名或安全标识符 (SID) 指定所有者。 SD 的所有者可以修改应用于该文件(或文件夹)或文件(或文件夹)的权限,并且可以授予其他用户拥有 SD 应用于的对象或对象的权利。 |
|
指定用户的密码。 |
|
要在其上应用安全权限的文件或目录的路径。 |
|
指定如何将安全设置传播到子文件夹和文件。 默认为传播。 选择
|
|
指定的文件安全权限是否应该存在。 当不存在时,将删除所有 ACL,而与 请参阅 继承的 ACL 将被忽略,它们无法被删除或修改。 选择
|
|
此模块仅支持 REST。 always - 将始终使用 REST API。如果模块不支持 REST,则会发出警告。 默认值: |
|
这可以是集群范围或 SVM 范围的帐户,具体取决于需要集群级还是 SVM 级 API。 有关更多信息,请阅读文档 https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/。 支持两种身份验证方法
要使用证书,必须已在 ONTAP 集群中安装该证书,并且必须已启用证书身份验证。 |
|
如果设置为 仅应在个人控制的使用自签名证书的站点上将其设置为 选择
|
|
ACL 可能不会按预期应用。 例如,如果 Everyone 被继承了所有权限,则会授予其他用户所有权限,而不管请求如何。 对于这个特定的示例,您可以删除顶级的 Everyone,或者为较低级别的 Everyone 创建一个新的 ACL。 当使用 有效值为 使用 SLAGS,ONTAP 可能会根据 选择
|
|
要使用的 vserver 的名称。 |
注释
注意
支持 check_mode。
仅支持 REST,并且需要 ONTAP 9.9.1 或更高版本。
SLAG 需要 ONTAP 9.10.1 或更高版本。
当 state 为 present 时,如果继承了一个 ACL,并且所需的 ACL 匹配,则会创建一个新的 ACL,因为继承的 ACL 无法修改。
当 state 为 absent 时,继承的 ACL 将被忽略。
以 na_ontap 为前缀的模块旨在支持 ONTAP 存储平台。
默认情况下启用 https,建议使用 https。要在集群上启用 http,您必须运行以下命令“set -privilege advanced;”“system services web modify -http-enabled true;”
示例
- name: Create file directory security permissions.
netapp.ontap.na_ontap_file_security_permissions:
state: present
vserver: svm1
access_control: file_directory
path: /vol200/newfile.txt
owner: "{{ user }}"
# Note, wihout quotes, use a single backslash in AD user names
# with quotes, it needs to be escaped as a double backslash
# user: "ANSIBLE_CIFS\user1"
# we can't show an example with a single backslash as this is a python file, but it works in YAML.
acls:
- access: access_deny
user: "{{ user }}"
apply_to:
files: true
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"
https: "{{ https }}"
validate_certs: "{{ validate_certs }}"
- name: Modify file directory security permissions.
netapp.ontap.na_ontap_file_security_permissions:
state: present
vserver: svm1
access_control: file_directory
path: /vol200/newfile.txt
acls:
- access: access_deny
user: "{{ user }}"
apply_to:
files: true
- access: access_allow
user: "{{ user }}"
apply_to:
files: true
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"
https: "{{ https }}"
validate_certs: "{{ validate_certs }}"
- name: Delete file directory security ACLs.
netapp.ontap.na_ontap_file_security_permissions:
state: absent
vserver: svm1
access_control: file_directory
path: /vol200/newfile.txt
acls:
- access: access_deny
user: "{{ user }}"
apply_to:
files: true
- access: access_allow
user: "{{ user }}"
apply_to:
files: true
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"
https: "{{ https }}"
validate_certs: "{{ validate_certs }}"