CA ACL Rules
Manage certificate authority access control lists to restrict which certificate profiles can be used by which users, hosts, or services. CA ACLs enforce policy by controlling profile usage, target principals, and issuing CAs. Features include rule-based access control, profile and CA filtering, user and host category support, and enable/disable capabilities for flexible certificate issuance governance.
This plugin is used to define rules governing which CAs and profiles may be used to issue certificates to particular principals or groups of principals.
SUBJECT PRINCIPAL SCOPE
For a certificate request to be allowed, the principal(s) that are the subject of a certificate request (not necessarily the principal actually requesting the certificate) must be included in the scope of a CA ACL that also includes the target CA and profile.
Users can be included by name, group or the “all users” category. Hosts can be included by name, hostgroup or the “all hosts” category. Services can be included by service name or the “all services” category. CA ACLs may be associated with a single type of principal, or multiple types.
CERTIFICATE AUTHORITY SCOPE
A CA ACL can be associated with one or more CAs by name, or by the “all CAs” category. For compatibility reasons, a CA ACL with no CA association implies an association with the ‘ipa’ CA (and only this CA).
PROFILE SCOPE
A CA ACL can be associated with one or more profiles by Profile ID. The Profile ID is a string without spaces or punctuation starting with a letter and followed by a sequence of letters, digits or underscore (”_”).
EXAMPLES
Create a CA ACL “test” that grants all users access to the
“UserCert” profile on all CAs:
ipa caacl-add test --usercat=all --cacat=all ipa caacl-add-profile test --certprofiles UserCertDisplay the properties of a named CA ACL:
ipa caacl-show testCreate a CA ACL to let user “alice” use the “DNP3” profile on “DNP3-CA”:
ipa caacl-add alice_dnp3 ipa caacl-add-ca alice_dnp3 --cas DNP3-CA ipa caacl-add-profile alice_dnp3 --certprofiles DNP3 ipa caacl-add-user alice_dnp3 --user=aliceDisable a CA ACL:
ipa caacl-disable testRemove a CA ACL:
ipa caacl-del test
Commands
Command Description
caacl-add Create a new CA ACL.
caacl-add-ca Add CAs to a CA ACL.
caacl-add-host Add target hosts and hostgroups to a CA ACL.
caacl-add-profile Add profiles to a CA ACL.
caacl-add-service Add services to a CA ACL.
caacl-add-user Add users and groups to a CA ACL.
caacl-del Delete a CA ACL.
caacl-disable Disable a CA ACL.
caacl-enable Enable a CA ACL.
caacl-find Search for CA ACLs.
caacl-mod Modify a CA ACL.
caacl-remove-ca Remove CAs from a CA ACL.
caacl-remove-host Remove target hosts and hostgroups from a CA ACL.
caacl-remove-profile Remove profiles from a CA ACL.
caacl-remove-service Remove services from a CA ACL.
caacl-remove-user Remove users and groups from a CA ACL.
caacl-show Display the properties of a CA ACL.
caacl-add
Usage: ipa [global-options] caacl-add NAME [options]
Create a new CA ACL.
Arguments
Argument Required Description
NAME yes ACL name
Options
Option Description
--desc DESC Description
--cacat CACAT CA category the ACL applies to
--profilecat PROFILECAT Profile category the ACL applies to
--usercat USERCAT User category the ACL applies to
--hostcat HOSTCAT Host category the ACL applies to
--servicecat SERVICECAT Service category the ACL applies to
--setattr SETATTR Set an attribute to a name/value pair. Format is
attr=value.
--addattr ADDATTR Add an attribute/value pair. Format is
attr=value. The attribute
--all Retrieve and print all attributes from the
server. Affects command output.
--raw Print entries as stored on the server. Only
affects output format.
--no-members Suppress processing of membership attributes.
caacl-add-ca
Usage: ipa [global-options] caacl-add-ca NAME [options]
Add CAs to a CA ACL.
Arguments
Argument Required Description
NAME yes ACL name
Options
Option Description
--all Retrieve and print all attributes from the
server. Affects command output.
--raw Print entries as stored on the server. Only
affects output format.
--no-members Suppress processing of membership attributes.
--cas CAS Certificate Authorities to add
caacl-add-host
Usage: ipa [global-options] caacl-add-host NAME [options]
Add target hosts and hostgroups to a CA ACL.
Arguments
Argument Required Description
NAME yes ACL name
Options
Option Description
--all Retrieve and print all attributes from the
server. Affects command output.
--raw Print entries as stored on the server. Only
affects output format.
--no-members Suppress processing of membership attributes.
--hosts HOSTS hosts to add
--hostgroups HOSTGROUPS host groups to add
caacl-add-profile
Usage: ipa [global-options] caacl-add-profile NAME [options]
Add profiles to a CA ACL.
Arguments
Argument Required Description
NAME yes ACL name
Options
Option Description
--all Retrieve and print all attributes from the
server. Affects command output.
--raw Print entries as stored on the server. Only
affects output format.
--no-members Suppress processing of membership attributes.
--certprofiles CERTPROFILES Certificate Profiles to add
caacl-add-service
Usage: ipa [global-options] caacl-add-service NAME [options]
Add services to a CA ACL.
Arguments
Argument Required Description
NAME yes ACL name
Options
Option Description
--all Retrieve and print all attributes from the
server. Affects command output.
--raw Print entries as stored on the server. Only
affects output format.
--no-members Suppress processing of membership attributes.
--services SERVICES services to add
caacl-add-user
Usage: ipa [global-options] caacl-add-user NAME [options]
Add users and groups to a CA ACL.
Arguments
Argument Required Description
NAME yes ACL name
Options
Option Description
--all Retrieve and print all attributes from the
server. Affects command output.
--raw Print entries as stored on the server. Only
affects output format.
--no-members Suppress processing of membership attributes.
--users USERS users to add
--groups GROUPS groups to add
caacl-del
Usage: ipa [global-options] caacl-del NAME [options]
Delete a CA ACL.
Arguments
Argument Required Description
NAME yes ACL name
Options
Option Description
--continue Continuous mode: Don’t stop on errors.
caacl-disable
Usage: ipa [global-options] caacl-disable NAME [options]
Disable a CA ACL.
Arguments
Argument Required Description
NAME yes ACL name
caacl-enable
Usage: ipa [global-options] caacl-enable NAME [options]
Enable a CA ACL.
Arguments
Argument Required Description
NAME yes ACL name
caacl-find
Usage: ipa [global-options] caacl-find [CRITERIA] [options]
Search for CA ACLs.
Arguments
Argument Required Description
CRITERIA no A string searched in all relevant object
attributes
Options
Option Description
--name NAME ACL name
--desc DESC Description
--cacat CACAT CA category the ACL applies to
--profilecat PROFILECAT Profile category the ACL applies to
--usercat USERCAT User category the ACL applies to
--hostcat HOSTCAT Host category the ACL applies to
--servicecat SERVICECAT Service category the ACL applies to
--timelimit TIMELIMIT Time limit of search in seconds (0 is unlimited)
--sizelimit SIZELIMIT Maximum number of entries returned (0 is
unlimited)
--all Retrieve and print all attributes from the
server. Affects command output.
--raw Print entries as stored on the server. Only
affects output format.
--pkey-only Results should contain primary key attribute only
(“name”)
caacl-mod
Usage: ipa [global-options] caacl-mod NAME [options]
Modify a CA ACL.
Arguments
Argument Required Description
NAME yes ACL name
Options
Option Description
--desc DESC Description
--cacat CACAT CA category the ACL applies to
--profilecat PROFILECAT Profile category the ACL applies to
--usercat USERCAT User category the ACL applies to
--hostcat HOSTCAT Host category the ACL applies to
--servicecat SERVICECAT Service category the ACL applies to
--setattr SETATTR Set an attribute to a name/value pair. Format is
attr=value.
--addattr ADDATTR Add an attribute/value pair. Format is
attr=value. The attribute
--delattr DELATTR Delete an attribute/value pair. The option will
be evaluated
--rights Display the access rights of this entry (requires
—all). See ipa man page for details.
--all Retrieve and print all attributes from the
server. Affects command output.
--raw Print entries as stored on the server. Only
affects output format.
--no-members Suppress processing of membership attributes.
caacl-remove-ca
Usage: ipa [global-options] caacl-remove-ca NAME [options]
Remove CAs from a CA ACL.
Arguments
Argument Required Description
NAME yes ACL name
Options
Option Description
--all Retrieve and print all attributes from the
server. Affects command output.
--raw Print entries as stored on the server. Only
affects output format.
--no-members Suppress processing of membership attributes.
--cas CAS Certificate Authorities to remove
caacl-remove-host
Usage: ipa [global-options] caacl-remove-host NAME [options]
Remove target hosts and hostgroups from a CA ACL.
Arguments
Argument Required Description
NAME yes ACL name
Options
Option Description
--all Retrieve and print all attributes from the
server. Affects command output.
--raw Print entries as stored on the server. Only
affects output format.
--no-members Suppress processing of membership attributes.
--hosts HOSTS hosts to remove
--hostgroups HOSTGROUPS host groups to remove
caacl-remove-profile
Usage: ipa [global-options] caacl-remove-profile NAME [options]
Remove profiles from a CA ACL.
Arguments
Argument Required Description
NAME yes ACL name
Options
Option Description
--all Retrieve and print all attributes from the
server. Affects command output.
--raw Print entries as stored on the server. Only
affects output format.
--no-members Suppress processing of membership attributes.
--certprofiles CERTPROFILES Certificate Profiles to remove
caacl-remove-service
Usage: ipa [global-options] caacl-remove-service NAME [options]
Remove services from a CA ACL.
Arguments
Argument Required Description
NAME yes ACL name
Options
Option Description
--all Retrieve and print all attributes from the
server. Affects command output.
--raw Print entries as stored on the server. Only
affects output format.
--no-members Suppress processing of membership attributes.
--services SERVICES services to remove
caacl-remove-user
Usage: ipa [global-options] caacl-remove-user NAME [options]
Remove users and groups from a CA ACL.
Arguments
Argument Required Description
NAME yes ACL name
Options
Option Description
--all Retrieve and print all attributes from the
server. Affects command output.
--raw Print entries as stored on the server. Only
affects output format.
--no-members Suppress processing of membership attributes.
--users USERS users to remove
--groups GROUPS groups to remove
caacl-show
Usage: ipa [global-options] caacl-show NAME [options]
Display the properties of a CA ACL.
Arguments
Argument Required Description
NAME yes ACL name
Options
Option Description
--rights Display the access rights of this entry (requires
—all). See ipa man page for details.
--all Retrieve and print all attributes from the
server. Affects command output.
--raw Print entries as stored on the server. Only
affects output format.