Criar concessões
Depois de registrar pelo menos um local na instância da funcionalidade Concessões de Acesso do Amazon S3, você poderá criar uma concessão de acesso. Uma concessão de acesso dá ao beneficiário permissão para acessar um local registrado.
O beneficiário pode ser um usuário ou perfil do AWS Identity and Access Management (IAM) ou um usuário ou grupo de diretório. Um usuário de diretório é um usuário do seu diretório corporativo ou fonte de identidades externa que você adicionou à instância do AWS IAM Identity Center que está associada à instância da funcionalidade Concessões de Acesso do S3. Para criar uma concessão para um usuário ou grupo específico do Centro de Identidade do IAM, encontre o GUID usado para identificar esse usuário no Centro de Identidade do IAM, por exemplo, a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
.
Você pode conceder acesso a um bucket, prefixo ou objeto. Um prefixo no Amazon S3 é uma string de caracteres no início de um nome de chave de objeto que é usado para organizar os objetos dentro de um bucket. Pode ser qualquer string de caracteres permitidos, por exemplo, nomes de chave de objeto em um bucket que comece com o prefixo engineering/
.
Subprefixo
Ao conceder acesso a um local registrado, você pode usar o campo Subprefix
para restringir o escopo a um prefixo ou objeto específico em um bucket.
Não é possível criar uma concessão de acesso para o local padrão s3://
, o que concederia ao beneficiário acesso a todos os buckets em uma região. Se você escolher o local s3://
padrão como local da concessão, deverá restringir o escopo da concessão usando o campo Subprefix
para especificar uma das seguintes opções:
-
Um bucket:
s3://
bucket
/* -
Um prefixo em um bucket:
s3://
bucket
/prefix
* -
Um prefixo em um prefixo:
s3://
bucket
/prefixA
/prefixB
* -
Um objeto:
s3://
bucket
/object-key-name
Se você criar uma concessão de acesso em que o local registrado seja um bucket, poderá enviar uma das seguintes opções no campo Subprefix
:
-
Um prefixo no bucket:
prefix
* -
Um prefixo em um prefixo:
prefixA/
prefixB
* -
Um objeto:
/
object-key-name
O escopo da concessão mostrado no console do Amazon S3 ou o GrantScope
que é retornado na resposta da API ou AWS Command Line Interface (AWS CLI) é o resultado da concatenação do caminho do local com o Subprefix
. Garanta que esse caminho concatenado seja mapeado corretamente para o bucket, prefixo ou objeto do S3 ao qual você deseja conceder acesso.
Se você estiver criando uma concessão de acesso que dá acesso a apenas um objeto, especifique na chamada de API ou no comando da CLI que s3PrefixType
é Object
.
nota
Não é possível criar uma concessão para um bucket que ainda não existe. No entanto, é possível criar uma concessão para um prefixo que ainda não existe.
Você pode criar uma concessão de acesso usando o console do Amazon S3, a AWS CLI, a API REST do Amazon S3 ou os AWS SDKs.
Como criar uma concessão de acesso
Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/
. -
No painel de navegação, escolha Access Grants.
-
Na página Concessões de Acesso do S3, escolha a região que contém a instância da funcionalidade Concessões de Acesso do S3 com a qual você deseja trabalhar.
Se você estiver usando a instância da funcionalidade Concessões de Acesso do S3 pela primeira vez, conclua a Etapa 2: Registrar um local e navegue até a Etapa 3 do assistente Configurar instância do Access Grants. Se você já tiver uma instância da funcionalidade Concessões de Acesso do S3, escolha Visualizar detalhes, depois selecione Criar concessão na guia Concessões.
-
Na seção Escopo da concessão, selecione ou insira um local registrado.
Se você selecionou o local
s3://
padrão, use a caixa Subprefixo para restringir o escopo da concessão de acesso. Para obter mais informações, consulte Subprefix. Se você estiver concedendo acesso somente a um objeto, selecione O escopo da concessão é um objeto. -
Em Permissões e acesso, selecione o nível de Permissão: Leitura, Gravação ou ambos.
Depois, escolha o Tipo de beneficiário. Se você adicionou seu diretório corporativo ao Centro de Identidade do IAM e associou essa instância do Centro de Identidade do IAM à instância da funcionalidade Concessões de Acesso do S3, poderá escolher a opção Identidade de diretório do Centro de Identidade do IAM. Se você escolher essa opção, obtenha o ID do usuário ou grupo no Centro de Identidade do IAM e insira-o nesta seção.
Se o Tipo de beneficiário for um usuário ou perfil do IAM, escolha Entidade principal do IAM. Em Tipo de entidade principal do IAM, escolha Usuário ou Perfil. Depois, em Usuário da entidade principal do IAM, escolha na lista ou insira o ID da identidade.
-
Para criar a concessão da funcionalidade Concessões de Acesso do S3, escolha Próximo ou Criar concessão.
-
-
Se as opções Próximo ou Criar concessão estiverem desabilitadas:
Não é possível criar concessão
-
Poderá ser necessário registrar um local na instância da funcionalidade Concessões de Acesso do S3 primeiro.
-
Talvez você não tenha a permissão
s3:CreateAccessGrant
para criar uma concessão de acesso. Entre em contato com o administrador da conta.
-
Para instalar a AWS CLI, consulte Instalar a AWS CLI no Guia do usuário da AWS Command Line Interface.
Os exemplos a seguir mostram como criar uma solicitação de concessão de acesso para uma entidade principal do IAM e como criar uma solicitação de concessão de acesso para um usuário ou grupo de diretório corporativo.
Para usar os comandos a seguir, substitua os
por suas próprias informações.user input
placeholders
nota
Se você estiver criando uma concessão de acesso que dá acesso a apenas um objeto, inclua o parâmetro --s3-prefix-type Object
necessário.
exemplo Criar uma solicitação de concessão de acesso para uma entidade principal do IAM
aws s3control create-access-grant \ --account-id
111122223333
\ --access-grants-location-ida1b2c3d4-5678-90ab-cdef-EXAMPLE22222
\ --access-grants-location-configurationS3SubPrefix=prefixB*
\ --permissionREAD
\ --grantee GranteeType=IAM
,GranteeIdentifier=arn:aws:iam::123456789012
:user
/data-consumer-3
exemplo Criar uma resposta de concessão de acesso
{"CreatedAt": "2023-05-31T18:41:34.663000+00:00", "AccessGrantId": "
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
", "AccessGrantArn": "arn:aws:s3:us-east-2
:111122223333
:access-grants/default/grant/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
", "Grantee": { "GranteeType": "IAM", "GranteeIdentifier": "arn:aws:iam::111122223333
:user/data-consumer-3" }, "AccessGrantsLocationId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222
", "AccessGrantsLocationConfiguration": { "S3SubPrefix": "prefixB*" }, "GrantScope": "s3://DOC-BUCKET-EXAMPLE/prefix*", "Permission": "READ" }
Criar uma solicitação de concessão de acesso para um usuário ou grupo de diretório
Para criar uma solicitação de concessão de acesso para um usuário ou grupo de diretório, primeiro é necessário obter o GUID do usuário ou grupo de diretório por meio da execução de um dos comandos a seguir.
exemplo Obter o GUID de um usuário ou grupo de diretório
Você pode encontrar o GUID de um usuário do Centro de Identidade do IAM por meio do console do Centro de Identidade do IAM ou usando a AWS CLI ou os AWS SDKs. O comando a seguir lista os usuários na instância especificada do Centro de Identidade do IAM, com os respectivos nomes e identificadores.
aws identitystore list-users --identity-store-id
d-1a2b3c4d1234
Esse comando lista os grupos na instância especificada do Centro de Identidade do IAM.
aws identitystore list-groups --identity-store-id
d-1a2b3c4d1234
exemplo Criar uma concessão de acesso para um usuário ou grupo de diretório
Esse comando é semelhante à criação de uma concessão para usuários ou perfis do IAM, exceto que o tipo de beneficiário é DIRECTORY_USER
ou DIRECTORY_GROUP
e o identificador do beneficiário é o GUID do usuário ou grupo de diretório.
aws s3control create-access-grant \ --account-id
123456789012
\ --access-grants-location-iddefault
\ --access-grants-location-configurationS3SubPrefix="DOC-EXAMPLE-BUCKET/rafael/*
" \ --permissionREADWRITE
\ --grantee GranteeType=DIRECTORY_USER
,GranteeIdentifier=83d43802-00b1-7054-db02-f1d683aacba5
\
Para obter informações sobre o suporte à API REST do Amazon S3 para gerenciar concessões de acesso, consulte as seguintes seções na Referência da API do Amazon Simple Storage Service:
Esta seção fornece exemplos de como criar uma concessão de acesso usando os AWS SDKs.