373 | | |
374 | | === fedd_to_abac.py === |
375 | | |
376 | | {{{fedd_to_abac.py}}} converts an fedd experiment controller configuration into an ABAC configuration. A certificate and key are required as well as an output directory for the ABAC authorizer (target of the '''auth_dir''' parameter in the configuration file. |
377 | | |
378 | | It takes the following arguments: |
379 | | {{{--cert=}}}''file'':: |
380 | | A file containing an X.509 certificate in pem format. This is the identity that will assert the attributes and should probably be the same as the experiment controller's identity. It may be a combination certificate and key file. |
381 | | {{{--key=}}}''file'':: |
382 | | The key for signing attributes. It should be a pem file with an RSA key in it. This can be omitted if {{{--cert}}} specifies a combination file. |
383 | | {{{--dir=}}}''dir'':: |
384 | | The output directory for the authorizer. (This must be an absolute pathname). |
385 | | |
386 | | {{{--make_dir}}}:: |
387 | | If given, make the output directory. |
388 | | {{{--debug}}}:: |
389 | | Just output the creddy commands that would be issued to create the certificates. |
390 | | {{{--policy_only}}}:: |
391 | | Only output the ABAC certificates, not the full ABAC authorizer. This is primarily for debugging. |
392 | | {{{--update}}}:: |
393 | | Update the output directory rather than creating it. This allows the authorizer to remember credentials it has learned or issued while updating the policy. |
394 | | |
395 | | After the named arguments are given, the [FeddDatabases#ExperimentControlComponentAccessDB aceess DB file] is a required argument. |
| 405 | |
| 406 | |
| 407 | === cert_to_fedid.py === |
| 408 | |
| 409 | The fedd tools expect the identity of the user to be a self-signed certificate. This is accomplished using the command: |
| 410 | |
| 411 | {{{ |
| 412 | $ cert_to_fedid.py --cn $USER --out $HOME/.ssl/fedid.pem $HOME/.ssl/emulab.pem |
| 413 | }}} |
| 414 | |
| 415 | The '''cert_to_fedid.py''' utility will list other parameters, but most are not needed for users. The fedid_tools search for {{{.ssl/fedid.pem}}} as a default identity, so putting the output there will make things simple. |
| 416 | |
| 417 | |
| 418 | === creddy_split.py === |
| 419 | |
| 420 | Split a combination PEM file (that contains both a key and a certificate) into a key and a certificate file. Early versions of ABAC were finicky about combination PEM files. It takes a single parameter, the combination to split. By default the output files are `./cert.pem` and `./key.pem`. |
| 421 | |
| 422 | The arguments are: |
| 423 | |
| 424 | '''--cert='''''filename''':: |
| 425 | Store the certificate in ''filename'' |
| 426 | '''--force''':: |
| 427 | Overwrite existing output files |
| 428 | '''--key='''''filename'':: |
| 429 | Store the key in ''filename'' |
| 430 | |
| 445 | === fedd_to_abac.py === |
| 446 | |
| 447 | {{{fedd_to_abac.py}}} converts an fedd experiment controller configuration into an ABAC configuration. A certificate and key are required as well as an output directory for the ABAC authorizer (target of the '''auth_dir''' parameter in the configuration file. |
| 448 | |
| 449 | It takes the following arguments: |
| 450 | {{{--cert=}}}''file'':: |
| 451 | A file containing an X.509 certificate in pem format. This is the identity that will assert the attributes and should probably be the same as the experiment controller's identity. It may be a combination certificate and key file. |
| 452 | {{{--key=}}}''file'':: |
| 453 | The key for signing attributes. It should be a pem file with an RSA key in it. This can be omitted if {{{--cert}}} specifies a combination file. |
| 454 | {{{--dir=}}}''dir'':: |
| 455 | The output directory for the authorizer. (This must be an absolute pathname). |
| 456 | |
| 457 | {{{--make_dir}}}:: |
| 458 | If given, make the output directory. |
| 459 | {{{--debug}}}:: |
| 460 | Just output the creddy commands that would be issued to create the certificates. |
| 461 | {{{--policy_only}}}:: |
| 462 | Only output the ABAC certificates, not the full ABAC authorizer. This is primarily for debugging. |
| 463 | {{{--update}}}:: |
| 464 | Update the output directory rather than creating it. This allows the authorizer to remember credentials it has learned or issued while updating the policy. |
| 465 | |
| 466 | After the named arguments are given, the [FeddDatabases#ExperimentControlComponentAccessDB aceess DB file] is a required argument. |
| 467 | |