Ejemplos de políticas basadas en identidades de Amazon Keyspaces - Amazon Keyspaces (para Apache Cassandra)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos de políticas basadas en identidades de Amazon Keyspaces

De forma predeterminada, IAM los usuarios y los roles no tienen permiso para crear o modificar los recursos de Amazon Keyspaces. Tampoco pueden realizar tareas con la consola, CQLSH AWS CLI, o AWS API. IAMEl administrador debe crear IAM políticas que concedan permiso a los usuarios y a los roles para realizar API operaciones específicas en los recursos específicos que necesitan. A continuación, el administrador debe adjuntar esas políticas a los IAM usuarios o grupos que requieran esos permisos.

Para obtener información sobre cómo crear una política IAM basada en la identidad con estos documentos de JSON política de ejemplo, consulte Creación de políticas en la JSON pestaña de la Guía del IAMusuario.

Prácticas recomendadas sobre las políticas

Las políticas basadas en identidades determinan si alguien puede crear, acceder o eliminar recursos de Amazon Keyspaces en su cuenta. Estas acciones pueden generar costos adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:

  • Comience con las políticas AWS administradas y avance hacia los permisos con privilegios mínimos: para empezar a conceder permisos a sus usuarios y cargas de trabajo, utilice las políticas AWS administradas que otorgan permisos para muchos casos de uso comunes. Están disponibles en su. Cuenta de AWS Le recomendamos que reduzca aún más los permisos definiendo políticas administradas por el AWS cliente que sean específicas para sus casos de uso. Para obtener más información, consulte las políticas AWS gestionadas o las políticas AWS gestionadas para las funciones laborales en la Guía del IAM usuario.

  • Aplique permisos con privilegios mínimos: cuando establezca permisos con IAM políticas, conceda solo los permisos necesarios para realizar una tarea. Para ello, debe definir las acciones que se pueden llevar a cabo en determinados recursos en condiciones específicas, también conocidos como permisos de privilegios mínimos. Para obtener más información sobre cómo IAM aplicar permisos, consulte Políticas y permisos IAM en la IAM Guía del usuario.

  • Utilice las condiciones en IAM las políticas para restringir aún más el acceso: puede añadir una condición a sus políticas para limitar el acceso a las acciones y los recursos. Por ejemplo, puede escribir una condición de política para especificar que todas las solicitudes deben enviarse medianteSSL. También puedes usar condiciones para conceder el acceso a las acciones del servicio si se utilizan a través de una acción específica servicio de AWS, por ejemplo AWS CloudFormation. Para obtener más información, consulte los elementos IAM JSON de la política: Condición en la Guía del IAM usuario.

  • Utilice IAM Access Analyzer para validar sus IAM políticas y garantizar permisos seguros y funcionales: IAM Access Analyzer valida las políticas nuevas y existentes para que se ajusten al lenguaje de las políticas (JSON) y IAM a las IAM mejores prácticas. IAMAccess Analyzer proporciona más de 100 comprobaciones de políticas y recomendaciones prácticas para ayudarle a crear políticas seguras y funcionales. Para obtener más información, consulte la validación de políticas de IAM Access Analyzer en la Guía del IAM usuario.

  • Requerir autenticación multifactorial (MFA): si se encuentra en una situación en la que se requieren IAM usuarios o un usuario raíz Cuenta de AWS, actívela MFA para aumentar la seguridad. Para solicitarlo MFA cuando se convoque a API las operaciones, añada MFA condiciones a sus políticas. Para obtener más información, consulte Configuración del API acceso MFA protegido en la Guía del IAM usuario.

Para obtener más información sobre las prácticas recomendadasIAM, consulte las prácticas recomendadas de seguridad IAM en la Guía del IAM usuario.

Uso de la consola de Amazon Keyspaces

Amazon Keyspaces no requiere permisos específicos para acceder a la consola de Amazon Keyspaces. Necesita al menos permisos de solo lectura para enumerar y ver detalles sobre los recursos de Amazon Keyspaces en su sitio. Cuenta de AWS Si crea una política basada en la identidad que sea más restrictiva que los permisos mínimos requeridos, la consola no funcionará según lo previsto para las entidades (IAMusuarios o roles) que cuenten con esa política.

Hay dos políticas AWS administradas disponibles para que las entidades puedan acceder a la consola de Amazon Keyspaces.

Para obtener más información sobre las políticas administradas de Amazon Keyspaces, consulte Políticas administradas de AWS para Amazon Keyspaces.

Cómo permitir a los usuarios consultar sus propios permisos

En este ejemplo, se muestra cómo se puede crear una política que permita a IAM los usuarios ver las políticas integradas y administradas asociadas a su identidad de usuario. Esta política incluye permisos para completar esta acción en la consola o mediante programación mediante la tecla o. AWS CLI AWS API

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Acceso a las tablas de Amazon Keyspaces

El siguiente es un ejemplo de política que concede acceso de solo lectura (SELECT) a las tablas del sistema Amazon Keyspaces. Para todas las muestras, sustituye la región y el identificador de cuenta en el nombre del recurso de Amazon (ARN) por los tuyos propios.

nota

Para conectarse con un controlador estándar, un usuario debe tener al menos acceso SELECT a las tablas del sistema, dado que la mayoría de los controladores leen los espacios de claves/tablas del sistema en la conexión.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "cassandra:Select" ], "Resource":[ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ] } ] }

El siguiente ejemplo de política añade el acceso de solo lectura a la tabla de usuarios del espacio de mytable claves. mykeyspace

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "cassandra:Select" ], "Resource":[ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ] } ] }

El siguiente ejemplo de política asigna acceso de lectura/escritura a una tabla de usuario y acceso de lectura a las tablas del sistema.

nota

Las tablas del sistema son siempre de solo lectura.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "cassandra:Select", "cassandra:Modify" ], "Resource":[ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ] } ] }

El siguiente ejemplo de política permite a un usuario crear tablas en el espacio de claves mykeyspace.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "cassandra:Create", "cassandra:Select" ], "Resource":[ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/*", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ] } ] }

Acceso a recursos de Amazon Keyspaces basado en etiquetas

Puede utilizar condiciones en su política basada en identidades para controlar el acceso a los recursos de Amazon Keyspaces en función de etiquetas. Estas políticas controlan la visibilidad de los espacios de claves y las tablas de la cuenta. Tenga en cuenta que los permisos basados en etiquetas para las tablas del sistema se comportan de manera diferente cuando las solicitudes se realizan mediante llamadas al lenguaje de consulta de Cassandra (CQL) AWS SDK en comparación con las API llamadas a través de los controladores y las herramientas de desarrollo de Cassandra.

  • Para realizar solicitudes List de Get recursos con el AWS SDK acceso basado en etiquetas, la persona que llama debe tener acceso de lectura a las tablas del sistema. Por ejemplo, se requieren permisos de acción Select para leer datos de las tablas del sistema a través de la operación GetTable. Si la persona que llama solo tiene acceso basado en etiquetas a una tabla específica, una operación que requiera acceso adicional a una tabla del sistema fallará.

  • Para garantizar la compatibilidad con el comportamiento establecido de los controladores de Cassandra, no se aplican políticas de autorización basadas en etiquetas cuando se realizan operaciones en las tablas del sistema mediante API llamadas a Cassandra Query Language (CQL) a través de los controladores y las herramientas de desarrollo de Cassandra.

En el siguiente ejemplo se muestra cómo puede crear una política que conceda permisos a un usuario para ver una tabla si el Owner de la tabla contiene el valor del nombre de usuario de ese usuario. En este ejemplo, también concede acceso de lectura a las tablas del sistema.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"ReadOnlyAccessTaggedTables", "Effect":"Allow", "Action":"cassandra:Select", "Resource":[ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/*", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ], "Condition":{ "StringEquals":{ "aws:ResourceTag/Owner":"${aws:username}" } } } ] }

Puedes adjuntar esta política a los IAM usuarios de tu cuenta. Si un usuario llamado richard-roe intenta ver una tabla de Amazon Keyspaces, la tabla debe tener la etiqueta Owner=richard-roe o owner=richard-roe. De lo contrario, se le deniega el acceso. La clave de la etiqueta de condición Owner coincide con los nombres de las claves de condición Owner y owner porque no distinguen entre mayúsculas y minúsculas. Para obtener más información, consulte los elementos IAM JSON de la política: Condición en la Guía del IAM usuario.

La siguiente política concede permisos a un usuario para crear tablas con etiquetas si el Owner de la tabla contiene el valor del nombre de usuario de ese usuario.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateTagTableUser", "Effect": "Allow", "Action": [ "cassandra:Create", "cassandra:TagResource" ], "Resource": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/*", "Condition":{ "StringEquals":{ "aws:RequestTag/Owner":"${aws:username}" } } } ] }