Skip to content

Commit c6c5cd5

Browse files
authored
Merge branch 'main' into rholling-SCS-docs
2 parents e1cb1ac + c27f229 commit c6c5cd5

File tree

6 files changed

+111
-18
lines changed

6 files changed

+111
-18
lines changed

community/cloud-resources/cloud-resources.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ Service users will have their default_project_id set to a specific project and w
6060
| 91091d4039a6457db27d48d58bb1b4e4 | p500924-jschoone | jschoone | KaaS dev and evaluation ||
6161
| 93956190702b4a7d8a8886806d57713f | p500924-metering | cah-link | Dev Environment for VP13 | 31.12.2023 |
6262
| abbe6561cf6248b6af395334aa09af85 | p500924-harbor | chess-knight | SCS Harbor for VP06c ||
63-
| 4ff97734574146ccb4c7e7568bc1e36f | p500924-XPanse | swaroopar | Eclipse XPanse Projekt POC | 31.11.2023 |
6463
| e7622c1048ac4520a2d050ae141e826b | p500924-tender-6a | mxmxchere | Dev Environment for VP06a ||
6564
| eeed7e0ad33f42f189fb4165116f5a1b | p500924-dnation-k8s | matofeder | dNation dev for VP06c ||
6665
| b342f37804f14459bdf703573169bf79 | p500924-minery | 90n20 | Testbed env for Pentesting | 30.11.2024 |

community/collaboration.md

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,34 @@ for more details.
1111

1212
### Project updates
1313

14-
- Weekly with all teams on Thursday at 1505 CEST (45 mins)
14+
- Weekly with all teams on Thursday at 15:05 CEST (40 mins)
15+
- In some weeks we schedule an additional lightning talk at 15:40 CEST
1516

1617
### Sprint review/Backlog refinement/Sprint planning meetings
1718

18-
- Weekly with Team IaaS on Wednesdays at 1005 CEST (1 hour)
19-
- Weekly with Team Container on Mondays at 1005 CEST (1 hour)
20-
- Weekly with Team OPS & IAM on Thursdays at 1005 CEST (1 hour)
21-
22-
### Special interest groups (SIGs)
23-
24-
- Identity & Access Management (IAM): Bi-Weekly on Friday at 1005 CEST (1 hour)
25-
- Monitoring & Logging: Weekly on Friday at 1205 CEST (1 hour)
19+
- Weekly Team meetings (~1hr) for currently 4 teams:
20+
- Team IaaS
21+
- Team Container
22+
- Team IAM & Security
23+
- Team Operations
24+
- Please refer to the public calendar (on the previous page) for details.
25+
26+
### Special interest groups (SIGs) and hacking sessions
27+
28+
- There are a number of SIG meetings and hacking sessions that meet weekly or bi-weekly
29+
- Identity & Access Management (IAM) hacking session
30+
- Monitoring and Logging
31+
- SIG Standardization and Certification
32+
- SIG Documentation
33+
- SIG Community
34+
- SIG Central API
35+
- ...
36+
- Please refer to the Calendar (on the previous page) for details.
2637

2738
## Videoconference
2839

2940
We use a self-hosted [Jitsi Meet](https://jitsi.org) instance for video conferencing.
41+
Thanks go to Cleura for providing the server for it.
3042

3143
The server uses an automated deployment based on the
3244
[heat-docker-jitsi-meet](https://github.com/garloff/heat-docker-jitsi-meet) project.
@@ -35,6 +47,9 @@ Configuration is such everyone who knows the room can connect, unless the modera
3547
sets a password/PIN. Opening a new room requires authentication. (Contact Kurt if
3648
you need a password.)
3749

50+
Links to the meeting room (as well as dial-in information) are in the appointments
51+
in the public calendar.
52+
3853
### Usage
3954

4055
Connect with a desktop browser (Chrome/Chromium or other blink based browser
@@ -52,17 +67,19 @@ for folks that lack internet connectivity (but have a working phone connection).
5267
## Nextcloud
5368

5469
We have a [Nextcloud](https://nextcloud.com)
55-
[instance](https://scs.sovereignit.de) for sharing files, calendar, contacts, ...
70+
[instance](https://scs.sovereignit.de) for sharing files, doing polls, ...
5671
setup for things that are not public.
5772

58-
We are also using it for our taskboards currently, though we are looking at
59-
options to do this in the open.
60-
61-
If you want to contribute, we'll do an onboarding call and add you to nextcloud.
62-
This will also add you to the `[email protected]` mailing list.
73+
You can contribute to SCS via the github workflows, asking questions there (via
74+
opening issues against the issues repository), submitting pull requests, ...
75+
If you want to contribute on a regular basis, we are happy to also onboard you
76+
to the nextcloud and do an onboarding call. Nextcloud onboarding also adds you
77+
to the `[email protected]` mailing list which also add you to the
78+
announcement list (described in the next paragraph).
6379

6480
We have an announcements mailing list there `[email protected]` and you
6581
can subscribe via the [mailman3 frontend](https://scs.sovereignit.de/mailman3/postorius/lists/)
82+
also without the SCS nextcloud account if you prefer.
6683

6784
## Zuul CI/CD pipelines and project gating
6885

docs/05-iam/index.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Introduction on Identity Management and Federation in SCS
2+
3+
Sovereign Cloud Stack wants to make it possible for operators to delegate
4+
administration of user identities to the organizational entities that the
5+
users are part of. Usually that's customer organizations but it could also
6+
be the operator itself. Federation protocols like OpenID Connect can be used
7+
to achieve that goal. To simplify connecting the different parts of SCS
8+
to customer owned IAM solutions, the SCS reference implementation offers
9+
Keycloak as central Identity Provider (IdP) service.
10+
11+
## Deployment
12+
13+
Keycloak can be deployed by running
14+
15+
```
16+
osism apply keycloak
17+
```
18+
19+
The required Keycloak client configuration that allows Keystone to obtain
20+
OIDC token from Keycloak needs to be deployed by running
21+
22+
```
23+
osism apply keycloak-oidc-client-config
24+
```
25+
26+
After these steps Keystone should be able to obtain token using the
27+
Device Authorization Grant with PKCE, which is configured by default in the
28+
`wsgi-keystone.conf` deployed in SCS.
29+
30+
## Accessing Keycloak
31+
32+
Currently deployed on the manager node, by default under `https://keycloak.<yourdomain>`.
33+
Details TODO.
34+
35+
## Identity Mapping
36+
37+
The idea is that customer can create groups with specific names in their own IAM.
38+
These shall be mapped to a claim `groups` to be included in the OIDC token.
39+
Via the Keystone [mapping](https://docs.openstack.org/keystone/latest/admin/federation/mapping_combinations.html)
40+
they shall be mapped to roles on OpenStack projects.
41+
[The corresponding section for Developers](https://docs.scs.community/dev-docs/operations/iam/identity-federation-in-scs) may be interesting for more technical details.
42+
Please be aware that currently there are still some technical challenges to be solved
43+
within the OpenStack Keystone mapping engine and the mapping rules to make this work
44+
seamlessly.
45+
46+
## SCS to SCS federation
47+
48+
Federation between separate deployments of SCS is possible via the IdP by
49+
means of OpenID Connect.
50+
The section on [inter SCS federation setup](https://docs.scs.community/docs/iam/intra-SCS-federation-setup-description-for-osism-doc-operations) explains the required steps in some detail.
51+
52+
### Prerequisites and Requirements
53+
54+
- Knowledge: Familiarity with Keycloak, OIDC federation, and basic SSL and web security principles is pivotal.
55+
- Software: The core software component is the OpenID-Connect identity provider, configured to function optimally with OpenStack environments. While the SCS reference implementation focusses on Keycloak as IdP, with appropriate configuration adjustments any OAuth 2.0 compliant IdP should be suitable as an alternative. Each implemntation may have its own pros and cons.
56+
57+
### Features
58+
59+
- Horizon Web SSO
60+
- OpenStack CLI use via the Device Authorization Grant
61+
62+
### Limitations
63+
64+
- Keystone currently still has limitations in its mapping engine, which are addressed by the SCS development team as we
65+
see possibilities and alignement with upstream OpenDev development plans. Automatically creating `ephemeral` users in
66+
their specific OpenStack domains, as specified in their OIDC token is one example, currently beeing worked on. Please
67+
check carefully if the technical results meet the security demands of your specific environment.
68+
69+
### Current state and future Outlook
70+
71+
Currently SCS exemplifies deploying Keycloak on the management plane. This shall be moved to a Kubernetes based
72+
management plane to improve scalability and architecture.
73+
74+
In the near future, the Container layer shall be able to make use of the IdP to allow federated users to access Kubernetes.
75+
In the mid term, workloads on Kubernetes shall be able to make use of OAuth tokens to access resources on the IaaS layer.

sidebarsDocs.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,8 @@ const sidebarsDocs = {
190190
type: 'category',
191191
label: 'Identity and Access Management (IAM)',
192192
link: {
193-
type: 'generated-index'
193+
type: 'doc',
194+
id: 'iam/index'
194195
},
195196
items: [
196197
'iam/intra-SCS-federation-setup-description-for-osism-doc-operations'

src/pages/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ export default function Home(): JSX.Element {
142142
title="IAM Layer"
143143
body="Working on Keycloak federated identity provider within our Team IAM."
144144
buttonText="Learn More"
145-
url="/docs/category/identity-and-access-management-iam"
145+
url="/docs/iam"
146146
/>
147147
</div>
148148
</div>

standards/certification/certified-clouds.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ This is a list of clouds that we test on a nightly basis against our `scs-compat
77
| [gx-scs](https://github.com/SovereignCloudStack/docs/blob/main/community/cloud-resources/plusserver-gx-scs.md) | Dev environment provided for SCS & GAIA-X context | plusserver GmbH | ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-gx-scs-v1.yml?label=compliant) | [HM](https://health.gx-scs.sovereignit.cloud:3000/) |
88
| [pluscloud open - prod1](https://www.plusserver.com/en/products/pluscloud-open) | Public cloud for customers | plusserver GmbH | ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-pco-prod1-v1.yml?label=compliant) | [HM](https://health.prod1.plusserver.sovereignit.cloud:3000) |
99
| [pluscloud open - prod2](https://www.plusserver.com/en/products/pluscloud-open) | Public cloud for customers | plusserver GmbH | ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-pco-prod2-v1.yml?label=compliant) | [HM](https://health.prod1.plusserver.sovereignit.cloud:3000) |
10+
| [pluscloud open - prod3](https://www.plusserver.com/en/products/pluscloud-open) | Public cloud for customers | plusserver GmbH | ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-pco-prod3-v2.yml?label=compliant) | [HM](https://health.prod1.plusserver.sovereignit.cloud:3000) |
1011
| [Wavestack](https://www.noris.de/wavestack-cloud/) | Public cloud for customers | noris network AG/Wavecon GmbH | ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-wavestack-v3.yml?label=compliant) | [HM](https://health.wavestack1.sovereignit.cloud:3000/) |
1112
| [REGIO.cloud](https://regio.digital) | Public cloud for customers | OSISM GmbH | ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-regio-a-v3.yml?label=compliant) | [Dashboard](https://apimon.services.regio.digital/public-dashboards/17cf094a47404398a5b8e35a4a3968d4?orgId=1&refresh=5m) |
1213

0 commit comments

Comments
 (0)