Skip to main content

A unified and standardized interface to RACF callable services.

Project description

RACFu Logo

test fuzz cppcheck clang-format ruff Version Python Versions Downloads

A standardized JSON interface for RACF that enables seemless exploitation by programming languages that have a foreign language interface for C/C++ and native JSON support.

Description

As automation becomes more and more prevalent, the need to manage the security environment programmaticaly increases. On z/OS that means managing a security product like the IBM Resource Access Control Facility (RACF). RACF is the primary facility for managing identity, authority, and access control for z/OS. There are more than 50 callable services with assembler interfaces that are part of the RACF API. The complete set of interfaces can be found here.

While there are a number of languages that can be used to manage RACF, (from low level lnaguages like Assembler to higher level languages like REXX), the need to be able to easily exploit RACF management functions using existing indurstry standard programming languages and even programming languages that don't exist yet is paramount. The RACFu project is focused on making RACF management functions available to all programming languages that have native JSON support and a foreign language interface for C/C++. This will make it easier to pivot to new tools and programming languages as technology, skills, and business needs continue to evolve in the forseeable future.

RACFu uses JSON for Modern C++ for working with JSON and JSON schema validator for JSON for Modern C++ for Draft-7 JSON Schema Validation.

RACFu's certificate management cababilities leverage the zopen community distributions of OpenSSL and ZOSLIB to create checksum digests and encode certificates.

Getting Started

Minimum z/OS & Language Versions

All versions of z/OS and the IBM Open Enterprise SDK for Python that are fully supported by IBM are supported by RACFu.

Dependencies

  • R_SecMgtOper (IRRSMO00): Security Management Operations.
    • More details about the authorizations required for IRRSMO00 can be found here.
  • R_Admin (IRRSEQ00): RACF Administration API.
    • More details about the authorizations required for IRRSEQ00 can be found here.
  • RACF Subsystem Address Space: This is a dependency for both IRRSMO00 and IRRSEQ00.
    • More information can be found here.
  • z/OS Language Environment Runtime Support: RACFu is compiled using the IBM Open XL C/C++ 2.1 compiler, which is still fairly new and requires z/OS Language Environment service updates for runtime support.

Installation

:bulb: Note: You can also Download & Install RACFu from GitHub

python3 -m pip install racfu

Help

Authors

Maintainers

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

racfu-1.0a2.dev2.tar.gz (311.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

racfu-1.0a2.dev2-cp313-none-any.whl (5.1 MB view details)

Uploaded CPython 3.13

racfu-1.0a2.dev2-cp312-none-any.whl (5.1 MB view details)

Uploaded CPython 3.12

File details

Details for the file racfu-1.0a2.dev2.tar.gz.

File metadata

  • Download URL: racfu-1.0a2.dev2.tar.gz
  • Upload date:
  • Size: 311.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for racfu-1.0a2.dev2.tar.gz
Algorithm Hash digest
SHA256 2762c76ed289ef8306e72cd022324536fba776949ba0f7797d78767cfaf8c230
MD5 bb0dca000be700083212093e57ff6f66
BLAKE2b-256 31806c1a8aefb0728a26b20c3f77cb3108654472f488c4e1ac5f78356f5b0b3f

See more details on using hashes here.

File details

Details for the file racfu-1.0a2.dev2-cp313-none-any.whl.

File metadata

  • Download URL: racfu-1.0a2.dev2-cp313-none-any.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.13
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for racfu-1.0a2.dev2-cp313-none-any.whl
Algorithm Hash digest
SHA256 d9043f8a2232b6aeb0f1151f2caca65e5501f4d415021f94838a371cc7cf2d47
MD5 73cfc77beeb448b37259b13488fc9a05
BLAKE2b-256 8b64619e17116ce83aabe4e279fe413d548ae593bfac191e51777cf1ec2f58d0

See more details on using hashes here.

File details

Details for the file racfu-1.0a2.dev2-cp312-none-any.whl.

File metadata

  • Download URL: racfu-1.0a2.dev2-cp312-none-any.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.12
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for racfu-1.0a2.dev2-cp312-none-any.whl
Algorithm Hash digest
SHA256 0893f6e3145142440d832c2218b45149ae5c14f849e2eccf363661645cfae193
MD5 6c4bc2caa7812e680c308cd77edc0a46
BLAKE2b-256 f6936610deda11e800ad98b875fe5678e9f9e40ae2b071fc1aa62350887b5674

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page