зеркало из
1
0
Форкнуть 0
Azure AD Workload Identity uses Kubernetes primitives to associate managed identities for Azure resources and identities in Azure Active Directory (AAD) with pods.
Перейти к файлу
Sertaç Özercan de2c864e04
replace deprecated linters (#88)
2021-07-08 12:34:20 -07:00
.pipelines test: fix job dependencies in nightly test pipeline (#81) 2021-07-06 15:00:23 -07:00
cmd feat: make audience configurable (#35) 2021-05-18 11:45:07 -07:00
config generate helm from manifest (#66) 2021-07-07 19:37:42 -07:00
deploy release: update manifests for v0.2.0 (#72) 2021-06-25 11:03:19 -07:00
docker chore: setup image publishing pipeline & remove the use of personal registry (#30) 2021-05-13 13:06:27 -07:00
examples feat: implement custom authorizer for msal-go example (#74) 2021-06-29 15:24:47 +00:00
hack chore: ensure availability after installing cert-manager (#64) 2021-06-14 11:40:48 -07:00
init feat: implement proxy and init iptables (#12) 2021-04-30 14:51:28 -07:00
manifest_staging generate helm from manifest (#66) 2021-07-07 19:37:42 -07:00
pkg feat: add AZURE_AUTHORITY_HOST env var (#75) 2021-06-29 08:59:38 -04:00
scripts test: fix job dependencies in nightly test pipeline (#81) 2021-07-06 15:00:23 -07:00
test feat: add AZURE_AUTHORITY_HOST env var (#75) 2021-06-29 08:59:38 -04:00
third_party/open-policy-agent/gatekeeper/helmify generate helm from manifest (#66) 2021-07-07 19:37:42 -07:00
.gitignore test: validate token exchange (#73) 2021-06-25 17:33:41 -07:00
.golangci.yml replace deprecated linters (#88) 2021-07-08 12:34:20 -07:00
CODE_OF_CONDUCT.md Initial CODE_OF_CONDUCT.md commit 2021-04-26 06:52:07 -07:00
LICENSE Initial LICENSE commit 2021-04-26 06:52:09 -07:00
Makefile replace deprecated linters (#88) 2021-07-08 12:34:20 -07:00
PROJECT feat: implement mutating webhook (#15) 2021-05-04 12:30:57 -07:00
README.md docs: add installation steps for webhook (#48) 2021-05-28 17:16:20 +00:00
SECURITY.md Initial SECURITY.md commit 2021-04-26 06:52:10 -07:00
SUPPORT.md Initial SUPPORT.md commit 2021-04-26 06:52:11 -07:00
go.mod feat: add AZURE_AUTHORITY_HOST env var (#75) 2021-06-29 08:59:38 -04:00
go.sum generate helm from manifest (#66) 2021-07-07 19:37:42 -07:00

README.md

AAD Pod Managed Identity

AAD Pod Managed Identity enables Kubernetes applications to access cloud resources securely with Azure Active Directory based on annotated service accounts.

Overview

This repo contains the following:

  1. Mutating Webhook
    1. The webhook is for mutating pods that reference an annotated service account. The webhook will inject the environment variables and the projected service account token volume.
  2. Proxy init and sidecar container
    1. The init and sidecar container will be used for applications that are still using the older versions of the library.

Installation

Install Webhook

  1. Install cert-manager

    cert-manager is used for provisioning the certificates for the webhook server. Cert manager also has a component called CA injector, which is responsible for injecting the CA bundle into the MutatingWebhookConfiguration.

    kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.2.0/cert-manager.yaml
    
  2. Deploy the webhook

    Replace the tenant ID and environment name in here before executing

    kubectl apply -f deploy/aad-pi-webhook.yaml
    
  3. Validate the webhook has been installed and is running

    kubectl get all -n aad-pi-webhook-system
    NAME                                                     READY   STATUS    RESTARTS   AGE
    pod/aad-pi-webhook-controller-manager-5fc5559ddd-rgj46   1/1     Running   0          8d
    
    NAME                                                        TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)    AGE
    service/aad-pi-webhook-controller-manager-metrics-service   ClusterIP   10.0.123.94   <none>        8443/TCP   8d
    service/aad-pi-webhook-webhook-service                      ClusterIP   10.0.2.106    <none>        443/TCP    8d
    
    NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/aad-pi-webhook-controller-manager   1/1     1            1           8d
    
    NAME                                                           DESIRED   CURRENT   READY   AGE
    replicaset.apps/aad-pi-webhook-controller-manager-5fc5559ddd   1         1         1       8d
    

Uninstall

Uninstall Webhook

  1. Delete webhook

    kubectl delete -f deploy/aad-pi-webhook.yaml
    
  2. Delete cert-manager

    If you installed cert-manager for use with the aad-pod-managed-identity webhook, then delete the cert-manager components

    kubectl delete -f https://github.com/jetstack/cert-manager/releases/download/v1.2.0/cert-manager.yaml
    

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.