AWS Notes
5.08K subscribers
237 photos
33 videos
10 files
2.44K links
AWS Notes — Amazon Web Services Educational and Information Channel

Chat: https://t.me/aws_notes_chat

Contacts: @apple_rom, https://www.linkedin.com/in/roman-siewko/
Download Telegram
AWS Secrets Manager secrets - вставляем в окружение и сохраняем на диск

Достойные "напосмотреть" утилитки для работы с секретами — одна позволяет инжектировать их в окружение:

https://github.com/sgreben/aws-secretsmanager-env

А другая — в файлы:

https://github.com/sgreben/aws-secretsmanager-files

Нет возможности работы в мульти-аккаунте - вещь свежая, наверняка допилят. Кто любит #Go - может понравиться.

#Secrets
AWS Secrets — 10KB

Раздражающее ограничение #Secrets в 4КБ, когда положить в секреты нормальный сертификат с промежуточныйми не представлялось возможным, наконец-то растянули до 10КБ:

https://aws.amazon.com/about-aws/whats-new/2019/10/aws-secrets-manager-supports-increased-secret-size-api-request-rate/

Кто хранил в них текстовые данные - также будут рады. Глядишь, пока подожмёт к свежеобъявленному пределу - растянут уже до 64КБ.

#хорошие_новости
AWS CodeBuild + Secrets Manager

В CodeBuild завезли родную поддержку секретов:

https://aws.amazon.com/about-aws/whats-new/2019/11/aws-codebuild-adds-support-for-aws-secrets-manager/

Свои секреты можно добавить в раздел env → secrets-manager файла buildspec.yml или через консоль (см. ниже картинку).

#CodeBuild #Secrets
AWS Secrets Manager + 64KB

В секреты теперь можно писать до 64КБ:

https://aws.amazon.com/about-aws/whats-new/2020/03/aws-secrets-manager-now-supports-larger-size-for-secrets-and-higher-request-rate-for-getsecretvalue-api/

Приятно, когда Амазон реагирует на чаянья простых пользователей. В общем, спасибо, мне 64КБ достаточно, больше не надо, так что все лишние резервы — срочно перекидывайте в команду CloudFormation!

#Secrets
Мультирегионная репликация AWS Secrets:

https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html

Крутое изменение, которое можно было заметить ещё в прошлом году, когда AWS Backups научился копировать шифрованные снэпшоты между регионами. Теперь же это полноценная, давно ожидаемая фича. Которая открывает (точней подсвечивает) широкую дорогу мультирегионному всему. Ждём аналогичного функционала для ключей шифрования.

В любом случае, ситуация последнего крупного-заметного падения особенно подчёркивает востребованность мультирегионных фич, которые наверняка станут важной (главной?) инфраструктурной фичей reInvent 2021.

#Secrets
Прокидываем AWS Secrets в поды с помощью ASCP (AWS Secrets & Configuration Provider):

https://aws.amazon.com/blogs/security/how-to-use-aws-secrets-configuration-provider-with-kubernetes-secrets-store-csi-driver/

С помощью ASCP можно примонтировать AWS Secrets в под:

kind: Pod
apiVersion: v1
metadata:
name: nginx-secrets-store-inline
spec:
serviceAccountName: aws-node
containers:
- image: nginx
name: nginx
volumeMounts:
- name: MySecret2
mountPath: "/mnt/secrets-store"
readOnly: true
volumes:
- name: MySecret2
csi:
driver: secrets-store.csi.k8s.io
readOnly: true
volumeAttributes:
secretProviderClass: "aws-secrets"

Они могут ротироваться, динамически изменяясь внутри подов и могут применяться в деплойментах.

AWS Secrets можно синхронизировать с куберовскими секретами, на текущий момент поддерживаются следующие типы:

opaque
kubernetes.io/basic-auth
bootstrap.kubernetes.io/token
kubernetes.io/dockerconfigjson
kubernetes.io/dockercfg
kubernetes.io/ssh-auth
kubernetes.io/service-account-token
kubernetes.io/tls

#Secrets #EKS
​​Статья про то, как автор пытался получить список удалённых секретов, однако полезна описанием работы AWS SDK:

https://alexwlchan.net/2021/07/listing-deleted-secrets/#how-the-language-specific-aws-sdks-work

How the language-specific AWS SDKs work
At time of writing, AWS has nine language-specific SDKs which have to support over 200 different services. Each SDK contains a client for each service, and the methods on those clients mirror the underlying HTTP APIs. It would be impractical to maintain those clients by hand – so they don’t.
Instead, AWS publish “service models” that describe each service. These models are JSON files that contain a complete description of the endpoints, the models, the documentation text, and so on. These models are used to autogenerate the service-specific clients in the SDKs, reducing the effort required to keep everything up-to-date. This approach has also allowed other people to write SDKs in languages that AWS don’t support, like Haskell and Clojure.

#SDK #Secrets #Python