|
A partir de hoy, puede usar sus propias claves del Servicio de Gestión de Clave AWS (AWS KMS) para cifrar datos de identidad, como los atributos de usuario y grupo, almacenados en instancias de organización de AWS IAM Identity Center.
Muchas organizaciones que operan en industrias reguladas necesitan un control completo sobre la gestión de clave de cifrado. Si bien Identity Center ya cifra los datos en reposo utilizando claves propiedad de AWS, algunos clientes requieren la capacidad de administrar sus propias claves de cifrado para fines de auditoría y cumplimiento.
Con este lanzamiento, ahora puede usar las claves KMS administradas por el cliente (CMKS) para cifrar datos de identidad de identidad de identidad en reposo. Los CMK le proporcionan un control total sobre el ciclo de vida clave, incluida la creación, la rotación y la eliminación. Puede configurar los controles de acceso granular a las claves con políticas clave del Servicio de Gestión de Clave AWS (AWS KMS) y las políticas de IAM, lo que ayuda a garantizar que solo los directores autorizados puedan acceder a sus datos cifrados. En la hora del lanzamiento, el CMK debe residir en la misma cuenta de AWS y región que su instancia de IAM Identity Center. La integración entre Identity Center y KMS proporciona registros detallados de AWS CloudTrail para el uso de la clave de auditoría y ayuda a cumplir con los requisitos de cumplimiento reglamentario.
Identity Center admite claves de una sola región y múltiples para que coincidan con sus necesidades de implementación. Si bien las instancias de Identity Center actualmente solo se pueden implementar en una sola región, recomendamos usar claves de AWS KMS de múltiples regiones a menos que las políticas de su empresa lo restrinjan a las claves de una sola región. Las claves de múltiples regiones proporcionan un material clave consistente en todas las regiones al tiempo que mantienen una infraestructura clave independiente en cada región. Esto le brinda más flexibilidad en su estrategia de cifrado y ayuda al futuro a impedir su implementación.
Empecemos
Imaginemos que quiero usar un CMK para cifrar los datos de identidad de mi instancia de organización de centro de identidad. Mi organización utiliza el centro de identidad para dar a los empleados acceso a aplicaciones administradas de AWS, como Amazon Q Business o Amazon Athena.
A partir de hoy, algunas aplicaciones administradas de AWS no pueden usarse con el centro de identidad configurado con una tecla KMS administrada por el cliente. Consulte las aplicaciones administradas de AWS que puede usar con Identity Center para mantenerlo actualizado con la lista cada vez más evolutiva de aplicaciones compatibles.
El proceso de alto nivel requiere primero crear una clave simétrica administrada por el cliente (CMK) en AWS KMS. La clave debe estar configurada para operaciones de cifrado y descifrado. A continuación, configure las políticas clave para otorgar acceso al centro de identidad, aplicaciones administradas de AWS, administradores y otros directores que necesitan acceder al centro de identidad y a las API del servicio IAM Center de identidad. Dependiendo de su uso del centro de identidad, tendrá que definir diferentes políticas para las políticas clave y IAM para los directores de IAM. La documentación del servicio tiene más detalles para ayudarlo a cubrir los casos de uso más comunes.
Esta demostración está en tres partes. Primero creo una clave administrada por el cliente en AWS KMS y la configuro con permisos que autorizarán las aplicaciones de Identity Center y AWS administradas para usarla. En segundo lugar, actualizo las políticas de IAM para los directores que utilizarán la clave de otra cuenta de AWS, como los administradores de aplicaciones AWS. Finalmente, configure el centro de identidad para usar la clave.
Parte 1: cree la clave y defina los permisos
Primero, creemos un nuevo CMK en AWS KMS.
La clave debe estar en la misma región de AWS y cuenta de AWS que la instancia de Identity Center. Debe crear la instancia de Identity Center y la clave en la cuenta de gestión de su organización dentro de la organización AWS.
Navego a la consola del servicio de administración de claves de AWS (AWS KMS) en la misma región que mi instancia de centro de identidad, luego elijo Crea una llave. Esto me lanza al asistente de creación clave.
Bajo Paso 1 – Clave de configuraciónSelecciono el tipo de tecla, ya sea simétrico (una sola clave utilizada tanto para cifrado como para descifrado) o asimétrico (un par de claves públicas-privadas para cifrado/descifrado y firma/verificación). Identity Center requiere claves simétricas para el cifrado en reposo. Yo selecciono Simétrico.
Para el uso de la clave, selecciono Cifrar y descifrar lo que permite que la clave se use solo para cifrar y descifrar datos.
Bajo Opciones avanzadasSelecciono KMS – Recomendado para Origen del material clave, Entonces AWS KMS crea y administra el material clave.
Para RegionalidadElijo entre una sola región o clave de región múltiple. Yo selecciono Llave múltiple Para permitir que los administradores clave replicaran la clave a otras regiones. Como ya se explicó, Identity Center no requiere esto hoy, pero ayuda a a prueba de su configuración en el futuro. Recuerde que no puede transformar una clave de región única a una región múltiple después de su creación (pero puede cambiar la clave utilizada por Identity Center).
Entonces, elijo Próximo Para continuar con pasos de configuración adicionales, como agregar etiquetas, definir permisos administrativos, configurar los permisos de uso y revisar la configuración final antes de crear la clave.
Bajo Paso 2 – etiquetas de addEntro en un Alias Nombre para mi clave y seleccione Próximo.
En esta demostración, estoy editando la política clave agregando declaraciones de política utilizando plantillas proporcionadas en la documentación. Me salteo el paso 3 y el paso 4 y navegue a Paso 5 – Política clave de edición.
Identity Center requiere, como mínimo, permisos que permiten que Identity Center y sus administradores usen la clave. Por lo tanto, agrego tres declaraciones de políticas, la primera y la segunda autorizo a los administradores del servicio, el tercero en autorizar el servicio del centro de identidad en sí.
{
"Version": "2012-10-17",
"Id": "key-consolepolicy-3",
"Statement": [
{
"Sid": "Allow_IAMIdentityCenter_Admin_to_use_the_KMS_key_via_IdentityCenter_and_IdentityStore",
"Effect": "Allow",
"Principal": {
"AWS": "ARN_OF_YOUR_IDENTITY_CENTER_ADMIN_IAM_ROLE"
},
"Action": [
"kms:Decrypt",
"kms:Encrypt",
"kms:GenerateDataKeyWithoutPlaintext"
],
"Resource": "*",
"Condition": {
"StringLike": {
"kms:ViaService": [
"sso.*.amazonaws.com",
"identitystore.*.amazonaws.com"
]
}
}
},
{
"Sid": "Allow_IdentityCenter_admin_to_describe_the_KMS_key",
"Effect": "Allow",
"Principal": {
"AWS": "ARN_OF_YOUR_IDENTITY_CENTER_ADMIN_IAM_ROLE"
},
"Action": "kms:DescribeKey",
"Resource": "*"
},
{
"Sid": "Allow_IdentityCenter_and_IdentityStore_to_use_the_KMS_key",
"Effect": "Allow",
"Principal": {
"Service": [
"sso.amazonaws.com",
"identitystore.amazonaws.com"
]
},
"Action": [
"kms:Decrypt",
"kms:ReEncryptTo",
"kms:ReEncryptFrom",
"kms:GenerateDataKeyWithoutPlaintext"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:SourceAccount": ""
}
}
},
{
"Sid": "Allow_IdentityCenter_and_IdentityStore_to_describe_the_KMS_key",
"Effect": "Allow",
"Principal": {
"Service": [
"sso.amazonaws.com",
"identitystore.amazonaws.com"
]
},
"Action": [
"kms:DescribeKey"
],
"Resource": "*"
}
]
}
También tengo que agregar declaraciones de política adicionales para permitir mi caso de uso: el uso de aplicaciones administradas de AWS. Agrego estas dos declaraciones de política para autorizar las aplicaciones administradas de AWS y sus administradores para usar la clave KMS. El documento enumera casos de uso adicionales y sus respectivas políticas.
{
"Sid": "Allow_AWS_app_admins_in_the_same_AWS_organization_to_use_the_KMS_key",
"Effect": "Allow",
"Principal": "*",
"Action": [
"kms:Decrypt"
],
"Resource": "*",
"Condition": {
"StringEquals" : {
"aws:PrincipalOrgID": "MY_ORG_ID (format: o-xxxxxxxx)"
},
"StringLike": {
"kms:ViaService": [
"sso.*.amazonaws.com", "identitystore.*.amazonaws.com"
]
}
}
},
{
"Sid": "Allow_managed_apps_to_use_the_KMS_Key",
"Effect": "Allow",
"Principal": "*",
"Action": [
"kms:Decrypt"
],
"Resource": "*",
"Condition": {
"Bool": { "aws:PrincipalIsAWSService": "true" },
"StringLike": {
"kms:ViaService": [
"sso.*.amazonaws.com", "identitystore.*.amazonaws.com"
]
},
"StringEquals": { "aws:SourceOrgID": "MY_ORG_ID (format: o-xxxxxxxx)" }
}
}
Puede restringir aún más el uso de la clave a una instancia de centro de identidad específica, instancias de aplicación específicas o administradores de aplicaciones específicos. La documentación contiene ejemplos de políticas clave avanzadas para sus casos de uso.
Para ayudar a proteger contra los cambios de nombre de rol de IAM cuando se recrean conjuntos de permisos, use el enfoque descrito en el ejemplo de la política de confianza personalizada.
Parte 2: Actualizar políticas de IAM para permitir el uso de la clave KMS desde otra cuenta de AWS
Cualquier director de IAM que utilice las API de servicio de Identity Center de otra cuenta de AWS, como administradores delegados de Identity Center y administradores de aplicaciones de AWS, necesitan una declaración de política IAM que permita el uso de la clave KMS a través de estas API.
Otorgo permisos para acceder a la clave creando una nueva política y adjuntando la política al papel de IAM relevante para mi caso de uso. También puede agregar estas declaraciones a las políticas existentes basadas en la identidad del rol de IAM.
Para hacerlo, después de que se crea la llave, localizo su ARN y reemplazo el key_ARN
en la plantilla a continuación. Luego, adjunto la política al administrador de la aplicación administrada IAM Principal. La documentación también cubre las políticas de IAM que otorgan permisos de administradores delegados del Centro de identidad para acceder a la clave.
Aquí hay un ejemplo para los administradores de aplicaciones administradas:
{
"Sid": "Allow_app_admins_to_use_the_KMS_key_via_IdentityCenter_and_IdentityStore",
"Effect": "Allow",
"Action":
"kms:Decrypt",
"Resource": "",
"Condition": {
"StringLike": {
"kms:ViaService": [
"sso.*.amazonaws.com",
"identitystore.*.amazonaws.com"
]
}
}
}
La documentación comparte la plantilla de políticas de IAM para los casos de uso más comunes.
Parte 3: Configurar el Centro de identidad de IAM para usar la clave
Puedo configurar un CMK, ya sea durante la habilitación de una instancia de organización del centro de identidad o en una instancia existente, y puedo cambiar la configuración de cifrado en cualquier momento cambiando entre CMKS o volviendo a claves propiedad de AWS.
Tenga en cuenta que una configuración incorrecta de los permisos de clave KMS puede interrumpir las operaciones del centro de identidad y el acceso a aplicaciones y cuentas administradas por AWS a través de Identity Center. Proceda cuidadosamente a este paso final y asegúrese de haber leído y entendido la documentación.
Después de haber creado y configurado mi CMK, puedo seleccionarlo en Configuración avanzada Al habilitar el centro de identidad.
Para configurar un CMK en una instancia del centro de identidad existente utilizando la consola de administración de AWS, comienzo navegando a la sección Centro de identidad de la consola de administración de AWS. Desde allí, selecciono Ajustes del panel de navegación, luego selecciono el Gestión pestaña y seleccionar Gestionar el cifrado en el Clave para cifrar datos del centro de identidad IAM en reposo sección.
En cualquier momento, puedo seleccionar otro CMK de la misma cuenta de AWS, o volver a una clave administrada por AWS.
Después de elegir Ahorrarel proceso de cambio clave tarda unos segundos en completarse. Todas las funcionalidades del servicio continúan ininterrumpidas durante la transición. Si, por cualquier razón, Identity Center no puede acceder a la nueva clave, se devolverá un mensaje de error y Identity Center continuará utilizando la clave actual, manteniendo sus datos de identidad encriptados con el mecanismo que ya está encriptado.
Cosas a tener en cuenta
La clave de cifrado que crea se convierte en un componente crucial de su centro de identidad. Cuando elige usar su propia clave administrada para cifrar los atributos de identidad en reposo, debe verificar los siguientes puntos.
- ¿Ha configurado los permisos necesarios para usar la tecla KMS? Sin permisos adecuados, habilitar el CMK puede fallar o interrumpir la administración del Centro de identidad de IAM y aplicaciones administradas de AWS.
- ¿Ha verificado que sus aplicaciones administradas de AWS son compatibles con las teclas CMK? Para obtener una lista de aplicaciones compatibles, consulte AWS Aplicaciones administradas que puede usar con IAM Identity Center. Habilitar CMK para el centro de identidad que utiliza las aplicaciones administradas de AWS incompatibles con CMK dará como resultado una interrupción operativa para esas aplicaciones. Si tiene solicitudes incompatibles, no proceda.
- ¿Su organización utiliza aplicaciones administradas de AWS que requieren una configuración de rol de IAM adicional para utilizar el centro de identidad y las API de la tienda de identidad? Para cada aplicación administrada de AWS que ya está implementada, consulte la Guía del usuario de la aplicación administrada para obtener permisos de clave KMS actualizados para el uso del Centro de identidad IAM y actualice como se les indica que evitar la interrupción de la aplicación.
- Para la brevedad, las declaraciones de política de la clave KMS en esta publicación omiten el contexto de cifrado, que le permite restringir el uso de la tecla KMS al centro de identidad, incluida una instancia específica. Para sus escenarios de producción, puede agregar una condición como esta para el centro de identidad:
"Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}", "kms:ViaService": "sso.*.amazonaws.com" } }
o esto para la tienda de identidad:
"Condition": { "StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}", "kms:ViaService": "identitystore.*.amazonaws.com" } }
Precios y disponibilidad
Los cargos estándar de AWS KMS se aplican para el almacenamiento clave y el uso de API. Identity Center permanece disponible sin costo adicional.
Esta capacidad ahora está disponible en todas las regiones comerciales de AWS, AWS Govcloud (EE. UU.) Y las regiones de AWS China. Para obtener más información, visite la Guía del usuario de IAM Identity Center.
Esperamos saber cómo utiliza esta nueva capacidad para cumplir con sus requisitos de seguridad y cumplimiento.