AWS Serverless Application RepositoryExemplos de políticas de aplicativos - AWS Serverless Application Repository

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS Serverless Application RepositoryExemplos de políticas de aplicativos

As políticas de permissões anexadas aosAWS Serverless Application Repository aplicativos são chamadas de políticas de aplicativos. As políticas do aplicativo determinam as ações que um diretor específico ou PrincipalOrg pode executar em umAWS Serverless Application Repository aplicativo.

UmAWS Serverless Application Repository aplicativo é o principalAWS recurso noAWS Serverless Application Repository. AWS Serverless Application Repositoryas políticas de aplicativos são usadas principalmente pelos editores para conceder permissão aos consumidores para implantar seus aplicativos e operações relacionadas, como pesquisar e visualizar detalhes desses aplicativos.

Os editores podem definir permissões de aplicativos às três seguintes categorias:

  • Privado — Aplicativos que foram criados com a mesma conta e não foram compartilhados com nenhuma outra conta. Somente consumidores que compartilham suaAWS conta têm permissão para implantar aplicativos privados.

  • Compartilhado de forma privada — Aplicativos que o editor compartilhou explicitamente com um conjunto específico deAWS contas ou comAWS contas em umaAWS organização. Os consumidores têm permissão para implantar aplicativos que foram compartilhados com suaAWS conta ouAWS organização. Para obter mais informações sobreAWS organizações, consulte o GuiaAWS Organizations do usuário.

  • Compartilhado publicamente — Aplicativos que o editor compartilhou com todos. Todos os consumidores têm permissão para implantar um aplicativo compartilhado publicamente.

nota

Para aplicativos compartilhados de forma privada, oAWS Serverless Application Repository único compatível com AWScontas como diretores. Os editores podem conceder ou negar todos os usuários de umaAWS conta como um único grupo para umAWS Serverless Application Repository aplicativo. Os editores não podem conceder ou negar usuários individuais de umaAWS conta a umAWS Serverless Application Repository aplicativo.

Para obter instruções sobre como configurar permissões para aplicativos usando o AWS Management Console, consulte Compartilhar um aplicativo.

Para obter instruções sobre como configurar permissões de aplicativos usando a AWS CLI e exemplos, consulte as seguintes seções.

Permissões de aplicativos (AWS CLIeAWS SDKs)

Ao usar oAWS CLI ou osAWS SDKs para definir permissões para umAWS Serverless Application Repository aplicativo, você pode especificar as seguintes ações:

Ação Descrição
GetApplication

Concede permissão para visualizar informações sobre o aplicativo.

CreateCloudFormationChangeSet

Concede permissão para o aplicativo ser implantado.

Observação: essa ação não concede nenhuma outra permissão além da permissão de implantação.

CreateCloudFormationTemplate

Concede permissão para criar um modelo AWS CloudFormation para o aplicativo.

ListApplicationVersions Concede permissão para listar as versões do aplicativo.
ListApplicationDependencies Concede permissão para relacionar os aplicativos que estão aninhados dentro do aplicativo.
SearchApplications Concede permissão para o aplicativo ser pesquisado.
Implante

Essa ação habilita todas as ações listadas anteriormente na tabela. Ou seja, concede permissão para o aplicativo ser visualizado, implantado, as versões serem listadas e o aplicativo ser pesquisado.

Exemplos de política de usuário

Os exemplos a seguir mostram como conceder permissões usando a AWS CLI. Para obter informações sobre como conceder permissões usando o AWS Management Console, consulte Compartilhar um aplicativo.

Todos os exemplos nesta seção usam esses comandos da AWS CLI para gerenciar políticas de permissões associadas aos aplicativos do AWS Serverless Application Repository:

Exemplo 1: compartilhar um aplicativo com outra conta

Para compartilhar um aplicativo com outra conta específica, mas evitar que ele seja compartilhado com outras pessoas, você especifica o ID daAWS conta com a qual deseja compartilhar como principal. Isso também é conhecido como configurar o aplicativo como compartilhado de forma privada. Para fazer isso, execute o seguinte comando da AWS CLI.

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

Aplicativos compartilhados de forma privada só podem ser usados na mesmaAWS região em que o aplicativo foi criado.

Exemplo 2: Compartilhar um aplicativo publicamente

Para tornar um aplicativo público, você o compartilha com todos os usuários especificando"*" como a entidade principal, como no exemplo a seguir. Os aplicativos compartilhados publicamente ficam disponíveis em todas as regiões.

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

Para compartilhar um aplicativo publicamente, ele deve ter as propriedades LicenseUrl e SemanticVersion definidas.

Exemplo 3: Tornar um aplicativo privado

Você pode tornar um aplicativo privado, para que ele não seja compartilhado com ninguém e só possa ser implantado pelaAWS conta que o possui. Para fazer isso, você elimina os princípios e ações da política, o que também remove as permissões de outras contas da suaAWS organização para implantar seu aplicativo.

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

Aplicativos privados só podem ser usados na mesmaAWS região em que o aplicativo foi criado.

Exemplo 4: Especificação de várias contas e permissões

Você pode conceder várias permissões e concedê-las a mais de umaAWS conta ao mesmo tempo. Para fazer isso, especifique listas como o principal e como ações, conforme exibido no exemplo a seguir.

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

Exemplo 5: compartilhar um aplicativo com todas as contas em umaAWS organização

As permissões podem ser concedidas a todos os usuários de umaAWS organização. É possível fazer isso especificando o ID da organização, como no exemplo a seguir.

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

Para obter mais informações sobreAWS organizações, consulte o GuiaAWS Organizations do usuário.

nota

Você só pode especificar aAWS organização da qual suaAWS conta é membro. Se você tentar especificar umaAWS organização da qual não é membro, ocorrerá um erro.

Para compartilhar seu aplicativo com suaAWS organização, você deve incluir permissão para aUnshareApplication ação, caso o compartilhamento precise ser revogado no future.

Exemplo 6: Compartilhando um aplicativo com algumas contas em umaAWS organização

As permissões podem ser concedidas a contas específicas dentro de umaAWS organização. Você faz isso especificando uma lista deAWS contas como principal e o ID da sua organização, como no exemplo a seguir.

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

Você só pode especificar aAWS organização da qual suaAWS conta é membro. Se você tentar especificar umaAWS organização da qual não é membro, ocorrerá um erro.

Para compartilhar seu aplicativo com suaAWS organização, você deve incluir permissão para aUnshareApplication ação, caso o compartilhamento precise ser revogado no future.

Exemplo 7: recuperar uma política de aplicativo

Para visualizar a política atual de um aplicativo, por exemplo, para ver se ele está sendo compartilhado no momento, use o comando get-application-policy, como no exemplo a seguir.

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

Exemplo 8: permitir que o aplicativo seja aninhado por contas específicas

Aplicativos públicos podem ser aninhados por qualquer pessoa. Caso você queira permitir que seu aplicativo seja aninhado por contas específicas, você deve ajustar as permissões mínimas abaixo, conforme exibido no exemplo a seguir.

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