From 8b2b3a53e7bb0c3d60d5e2e462da768dcaf78162 Mon Sep 17 00:00:00 2001 From: Kahu Anderson Date: Mon, 11 Sep 2023 12:25:54 +1200 Subject: [PATCH] identity updates --- docs/images/flexi/app-cred-selected.png | Bin 0 -> 26702 bytes docs/images/flexi/app-creds-overview.png | Bin 0 -> 17079 bytes ...anaging-application-credentials-via-cli.md | 133 ++++++++++++++++++ ...lication-credentials-with-the-dashboard.md | 101 +++++++++++++ .../create-and-manage-identity/index.md | 37 +++-- .../create-and-manage-identity/summary.md | 10 +- 6 files changed, 263 insertions(+), 18 deletions(-) create mode 100644 docs/images/flexi/app-cred-selected.png create mode 100644 docs/images/flexi/app-creds-overview.png create mode 100644 docs/user-guides/create-and-manage-identity/creating-and-managing-application-credentials-via-cli.md create mode 100644 docs/user-guides/create-and-manage-identity/creating-and-managing-application-credentials-with-the-dashboard.md diff --git a/docs/images/flexi/app-cred-selected.png b/docs/images/flexi/app-cred-selected.png new file mode 100644 index 0000000000000000000000000000000000000000..a319085e335d83aec521dd5b067916e1e2b76594 GIT binary patch literal 26702 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 literal 0 HcmV?d00001 diff --git a/docs/user-guides/create-and-manage-identity/creating-and-managing-application-credentials-via-cli.md b/docs/user-guides/create-and-manage-identity/creating-and-managing-application-credentials-via-cli.md new file mode 100644 index 0000000..56e6980 --- /dev/null +++ b/docs/user-guides/create-and-manage-identity/creating-and-managing-application-credentials-via-cli.md @@ -0,0 +1,133 @@ +--- +hidden: false +label_names: +- identity +- create +- manage +- cli +title: Creating and Managing Application Credentials via CLI +--- + +!!! note + The openstack CLI will need to be setup to interact with the FlexiHPC system. Please read [Setting up your CLI environment](../setting-up-your-CLI-environment/index.md) to interact with FlexiHPC to get started. + +## Create Application Credential + +Running the below command will generate a new `Application Credential` + +``` +openstack application credential create + [--secret ] + [--role ] + [--expiration ] + [--description ] + [--unrestricted] + [--restricted] + [--access-rules ] + +``` + +`--secret ` +: Secret to use for authentication. If not provided, one will be generated + +`--role ` +: Roles to authorize (name or ID) (repeat option to set multiple values), if not provided this will default to same roles as the user that creates it + +`--expiration ` +: Sets an expiration date for the application credential, format of YYYY-mm-ddTHH:MM:SS, if not provided, the application credential will not expire. + +`--description ` +: Application credential description + +`--unrestricted` +: Enable application credential to create and delete other application credentials and trusts + +!!! warning + This is potentially dangerous behavior and is disabled by default + +`--restricted` +: Prohibit application credential from creating and deleting other application credentials and trusts, this is enabled by default. + +`--access-rules ` +: Either a string or file path containing a JSON-formatted list of access rules, each containing a request method, path, and service, for example ‘[{“method”: “GET”, “path”: “/v2.1/servers”, “service”: “compute”}]’ + +`name` +: Name of the application credential + +Command example below with only a name supplied + +``` +openstack application credential create wiki-test-app-creds +``` + +``` { .sh .no-copy } ++--------------+----------------------------------------------------------------------------------------+ +| Field | Value | ++--------------+----------------------------------------------------------------------------------------+ +| description | None | +| expires_at | None | +| id | 0f81c516aa6e443dba0aec93b0bbd87e | +| name | wiki-test-app-creds | +| project_id | 4f07cc254d6c4471805d49bae1f739b9 | +| roles | heat_stack_owner reader _member_ load-balancer_member member | +| secret | | +| system | None | +| unrestricted | False | +| user_id | fb9a3d02c89e4cfdbe64658ad43ece97 | ++--------------+----------------------------------------------------------------------------------------+ +``` + +!!! note + Once the `Application Credentails` are created the secret will be displayed. You need to take note of this now as there is no way to get that secret again and a new `Application Credential` will need to be created should you misplace it. + +## List Application Credentials + +Running the below command will list all `Application Credentials` in your project + +``` +openstack application credential list +``` + +``` { .sh .no-copy } ++----------------------------------+---------------------+----------------------------------+-------------+------------+ +| ID | Name | Project ID | Description | Expires At | ++----------------------------------+---------------------+----------------------------------+-------------+------------+ +| 0f81c516aa6e443dba0aec93b0bbd87e | wiki-test-app-creds | 4f07cc254d6c4471805d49bae1f739b9 | None | None | ++----------------------------------+---------------------+----------------------------------+-------------+------------+ +``` + +## Show Application Credentials details + +Running the below command will present additional details about the Application Credentials + +``` +openstack application credential show APPLICATION_CRED_ID +``` + +``` { .sh .no-copy } ++--------------+--------------------------------------------------------------+ +| Field | Value | ++--------------+--------------------------------------------------------------+ +| description | None | +| expires_at | None | +| id | 0f81c516aa6e443dba0aec93b0bbd87e | +| name | wiki-test-app-creds | +| project_id | 4f07cc254d6c4471805d49bae1f739b9 | +| roles | reader load-balancer_member _member_ member heat_stack_owner | +| system | None | +| unrestricted | False | +| user_id | fb9a3d02c89e4cfdbe64658ad43ece97 | ++--------------+--------------------------------------------------------------+ +``` + +## Deleting Application Credentials + +Run the command `openstack application credential list` to get the `ID` of the `Application Credentials` you would like to delete + +Then with the `ID` run the below command to delete it + +``` +openstack application credential delete APPLICATION_CRED_ID +``` + +There will be no response, so you can run the list command again to confirm deletion \ No newline at end of file diff --git a/docs/user-guides/create-and-manage-identity/creating-and-managing-application-credentials-with-the-dashboard.md b/docs/user-guides/create-and-manage-identity/creating-and-managing-application-credentials-with-the-dashboard.md new file mode 100644 index 0000000..5197797 --- /dev/null +++ b/docs/user-guides/create-and-manage-identity/creating-and-managing-application-credentials-with-the-dashboard.md @@ -0,0 +1,101 @@ +--- +hidden: false +label_names: +- networks +- create +- manage +- dashboard +position: 1 +title: Create and manage networks via the dashboard +--- + +## Create a Network + +Log into the [NeSI FlexiHPC Dashboard](https://dashboard.cloud.nesi.org.nz/) + +Select the project you would like to deploy the new instance too (Use the project selector on the top left-hand side): + +
+ ![Alt text](../../images/flexi/project-selector.png) +
+ +Open the `Identity` tab and click `Application Credentials` category + +
+ ![Alt text](../../images/flexi/app-creds-overview.png) +
+ +Click `Create Application Credentials` + +Within the `Create Application Credentials` dialog we have the following options + +`Name` +: This is a required field. A name for your Application Credentials, an example could be terraform-deployment + +`Description` +: A friendly description for the Application Credentials + +`Secret` +: If this field is left blank then one will be automatically generated for you, however you have the ability to provide one yourself should you choose. + +`Expiration Date` +: The day that you wish for this Application Credentials to expire, example is you may only want these to last 1 month and as part of maintenance each month you roll new credentials. If left blank it will default to never expire + +`Expiration Time` +: The time you wish for this Application Credentials to expire, example could be 23:59 on the first Monday of each month so it gives you the Monday morning to roll new credentials. If left blank and `Expiration Date` is set it will default to 00:00:00 + +!!! note + Expiration Date and Time will be in UTC format. + +`Roles` +: You may select one or more roles for this application credential. If you do not select any, all of the roles you have assigned on the current project will be applied to the application credential. Example here is my user has `[admin, member, reader]` associated with it so if I don't pick any roles the `Application Credentials` will be given the same permissions. + +`Access Rules` +: If you want more fine-grained access control delegation, you can create one or more access rules for this application credential. The list of access rules must be a JSON- or YAML-formatted list of rules each containing a service type, an HTTP method, and a URL path, for example: + ``` json title="JSON example" + [ +   { + "service": "compute", +    "method": "POST", +    "path": "/v2.1/servers" + } + ] + ``` + + ``` yaml title="YAML example" + - service: compute + method: POST + path: /v2.1/servers + ``` + +`Unrestricted (Dangerous)` +: By default, for security reasons, application credentials are forbidden from being used for creating additional application credentials or keystone trusts. If your application credential needs to be able to perform these actions, check "unrestricted". + + !!! warning + This is potentially dangerous behavior and is disabled by default + +Once all the required fields are completed click on `Create Application Credential` + +Another dialog will appear that has your newly created `Application Credential` secret. The application credential secret will not be available after closing this page, so you must capture it now or download it. If you lose this secret, you must generate a new application credential. + +## Deleting Application Credentials + +Log into the [NeSI FlexiHPC Dashboard](https://dashboard.cloud.nesi.org.nz/) + +Select the project you would like to deploy the new instance too (Use the project selector on the top left-hand side): + +
+ ![Alt text](../../images/flexi/project-selector.png) +
+ +Open the `Identity` tab and click `Application Credentials` category + +Using the check box select the `Application Credentials` you would like to delete and the `Delete Application Credentials` should become clickable in the top right + +
+ ![Alt text](../../images/flexi/app-cred-selected.png) +
+ +Click `Delete Application Credentials` and a confirmation dialog will appear + +Confirm the deletion by clicking `Delete Application Credentials` \ No newline at end of file diff --git a/docs/user-guides/create-and-manage-identity/index.md b/docs/user-guides/create-and-manage-identity/index.md index fb1c0d9..77610cb 100644 --- a/docs/user-guides/create-and-manage-identity/index.md +++ b/docs/user-guides/create-and-manage-identity/index.md @@ -1,13 +1,24 @@ ---- -hidden: false -label_names: -- identity -- create -- manage -position: 1 -title: Create and Manage identity -vote_count: 1 -vote_sum: 1 ---- - -Flexi Identity \ No newline at end of file +--- +hidden: false +label_names: +- identity +- create +- manage +position: 1 +title: Create and Manage identity +vote_count: 1 +vote_sum: 1 +--- + +`Application Credentials` help you to avoid the practice of embedding user account credentials in configuration files. Instead, the user creates an Application Credential that receives delegated access to a single project and has its own distinct secret. The user can also limit the delegated privileges to a single role in that project. This allows you to adopt the principle of least privilege, where the authenticated service only gains access to the one project and role that it needs to function, rather than all of them. + +This approach allows you to consume an API with revealing your user credentials, and lets applications authenticate to Keystone without requiring embedded user credentials. + +Within FlexiHPC you are able to mange `Application Credentials` from the dashboard and/or the CLI. + +- [Creating and Managing Application Credentials from the dashboard](creating-and-managing-application-credentials-with-the-dashboard.md) + +- [Creating and Managing Application Credentials via CLI](creating-and-managing-application-credentials-via-cli.md) + +!!! note + The Application Credential is dependent on the user account that created it, so it will terminate if that account is ever deleted, or loses access to the relevant role. \ No newline at end of file diff --git a/docs/user-guides/create-and-manage-identity/summary.md b/docs/user-guides/create-and-manage-identity/summary.md index 4134a39..9b905be 100644 --- a/docs/user-guides/create-and-manage-identity/summary.md +++ b/docs/user-guides/create-and-manage-identity/summary.md @@ -1,6 +1,6 @@ -* [Identity: Create and Manage](index.md) -* With the Dashboard - * [Networks](create-and-manage-networks-with-the-dashboard.md) -* With the CLI - * [Networks](create-and-manage-networks-via-cli.md) +* [Identity: Create and Manage](index.md) +* With the Dashboard + * [Create and Manage](creating-and-managing-application-credentials-with-the-dashboard.md) +* With the CLI + * [Create and Manage](creating-and-managing-application-credentials-via-cli.md) * * \ No newline at end of file