Skip to content

Commit 55a6170

Browse files
authored
Merge pull request #33849 from github/repo-sync
Repo sync
2 parents e5ac050 + 1ac9c5e commit 55a6170

File tree

10 files changed

+167
-124
lines changed

10 files changed

+167
-124
lines changed

content/actions/security-guides/enforcing-artifact-attestations-with-a-kubernetes-admission-controller.md

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ We have packaged the Sigstore Policy Controller as a [GitHub distributed Helm ch
4242
First, install the Helm chart that deploys the Sigstore Policy Controller:
4343

4444
```bash copy
45-
helm install policy-controller --atomic \
45+
helm upgrade policy-controller --install --atomic \
4646
--create-namespace --namespace artifact-attestations \
4747
oci://ghcr.io/github/artifact-attestations-helm-charts/policy-controller \
48-
--version v0.9.0-github3
48+
--version v0.9.0-github4
4949
```
5050

5151
This installs the Policy Controller into the `artifact-attestations` namespace. At this point, no policies have been configured, and it will not enforce any attestations.
@@ -55,10 +55,10 @@ This installs the Policy Controller into the `artifact-attestations` namespace.
5555
Once the policy controller has been deployed, you need to add the GitHub `TrustRoot` and a `ClusterImagePolicy` to your cluster. Use the Helm chart we provide to do this. Make sure to replace `MY-ORGANIZATION` with your GitHub organization's name (e.g., `github` or `octocat-inc`).
5656

5757
```bash copy
58-
helm install trust-policies --atomic \
58+
helm upgrade trust-policies --install --atomic \
5959
--namespace artifact-attestations \
6060
oci://ghcr.io/github/artifact-attestations-helm-charts/trust-policies \
61-
--version v0.4.0 \
61+
--version v0.5.0 \
6262
--set policy.enabled=true \
6363
--set policy.organization=MY-ORGANIZATION
6464
```
@@ -86,19 +86,40 @@ Alternatively, you may run:
8686
kubectl label namespace MY-NAMESPACE policy.sigstore.dev/include=true
8787
```
8888

89+
### Matching images
90+
91+
By default, the policy installed with the `trust-policies` Helm chart will verify attestations for all images before admitting them into the cluster. If you only intend to enforce attestations for a subset of images, you can use the Helm values `policy.images` and `policy.exemptImages` to specify a list of images to match against. These values can be set to a list of glob patterns that match the image names. The globbing syntax uses Go [filepath](https://pkg.go.dev/path/filepath#Match) semantics, with the addition of `**` to match any character sequence, including slashes.
92+
93+
For example, to enforce attestations for images that match the pattern `ghcr.io/MY-ORGANIZATION/*` and admit `busybox` without a valid attestation, you can run:
94+
95+
```bash copy
96+
helm upgrade trust-policies --install --atomic \
97+
--namespace artifact-attestations \
98+
oci://ghcr.io/github/artifact-attestations-helm-charts/trust-policies \
99+
--version v0.5.0 \
100+
--set policy.enabled=true \
101+
--set policy.organization=MY-ORGANIZATION \
102+
--set-json 'policy.exemptImages=["index.docker.io/library/busybox**"]' \
103+
--set-json 'policy.images=["ghcr.io/MY-ORGANIZATION/**"]'
104+
```
105+
106+
Note that to match `busybox`, we need to provide the fully-qualified image name with double-star glob: `index.docker.io/library/busybox**`.
107+
108+
Also note that any image you intend to admit _must_ have a matching glob pattern in the `policy.images` list. If an image does not match any pattern, it will be rejected.
109+
89110
### Advanced usage
90111

91112
To see the full set of options you may configure with the Helm chart, you can run either of the following commands.
92113
For policy controller options:
93114

94115
```bash copy
95-
helm show values oci://ghcr.io/github/artifact-attestations-helm-charts/policy-controller --version v0.9.0-github3
116+
helm show values oci://ghcr.io/github/artifact-attestations-helm-charts/policy-controller --version v0.9.0-github4
96117
```
97118

98119
For trust policy options:
99120

100121
```bash copy
101-
helm show values oci://ghcr.io/github/artifact-attestations-helm-charts/trust-policies --version v0.4.0
122+
helm show values oci://ghcr.io/github/artifact-attestations-helm-charts/trust-policies --version v0.5.0
102123
```
103124

104125
For more information on the Sigstore Policy Controller, see the [Sigstore Policy Controller documentation](https://docs.sigstore.dev/policy-controller/overview/).

content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/enabling-guest-collaborators.md

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Enabling guest collaborators
3-
intro: "You can use the role of guest collaborator to grant limited access to vendors and contractors in your enterprise."
3+
intro: "Learn how to enable guest collaborators in your identity provider and add guest collaborators to your enterprise."
44
versions:
55
feature: guest-collaborators
66
topics:
@@ -13,18 +13,21 @@ topics:
1313

1414
{% data reusables.emus.about-guest-collaborators %}
1515

16-
All repository access for organization members, including guest collaborators, is governed by the base permission policy for the organization. See "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/setting-base-permissions-for-an-organization)."
16+
## Enabling guest collaborators in your IdP
1717

18-
If you use Microsoft Entra ID (previously known as Azure AD) or Okta for SAML authentication, or if you use Entra ID for OIDC authentication, you may need to update your IdP application to use guest collaborators.
18+
If you use **Microsoft Entra ID** (previously known as Azure AD) or **Okta** for authentication, you may need update the {% data variables.product.prodname_emus %} application in your IdP.
1919

20-
## Enabling guest collaborators with Entra ID
20+
* "[Enabling guest collaborators with Entra ID](#enabling-guest-collaborators-with-entra-id)"
21+
* "[Enabling guest collaborators with Okta](#enabling-guest-collaborators-with-okta)"
22+
23+
### Enabling guest collaborators with Entra ID
2124

2225
1. Sign into the Microsoft Azure portal.
2326
1. Click **Identity**.
2427
1. Click **Applications**.
2528
1. Click **Enterprise applications**.
2629
1. Click **All applications**.
27-
1. View the details for your {% data variables.product.prodname_emus %} application
30+
1. View the details for your {% data variables.product.prodname_emus %} application.
2831
1. In the left sidebar, click **Users and Groups**.
2932
1. View the application registration.
3033

@@ -63,7 +66,7 @@ If you use Microsoft Entra ID (previously known as Azure AD) or Okta for SAML au
6366
{% endnote %}
6467
1. Click **Save**.
6568

66-
## Enabling guest collaborators with Okta
69+
### Enabling guest collaborators with Okta
6770

6871
To add the guest collaborator role to your Okta application:
6972

@@ -77,25 +80,35 @@ To add the guest collaborator role to your Okta application:
7780
* For "Value", type `guest_collaborator`.
7881
1. Click **Save**.
7982

80-
## Enabling guest collaborators with PingFederate
83+
## Adding guest collaborators to your enterprise
8184

82-
For more information about adding guest collaborators using PingFederate, see "[Configure PingFederate for provisioning and SSO](https://docs.pingidentity.com/r/en-us/pingfederate-github-emu-connector/pingfederate_github_connector_configure_pingfederate_for_provisioning_and_sso)."
85+
When guest collaborators are enabled in your IdP, you can use SCIM to provision users with the `guest_collaborator` role.
8386

84-
## Enabling guest collaborators with the GitHub REST API
87+
* If you use a partner IdP, use the "Roles" attribute in the {% data variables.product.prodname_emus %} application.
88+
* If you use the SCIM endpoints of {% data variables.product.company_short %}'s REST API to provision users, use the `roles` user attribute.
8589

86-
For more information about adding guest collaborators with SCIM using GitHub's REST API, see "[AUTOTITLE](/admin/identity-and-access-management/provisioning-user-accounts-for-enterprise-managed-users/provisioning-users-with-scim-using-the-rest-api#user-and-group-attributes)."
90+
For more information about partner IdPs and other identity management systems, see "[AUTOTITLE](/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users#identity-management-systems)."
8791

88-
## Adding guest collaborators to your enterprise
92+
## Giving guest collaborators access to resources
93+
94+
When you have added a guest collaborator to your enterprise, you can add the user to specific organizations or repositories.
95+
96+
### Add the user to an organization
97+
98+
To give the user access to repositories in an organization, add the user as a **member of the organization**.
8999

90-
After you enable guest collaborators, you can add guest collaborators to your enterprise as you would any other user. For more information, see "[AUTOTITLE](/admin/identity-and-access-management/provisioning-user-accounts-for-enterprise-managed-users/configuring-scim-provisioning-for-enterprise-managed-users#assigning-users-and-groups)."
100+
* As for all members, the base permission policy for the organization determines whether the user has access to internal and private repositories by default. See "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/setting-base-permissions-for-an-organization)."
101+
* Guest collaborators can be members of IdP groups that are connected to {% data variables.product.prodname_dotcom %} teams, and will be added to the organization via SCIM, just like other enterprise members. See "[AUTOTITLE](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/managing-team-memberships-with-identity-provider-groups)."
91102

92-
When you have added a guest collaborator to your enterprise, to give the user access to repositories in the enterprise, you can do either of the following things.
103+
### Add the user to a repository
93104

94-
* To give the user access to repositories in an organization, add the user as a **member of the organization**.
105+
To give the user access to specific repositories, add the user to the repositories as a **repository collaborator**.
95106

96-
The base permission policy for the organization determines whether the guest collaborator has access to internal and private repositories. If the base permission is set to "No permission", the guest collaborator will not have access to internal and private repositories unless added directly to one of the repositories as a collaborator, or through an authorized team. For more information, see "[AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/setting-base-permissions-for-an-organization)."
97-
* To give the user access to specific repositories, add the guest collaborator to the repositories as a **repository collaborator**.
107+
This gives the user access to the repository without giving them access to other internal or private repositories in the same organization. For more information, see "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#outside-collaborators-or-repository-collaborators)."
98108

99-
This gives the user access to the repository without giving them access to other internal or private repositories in the same organization. For more information, see "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#outside-collaborators-or-repository-collaborators)."
109+
## Further reading
100110

101-
Guest collaborators can be members of IdP groups that are connected to {% data variables.product.prodname_dotcom %} teams, and will be added to the organization via SCIM, just like other enterprise members. For more information, see "[AUTOTITLE](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/managing-team-memberships-with-identity-provider-groups)."
111+
* [Tutorial: Configure GitHub Enterprise Managed User for automatic user provisioning](https://learn.microsoft.com/en-us/entra/identity/saas-apps/github-enterprise-managed-user-provisioning-tutorial) in the Entra ID documentation
112+
* [Configure PingFederate for provisioning and SSO](https://docs.pingidentity.com/r/en-us/pingfederate-github-emu-connector/pingfederate_github_connector_configure_pingfederate_for_provisioning_and_sso) in the PingIdentity documentation
113+
* "[AUTOTITLE](/admin/managing-iam/provisioning-user-accounts-for-enterprise-managed-users/configuring-scim-provisioning-with-okta)"
114+
* "[AUTOTITLE](/admin/identity-and-access-management/provisioning-user-accounts-for-enterprise-managed-users/provisioning-users-with-scim-using-the-rest-api)"

0 commit comments

Comments
 (0)