AWS Systems Manager ejemplos de políticas basadas en identidad de - AWS Systems Manager

AWS Systems Manager ejemplos de políticas basadas en identidad de

De forma predeterminada, las entidades de AWS Identity and Access Management (IAM) (usuarios y roles) no tienen permiso para crear o modificar recursos de AWS Systems Manager. Tampoco se pueden realizar tareas con la consola de Systems Manager, la AWS Command Line Interface (AWS CLI), o la API de AWS. Un administrador debe crear políticas de IAM que concedan permisos a los usuarios y a los roles para realizar operaciones de la API concretas en los recursos especificados que necesiten. El administrador debe adjuntar esas políticas a los usuarios o grupos que necesiten esos permisos.

A continuación se muestra un ejemplo de una política de permisos que permite a un usuario eliminar documentos con nombres que comienzan con MyDocument- en la Región de AWS Este de EE. UU. (Ohio) (us-east-2).

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "ssm:DeleteDocument" ], "Resource" : [ "arn:aws:ssm:us-east-2:111122223333:document/MyDocument-*" ] } ] }

Para obtener información acerca de cómo se crea una política basada en identidades de IAM con estos documentos de políticas JSON de ejemplo, consulte Creating IAM policies (Creación de políticas de IAM) en la Guía del usuario de IAM.

Prácticas recomendadas sobre las políticas

Las políticas basadas en identidades determinan si alguien puede crear, acceder o eliminar los recursos de Systems Manager de la cuenta. Estas acciones pueden generar costes 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 administradas por AWSy continúe con los permisos de privilegio mínimo: a fin de comenzar a conceder permisos a los usuarios y las cargas de trabajo, utilice las políticas administradas por AWS, que conceden permisos para muchos casos de uso comunes. Están disponibles en su Cuenta de AWS. Se recomienda definir políticas administradas por el cliente de AWS específicas para sus casos de uso a fin de reducir aún más los permisos. Con el fin de obtener más información, consulte las políticas administradas por AWS o las políticas administradas por AWS para funciones de trabajo en la Guía de usuario de IAM.

  • Aplique permisos de privilegio mínimo: cuando establezca permisos con políticas de IAM, 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. Con el fin de obtener más información sobre el uso de IAM para aplicar permisos, consulte Políticas y permisos en IAM en la Guía del usuario de IAM.

  • Utilice condiciones en las políticas de IAM para restringir aún más el acceso: puede agregar 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íticas para especificar que todas las solicitudes deben enviarse utilizando SSL. También puede usar condiciones para conceder acceso a acciones de servicios si se emplean a través de un servicio de AWS determinado, como por ejemplo AWS CloudFormation. Para obtener más información, consulte Elementos de la política de JSON de IAM: Condición en la Guía del usuario de IAM.

  • Utilice el analizador de acceso de IAM para validar las políticas de IAM con el fin de garantizar la seguridad y funcionalidad de los permisos: el analizador de acceso de IAM valida políticas nuevas y existentes para que respeten el lenguaje (JSON) de las políticas de IAM y las prácticas recomendadas de IAM. El analizador de acceso de IAM proporciona más de 100 verificaciones de políticas y recomendaciones procesables para ayudar a crear políticas seguras y funcionales. Para más información, consulte Política de validación de Analizador de acceso de IAM en la Guía de usuario de IAM.

  • Solicite la autenticación multifactor (MFA): si se encuentra en una situación en la que necesita usuarios raíz o de IAM en su Cuenta de AWS, active la MFA para mayor seguridad. Para solicitar la MFA cuando se invocan las operaciones de la API, agregue las condiciones de la MFA a sus políticas. Para más información, consulte Configuración del acceso a una API protegido por MFA en la Guía de usuario de IAM.

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

Mediante la consola de Systems Manager

Para acceder a la consola de Systems Manager, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirle registrar y consultar los detalles acerca de los recursos de Systems Manager y otros recursos en su Cuenta de AWS.

Para poder usar por completo Systems Manager en la consola de Systems Manager, debe tener permisos de los servicios siguientes:

  • AWS Systems Manager

  • Amazon Elastic Compute Cloud (Amazon EC2)

  • AWS Identity and Access Management (IAM)

Puede conceder los permisos necesarios con la siguiente declaración de política.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:*", "ec2:describeInstances", "iam:ListRoles" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "ssm.amazonaws.com" } } } ] }

Si crea una política basada en identidades que es más restrictiva que los permisos mínimos requeridos, la consola no funcionará según lo previsto para las entidades de IAM (usuarios o roles) con esa política.

No es necesario que conceda permisos mínimos para la consola a los usuarios que solo realizan llamadas a la AWS CLI o a la API de AWS. En su lugar, permite acceso únicamente a las acciones que coincidan con la operación de API que intenta realizar.

Permitir a los usuarios consultar sus propios permisos

En este ejemplo, se muestra cómo podría crear una política que permita a los usuarios de IAM ver las políticas administradas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para llevar a cabo esta acción en la consola o mediante programación con la AWS CLI o la API de AWS.

{ "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": "*" } ] }

Ejemplos de políticas administradas por el cliente

Puede crear políticas independientes que puede administrar en su propia Cuenta de AWS. Las denominamos políticas administradas por el cliente. Puede adjuntar estas políticas a varias entidades principales de su Cuenta de AWS. Al asociar una política a una entidad principal, concederá a la entidad los permisos que están definidos en la política. Para obtener más información, consulte Customer managed policy examples (Ejemplos de políticas administradas por el cliente) en la IAM User Guide (Guía del usuario de IAM).

En los siguientes ejemplos de políticas de usuario, se concede permiso para diversas acciones de Systems Manager. Úselas para limitar el acceso a Systems Manager de sus entidades de IAM (usuarios y roles). Estas políticas funcionan cuando ejecuta acciones en la API de Systems Manager, los AWS SDK o la AWS CLI. En el caso de los usuarios que utilizan la consola, debe conceder permisos adicionales específicos a la consola. Para obtener más información, consulte Mediante la consola de Systems Manager.

nota

Todos los ejemplos utilizan la región EE. UU. Oeste (Oregón) (us-west-2) y contienen identificadores de cuenta ficticios. No debe especificarse el ID de cuenta en el nombre de recurso de Amazon (ARN) para documentos públicos de AWS (documentos que comienzan con AWS-*).

Ejemplos

Ejemplo 1: permitir a un usuario realizar operaciones de Systems Manager en una única región

En el siguiente ejemplo se conceden permisos para realizar operaciones de Systems Manager solo en la región Este de EE. UU. (Ohio) (us-east-2).

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "ssm:*" ], "Resource" : [ "arn:aws:ssm:us-east-2:aws-account-ID:*" ] } ] }

Ejemplo 2: permitir a un usuario generar una lista de documentos de una única región

En el siguiente ejemplo se conceden permisos para enumerar todos los nombres de documentos que comienzan con Update en la región Este de EE. UU. (Ohio) (us-east-2).

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "ssm:ListDocuments" ], "Resource" : [ "arn:aws:ssm:us-east-2:aws-account-ID:document/Update*" ] } ] }

Ejemplo 3: permitir a un usuario utilizar un documento de SSM concreto para ejecutar comandos en nodos específicos

El siguiente ejemplo de política de IAM permite a un usuario hacer lo siguiente en la región Este de EE. UU.(Ohio) (us-east-2):

  • Permite enumerar documentos de Systems Manager (documentos de SSM) y versiones de documentos.

  • Ver detalles sobre los documentos.

  • Enviar un comando utilizando el documento especificado en la política. El nombre del documento se determina con la siguiente entrada:

    arn:aws:ssm:us-east-2:aws-account-ID:document/Systems-Manager-document-name
  • Enviar un comando a tres nodos. Los nodos se determinan en función de las siguientes entradas de la segunda sección Resource.

    "arn:aws:ec2:us-east-2:aws-account-ID:instance/i-02573cafcfEXAMPLE", "arn:aws:ec2:us-east-2:aws-account-ID:instance/i-0471e04240EXAMPLE", "arn:aws:ec2:us-east-2:aws-account-ID:instance/i-07782c72faEXAMPLE"
  • Ver detalles sobre un comando después de que se haya enviado.

  • Permite comenzar y detener flujos de trabajo de Automation, una capacidad de AWS Systems Manager.

  • Permite obtener información acerca de los flujos de trabajo de Automation.

Si desea otorgar un permiso a un usuario para usar este documento con el fin de enviar comandos en cualquier nodo al que el usuario tenga acceso, puede especificar una entrada similar a la siguiente en la sección Resource y eliminar las otras entradas de nodo. En el siguiente ejemplo se utiliza la región Este de EE. UU. (Ohio) (us-east-2).

"arn:aws:ec2:us-east-2:*:instance/*"
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ssm:ListDocuments", "ssm:ListDocumentVersions", "ssm:DescribeDocument", "ssm:GetDocument", "ssm:DescribeInstanceInformation", "ssm:DescribeDocumentParameters", "ssm:DescribeInstanceProperties" ], "Effect": "Allow", "Resource": "*" }, { "Action": "ssm:SendCommand", "Effect": "Allow", "Resource": [ "arn:aws:ec2:us-east-2:aws-account-ID:instance/i-02573cafcfEXAMPLE", "arn:aws:ec2:us-east-2:aws-account-ID:instance/i-0471e04240EXAMPLE", "arn:aws:ec2:us-east-2:aws-account-ID:instance/i-07782c72faEXAMPLE", "arn:aws:ssm:us-east-2:aws-account-ID:document/Systems-Manager-document-name" ] }, { "Action": [ "ssm:CancelCommand", "ssm:ListCommands", "ssm:ListCommandInvocations" ], "Effect": "Allow", "Resource": "*" }, { "Action": "ec2:DescribeInstanceStatus", "Effect": "Allow", "Resource": "*" }, { "Action": "ssm:StartAutomationExecution", "Effect": "Allow", "Resource": [ "arn:aws:ssm:us-east-2:aws-account-ID:automation-definition/*" ] }, { "Action": "ssm:DescribeAutomationExecutions", "Effect": "Allow", "Resource": [ "*" ] }, { "Action": [ "ssm:StopAutomationExecution", "ssm:GetAutomationExecution" ], "Effect": "Allow", "Resource": [ "*" ] } ] }

Visualización de documentos de Systems Manager basados en etiquetas

Puede utilizar las condiciones de su política basada en identidad para controlar el acceso a los recursos de Systems Manager basados en etiquetas. En este ejemplo, se muestra cómo crear una política que permita visualizar un documento de SSM. Sin embargo, los permisos solo se conceden si la etiqueta de documento Owner tiene el valor del nombre de usuario de dicho usuario. Esta política también proporciona los permisos necesarios para llevar a cabo esta acción en la consola.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListDocumentsInConsole", "Effect": "Allow", "Action": "ssm:ListDocuments", "Resource": "*" }, { "Sid": "ViewDocumentIfOwner", "Effect": "Allow", "Action": "ssm:GetDocument", "Resource": "arn:aws:ssm:*:*:document/*", "Condition": { "StringEquals": {"ssm:ResourceTag/Owner": "${aws:username}"} } } ] }

También puede adjuntar esta política al usuario de en su cuenta. Si un usuario llamado richard-roe intenta ver un documento de Systems Manager, el documento debe estar etiquetado como 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 Owner y owner porque los nombres de clave de condición no distinguen entre mayúsculas y minúsculas. Para obtener más información, consulte Elementos de la política de JSON de IAM: Condición en la Guía del usuario de IAM.