EventBridge 및 Lambda에 대한 액세스 키 프로그래밍
9968 단어 aws
유틸리티 서비스:
*나는
*람다
*이벤트브릿지
Para comenzar vamos a crear algunos usuarios de prueba utilizando la CLI. Vamos a adicionarles un path para poder diferenciarlos y no borrar las Access Keys de los usuarios que tengamos en nuestra cuenta.
aws iam create-user \
--path "/blogtest/" \
--user-name "blogtest1"
aws iam create-access-key --user-name blogtest1
aws iam create-user \
--path "/blogtest/" \
--user-name "blogtest2"
aws iam create-access-key --user-name blogtest2
aws iam create-user \
--path "/otro/" \
--user-name "blogtest3"
aws iam create-access-key --user-name blogtest3
액세스 키를 사용하지 않으려면 액세스 키를 사용하지 않고 액세스 키를 제거해야 합니다.
Vamos a la pantalla principal de Lambda y damos click en Create function
Con nuestra función creada vamos a copiar el siguiente código y damos click en el botón Deploy:
import json
import boto3
client = boto3.client('iam')
def getUsers(path):
users =[]
for user in client.list_users(PathPrefix = path)["Users"]:
users.append(user["UserName"])
return users
def deleteAccessKeys(user):
for key in client.list_access_keys(UserName = user)["AccessKeyMetadata"]:
client.delete_access_key(UserName=user,AccessKeyId=key["AccessKeyId"])
def lambda_handler(event, context):
for user in getUsers("/blogtest/"):
deleteAccessKeys(user)
Al método getUsers le estamos enviando como parámetro/blogtest/que es el path con el cual se crearon nuestros usuarios. El path únicamente se puede definir desde la _CLI o el SDK por lo que todos los usuarios que creamos por la consola quedan con el path/. Si queremos que se borren las Access Key de todos los usuarios debemos pasar al método getUsers el valor/.
Como ya sabemos es necesario agregar los políticas necesarias al rol de la función Lambda para que se pueda ejecutar. Para este vamos a Configuration-Permissions y damos click en el nombre del rol.
Damos click en 인라인 정책 만들기
En la pestaña JSON agregamos la siguiente política y damos click en el botón 검토 정책:
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "iam:*",
"Resource": "*"
}
}
Le damos un nombre (access_keey_users) y damos click en el botón Create policy.
Hasta el momento creamos la función Lambda y le dimos permisos para eliminar las llaves de los usuarios que tengan un path especifico.
El siguiente paso es crear una regla en EventBridge para que nuestra función se ejecute cada cierto periodo de tiempo.
Vamos al buscador de servicios y colocamos EventBridge. Ya en la pantalla principal damos click en 규칙 만들기
Debemos definir el nombre de la regla y su tipo, para este caso definimos una regla de tipo Schedule (se ejecuta periódicamente)
Definimos la periodicidad con la cual queremos que se ejecute la función Lambda, para efectos de prueba, la vamos a dejar en 5 minutos.
Debemos seleccionar la función Lambda que creamos y damos click en Next.
En la sección Tags la dejamos vació y da click en Next.
구성 수정 및 수정을 클릭하여 규칙 만들기를 클릭하세요.
Después de unos minutos podemos dar click en el nombre de la regla e ir a la pestaña Monitoring para ver como ha sido su ejecución.
Los invito a comprobar que las Access Key fueron borradas ingresando a IAM-Users-Seleccionar el usuario blogtest1 e ir a la pestaña Security Credentials y modificar el código para que se borren las Access Key del usuario blogtest3
Me pueden encontrar en:
참조
IAM Path
IAM Boto3
Reference
이 문제에 관하여(EventBridge 및 Lambda에 대한 액세스 키 프로그래밍), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/cecamilo/programar-borrado-de-access-keys-con-eventbridge-y-lambda-beo
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(EventBridge 및 Lambda에 대한 액세스 키 프로그래밍), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cecamilo/programar-borrado-de-access-keys-con-eventbridge-y-lambda-beo텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)