зеркало из
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.
Перейти к файлу
Anish Ramasekar 83310b4585
release: update manifests for v0.2.0 (#72)
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2021-06-25 11:03:19 -07:00
.pipelines test: verify deployment YAML with kind cluster (#70) 2021-06-18 17:03:27 +00:00
cmd feat: make audience configurable (#35) 2021-05-18 11:45:07 -07:00
config release: update manifests for v0.2.0 (#72) 2021-06-25 11:03:19 -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 release: update manifests for v0.2.0 (#72) 2021-06-25 11:03:19 -07: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/deploy release: update manifests for v0.2.0 (#72) 2021-06-25 11:03:19 -07:00
pkg chore: set api://AzureADTokenExchange as default audience (#69) 2021-06-18 16:40:54 +00:00
scripts test: verify deployment YAML with kind cluster (#70) 2021-06-18 17:03:27 +00:00
test chore: set api://AzureADTokenExchange as default audience (#69) 2021-06-18 16:40:54 +00:00
.gitignore feat: add example with msal net and keyvault (#52) 2021-06-04 09:18:47 -07:00
.golangci.yml ci: enable linting and fix issues (#23) 2021-05-10 16:21:01 -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 release: update manifests for v0.2.0 (#72) 2021-06-25 11:03:19 -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 chore: set api://AzureADTokenExchange as default audience (#69) 2021-06-18 16:40:54 +00:00
go.sum chore: set api://AzureADTokenExchange as default audience (#69) 2021-06-18 16:40:54 +00: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.