AWS Serverless Application RepositoryEjemplos de políticas de aplicación - AWS Serverless Application Repository

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.

AWS Serverless Application RepositoryEjemplos de políticas de aplicación

Las políticas de permisos adjuntas aAWS Serverless Application Repository las aplicaciones se denominan políticas de aplicación. Las políticas de la aplicación determinan las acciones que un director o una organización principal específicos pueden realizar en unaAWS Serverless Application Repository aplicación.

UnaAWS Serverless Application Repository aplicación es elAWS recurso principal deAWS Serverless Application Repository. AWS Serverless Application RepositoryLas políticas de aplicación las utilizan principalmente los editores para conceder permiso a los consumidores para implementar sus aplicaciones y las operaciones relacionadas, como buscar y ver los detalles de esas aplicaciones.

Los editores pueden establecer permisos de aplicación en las tres categorías siguientes:

  • Privado: aplicaciones que se crearon con la misma cuenta y que no se compartieron con ninguna otra cuenta. Solo los consumidores que comparten tuAWS cuenta tienen permiso para implementar aplicaciones privadas.

  • Compartidas de forma privada: aplicaciones que el editor ha compartido explícitamente con un conjunto específico deAWS cuentas o conAWS cuentas de unaAWS organización. Los consumidores tienen permiso para implementar aplicaciones que se han compartido con suAWS cuenta uAWS organización. Para obtener más información sobreAWS las organizaciones, consulte la Guía delAWS Organizations usuario.

  • Compartidas públicamente: aplicaciones que el editor ha compartido con todos. Todos los consumidores tienen permiso para implementar cualquier aplicación compartida públicamente.

nota

En el caso de las aplicaciones compartidas de forma privada,AWS Serverless Application Repository solo admite AWScuentas como principales. Los editores pueden conceder o denegar a todos los usuarios de unaAWS cuenta como un solo grupo para unaAWS Serverless Application Repository aplicación. Los editores no pueden conceder ni denegar usuarios individuales de unaAWS cuenta a unaAWS Serverless Application Repository aplicación.

Para obtener instrucciones sobre cómo configurar los permisos de aplicación mediante la AWS Management Console, consulte Compartir una aplicación.

Para obtener instrucciones sobre cómo configurar permisos de aplicación mediante la AWS CLI y ejemplos, consulte las secciones siguientes.

Permisos de aplicaciones (AWS CLIyAWS SDK)

Al utilizar los SDKAWS CLI o losAWS SDK para establecer los permisos de unaAWS Serverless Application Repository aplicación, puede especificar las siguientes acciones:

Acción Descripción
GetApplication

Concede permiso para ver información sobre la aplicación.

CreateCloudFormationChangeSet

Concede permiso para implementar la aplicación.

Nota: Esta acción solo concede el permiso de implementación.

CreateCloudFormationTemplate

Concede permiso para crear una plantilla de AWS CloudFormation para la aplicación.

ListApplicationVersions Concede permiso para obtener una lista de versiones de la aplicación.
ListApplicationDependencies Concede permiso para elaborar una lista de las aplicaciones en lista que están anidadas en la aplicación contenedora.
SearchApplications Concede permiso para realizar búsquedas en la aplicación.
Implementación

Esta acción habilita todas las acciones enumeradas anteriormente en la tabla. Es decir, concede permiso para que la aplicación se vea e implemente, para que se enumeren sus versiones y para que se pueda buscar la aplicación.

Ejemplos de política de aplicación

En los ejemplos siguientes se muestra cómo conceder permisos mediante la AWS CLI. Para obtener información sobre cómo conceder permisos usando la AWS Management Console consulte Compartir una aplicación.

En todos los ejemplos de esta sección se utilizan estos comandos de la AWS CLI para administrar las políticas de permisos asociadas a las aplicaciones de AWS Serverless Application Repository:

Ejemplo 1: Compartir una aplicación con otra cuenta

Para compartir una aplicación con otra cuenta específica, pero evitar que se comparta con otras personas, especifique el ID de laAWS cuenta con la que desea compartirla como principal. Esto también se denomina establecer la aplicación como compartida privadamente. Para ello, utilice el siguiente comando de la AWS CLI.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id,Actions=Deploy
nota

Las aplicaciones compartidas de forma privada solo se pueden usar en la mismaAWS región en la que se creó la aplicación.

Ejemplo 2: compartir una aplicación públicamente

Para hacer que una aplicación sea pública debe compartirla con todo el mundo especificando "*" como principal, tal y como se muestra en el siguiente ejemplo. Las aplicaciones compartidas públicamente están disponibles en todas las regiones.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=*,Actions=Deploy
nota

Para compartir una aplicación públicamente, esta debe tener las propiedades SemanticVersion y LicenseUrl establecidas.

Ejemplo 3: convertir una aplicación en privada

Puede hacer que una aplicación sea privada para que no se comparta con nadie y solo la pueda implementar laAWS cuenta que la posee. Para ello, elimina los principios y las acciones de la política, que también elimina los permisos de otras cuentas deAWS la organización para implementar la aplicación.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements '[]'
nota

Las aplicaciones privadas solo se pueden usar en la mismaAWS región en la que se creó la aplicación.

Ejemplo 4: especificación de varias cuentas y permisos

Puede conceder varios permisos y puede concederlos a más de unaAWS cuenta a la vez. Para ello, se especifican listas como entidades principales y acciones, como se muestra en el siguiente ejemplo.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id-1,account-id-2,Actions=GetApplication,CreateCloudFormationChangeSet

Ejemplo 5: Compartir una aplicación con todas las cuentas de unaAWS organización

Los permisos se pueden conceder a todos los usuarios de unaAWS organización. Para ello, especifique el ID de organización, como en el ejemplo siguiente.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=*,PrincipalOrgIDs=org-id,Actions=Deploy,UnshareApplication

Para obtener más información sobreAWS las organizaciones, consulte la Guía delAWS Organizations usuario.

nota

Solo puedes especificar laAWS organización a la que pertenece tuAWS cuenta. Si intenta especificar unaAWS organización de la que no es miembro, se producirá un error.

Para compartir tu solicitud con tuAWS organización, debes incluir el permiso para laUnshareApplication acción, en caso de que sea necesario revocar el uso compartido en el future.

Ejemplo 6: Compartir una aplicación con algunas cuentas de unaAWS organización

Se pueden conceder permisos a cuentas específicas de unaAWS organización. Para ello, especifique una lista deAWS cuentas como principal y el identificador de su organización, como en el ejemplo siguiente.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id-1,account-id-2,PrincipalOrgIDs=org-id,Actions=Deploy,UnshareApplication
nota

Solo puedes especificar laAWS organización a la que pertenece tuAWS cuenta. Si intenta especificar unaAWS organización de la que no es miembro, se producirá un error.

Para compartir tu solicitud con tuAWS organización, debes incluir el permiso para laUnshareApplication acción, en caso de que sea necesario revocar el uso compartido en el future.

Ejemplo 7: Recuperar una política de aplicación

Para consultar la política actual de una aplicación, por ejemplo, para ver si se está compartiendo actualmente, ejecute el comando get-application-policy tal y como se indica en el ejemplo siguiente.

aws serverlessrepo get-application-policy \ --region region \ --application-id application-arn

Ejemplo 8: Permitir que cuentas específicas aniden la aplicación

Se permite que cualquier persona anide las aplicaciones públicas. Si solo desea que cuentas específicas aniden su aplicación, debe establecer los permisos mínimos siguientes, como en el ejemplo que se muestra a continuación.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id-1,account-id-2,Actions=GetApplication,CreateCloudFormationTemplate