Skip to content

Commit 0caa002

Browse files
committed
Added image & Fix links
1 parent 77c7d6c commit 0caa002

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

docs/design-doc-provider-identity-based-auth.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Crossplane provider supports a subset of the underlying Cloud provider's
1313
authentication mechanisms and this subset is currently implemented in-tree,
1414
i.e., in the Crossplane provider's repo, there exists a CRD that's
1515
conventionally named as `ProviderConfig` and each managed resource of the
16-
provider has a [v1.Reference][v1.reference] to a `ProviderConfig` CR. This
16+
provider has a [v1.Reference](https://docs.crossplane.io/v1.12/concepts/managed-resources/#providerconfigref) to a `ProviderConfig` CR. This
1717
`ProviderConfig` holds the authentication configuration (chosen authentication method,
1818
any required credentials for that method, etc.) together with any other provider
1919
specific configuration. Different authentication methods and/or different sets
@@ -22,7 +22,7 @@ CRs and by having different managed resources refer to these `ProviderConfig`
2222
instances.
2323

2424
The Crossplane provider establishes an identity for the requests it will issue
25-
to the Cloud provider in the [managed.ExternalConnecter][managed.ExternalConnecter]'s `Connect`
25+
to the Cloud provider in the [managed.ExternalConnecter](https://pkg.go.dev/github.com/crossplane/[email protected]/pkg/reconciler/managed#ExternalConnecter)'s `Connect`
2626
implementation. This involves calling the associated authentication functions from
2727
the Cloud SDK libraries (such as the [AWS SDK for Go][aws-sdk] or the [Azure
2828
SDK for Go][azure-sdk]) with the supplied configuration and credentials from the
@@ -59,7 +59,7 @@ provider credential set) in the cluster solely using RBAC. This is because:
5959
tenants in the cluster via RBAC rules, it's not possible to prevent them from
6060
_using_ those credentials solely with RBAC.
6161

62-
As discussed in detail in the [Crossplane Multi-tenancy Guide][xp-mt],
62+
As discussed in detail in the [Crossplane Multi-tenancy Guide](https://docs.crossplane.io/knowledge-base/guides/multi-tenant/),
6363
Crossplane is opinionated about the different personas in an organization adopting
6464
Crossplane. We make a distinction between the _infrastructure operators_ (or
6565
_platform builders_) who are expected to manage cluster-scoped resources (like
@@ -82,7 +82,7 @@ This distinction is currently possible with Crossplane because:
8282
credentials in the cluster and if the exposed XR API allows a `Claim` to
8383
reference cross-tenant `ProviderConfig`s, then a misbehaving tenant subject
8484
can `create` a `Claim` which references some other tenant's credential set.
85-
Thus in our multi-tenancy [guide][xp-mt], we propose a security scheme where:
85+
Thus in our multi-tenancy [guide](https://docs.crossplane.io/knowledge-base/guides/multi-tenant/), we propose a security scheme where:
8686
1. The infrastructure operator follows a specific naming convention for the
8787
`ProviderConfig`s she provisions: The `ProviderConfig`s for different
8888
tenants are named after those tenants' namespaces.
@@ -96,7 +96,7 @@ This distinction is currently possible with Crossplane because:
9696
`ProviderConfig` with the same name as the tenant's namespace).
9797
4. We also suggest that the naming conventions imposed by this scheme on
9898
`ProviderConfig`s can be relaxed to some degree by using `Composition`'s
99-
[patching capabilities][ref-compositions]. For instance, a string
99+
[patching capabilities](https://docs.crossplane.io/v1.12/concepts/composition/#compositions). For instance, a string
100100
[transform][patch-transform] of type `Format` can be used to combine the
101101
`Claim`'s namespace with an XR field's value to allow multiple
102102
`ProviderConfig`s per tenant and to allow selection of the
@@ -229,7 +229,7 @@ a single Kubernetes service account under which the provider runs.
229229
Apart from a vulnerability perspective, there are also some other limitations to
230230
this architecture, which are related to identity-based authentication.
231231

232-
**Note**: The [multi-tenancy guide][xp-mt] also mentions multi-cluster
232+
**Note**: The [multi-tenancy guide](https://docs.crossplane.io/knowledge-base/guides/multi-tenant/) also mentions multi-cluster
233233
multi-tenancy, where tenants are run on their respective Kubernetes clusters.
234234
This form of multi-tenancy is out of scope in this document.
235235

@@ -533,9 +533,9 @@ semantics.
533533
[RBAC]: https://kubernetes.io/docs/reference/access-authn-authz/rbac/
534534
[k8s-sa]:
535535
https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
536-
[xp-mt]: https://crossplane.io/docs/v1.7/guides/multi-tenant.html
536+
[xp-mt]: https://docs.crossplane.io/knowledge-base/guides/multi-tenant/
537537
[xp-2093]: https://github.com/crossplane/crossplane/pull/2093
538-
[ref-compositions]: https://crossplane.io/docs/v1.7/reference/composition.html
538+
[ref-compositions]: https://docs.crossplane.io/v1.12/concepts/composition/#compositions
539539
[patch-transform]:
540540
https://github.com/crossplane/crossplane/blob/6c1b06507db47801c7a1c7d91704783e8d13856f/apis/apiextensions/v1/composition_transforms.go#L64
541541
[kyverno]: https://kyverno.io/

docs/images/azure-wi.png

55.8 KB
Loading

0 commit comments

Comments
 (0)