Identity and Access Management

Come usare CDK senza usare CDKToolkit

Usiamo CDK per costruire infrastrutture nell'ambiente AWS del cliente.Tuttavia,è vietato creare risorse IAM nell'ambiente AWS del cliente.

Pertanto,CDKToolkit non può essere distribuito perché CDKToolkit in CDK v2 contiene risorse IAM.

C'è un modo per usare CDK senza CDKToolkit o nello stack senza includere IAM in CDKToolkit?

Probabilmente la cosa migliore da fare è fornire ai vostri clienti un modello di CloudFormation che possono usare per avviare l'account per voi.Il seguente comando genererà un modello di bootstrap CDK (nota:è una buona idea aggiungere un qualificatore al toolkit in modo da non entrare in conflitto con altri toolkit nello stesso account)

cdk bootstrap --qualifier acme-corp --show-template > bootstrap-template.yaml

Ci sono 4 ruoli richiesti (deployment,file asset,image asset e cloudformation exec).CDK cercherà questi ruoli in base ai loro nomi.Qualunque sia il principale con cui si autentica l'account del cliente deve avere accesso per assumere il ruolo di distribuzione.

Si noti che il ruolo cloudformation exec ha un accesso eccessivo per impostazione predefinita.

Ma , se vuoi davvero un modo per aggirare questo, cercherei di creare un sintetizzatore personalizzato. Non l'ho mai fatto prima, ma penso che potresti impostare tutti e 4 i ruoli in modo che siano lo stesso principale a cui hai già accesso: https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html#bootstrapping - sintetizzatore personalizzato




Ciao, grazie per la tua domanda. Quello che potresti fare è personalizzare i modelli che stai distribuendo usando il CDK. Ad esempio, fare riferimento alla guida al bootstrap: https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html È possibile ottenere bootstrap-template.yaml utilizzando questo comando:

cdk bootstrap --show-template > bootstrap-template.yaml

È quindi possibile modificare il file bootstrap-template.yaml in base alle proprie esigenze e distribuirlo autonomamente. Se scegli di creare tu stesso quei ruoli, puoi farvi riferimento nel modello CloudFormation.