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á.
Alterações no IAM Policy Builder API da versão 1 para a versão 2
Este tópico detalha as alterações no IAM Policy Builder API da versão 1 (v1) para a versão 2 (v2).
Alterações de alto nível
Alteração | v1 | v2 |
---|---|---|
Dependências do Maven |
|
|
Nome do pacote | com.amazonaws.auth.policy |
software.amazon.awssdk.policybuilder.iam |
Nomes da classe |
1 Versão mais recente
APImudanças
Configuração | v1 | v2 |
---|---|---|
Instanciar uma política |
|
|
Definir id |
|
|
Definir versão |
N/A - usa a versão padrão do 2012-10-17 |
|
Criar declaração |
|
|
Definir declaração |
|
|
Diferenças na construção de uma declaração
Ações
v1
A v1 SDK tem enum
tipos de ações de serviço que representam Action
elementos em uma declaração de política. Os enum
tipos a seguir são alguns exemplos.
O exemplo a seguir mostra a SendMessage
constante forSQSActions
.
Action action = SQSActions.SendMessage;
Você não pode especificar um NotAction
elemento para uma instrução na v1.
v2
Na v2, a IamActioncreate
método conforme mostrado no código a seguir.
IamAction action = IamAction.create("sqs:SendMessage");
Você pode especificar um NotAction
para uma instrução com v2, conforme mostrado no código a seguir.
IamAction action = IamAction.create("sqs:SendMessage"); IamStatement.builder().addNotAction(action);
Condições
v1
Para representar as condições da declaração, a v1 SDK usa subclasses de. Condition
Cada Condition
subclasse define um enum
tipo de comparação para ajudar a definir a condição. Por exemplo, o exemplo a seguir mostra uma comparação de sequência de caracteres diferente para uma condição.
Condition condition = new StringCondition(StringComparisonType.StringNotLike, "key", "value");
v2
Na v2, você cria uma condição para uma declaração de política usando IamCondition
e fornece umaIamConditionOperator
, que contém enums
para todos os tipos.
IamCondition condition = IamCondition.create(IamConditionOperator.STRING_NOT_LIKE, "key", "value");
Recursos
v1
O Resource
elemento de uma declaração de política é representado pela SDK Resource
classe s. Você fornece o ARN como uma string no construtor. As subclasses a seguir fornecem construtores de conveniência.
Na v1, você pode especificar um NotResource
elemento para a Resource
chamando o withIsNotType
método conforme mostrado na instrução a seguir.
Resource resource = new Resource("arn:aws:s3:::mybucket").withIsNotType(true);
v2
Na v2, você cria um Resource
elemento passando an ARN para o IamResource.create
método.
IamResource resource = IamResource.create("arn:aws:s3:::mybucket");
Um IamResource
pode ser definido como NotResource
elemento, conforme mostrado no trecho a seguir.
IamResource resource = IamResource.create("arn:aws:s3:::mybucket"); IamStatement.builder().addNotResource(resource);
IamResource.ALL
representa todos os recursos.
Entidades principais
v1
A v1 SDK oferece as seguintes Principal
classes para representar tipos de diretores que incluem todos os membros:
-
AllUsers
-
AllServices
-
AllWebProviders
-
All
Você não pode adicionar um NotPrincipal
elemento a uma declaração.
v2
Na v2, IamPrincipal.ALL
representa todos os principais:
Para representar todos os membros em outros tipos de diretores, use as IamPrincipalType
classes ao criar umIamPrincipal
.
-
IamPrincipal.create(IamPrincipalType.AWS,"*")
para todos os usuários. -
IamPrincipal.create(IamPrincipalType.SERVICE,"*")
para todos os serviços. -
IamPrincipal.create(IamPrincipalType.FEDERATED,"*")
para todos os provedores da web. -
IamPrincipal.create(IamPrincipalType.CANONICAL_USER,"*")
para todos os usuários canônicos.
Você pode usar o addNotPrincipal
método para representar um NotPrincipal
elemento ao criar uma declaração de política, conforme mostrado na declaração a seguir.
IamPrincipal principal = IamPrincipal.create(IamPrincipalType.AWS, "arn:aws:iam::444455556666:root"); IamStatement.builder().addNotPrincipal(principal);