Как совместить политику в S3 с использованием Java? - PullRequest
0 голосов
/ 06 января 2019

Как объединить политику в S3 с использованием Java?

Statement allowRestrictedWriteStatement = new Statement(Effect.Allow)
        .withPrincipals(new Principal("1234567"))
        .withActions(S3Actions.DeleteObject)
        .withResources(new S3ObjectResource(myBucketName, "demoFolder1"));


Statement allowRestrictedWriteStatement2 = new Statement(Effect.Deny)
        .withPrincipals(new Principal("1234567"))
        .withActions(S3Actions.DeleteObject)
        .withResources(new S3ObjectResource(myBucketName, "demoFolder2"));

Policy policy2 = new Policy()
        .withStatements(allowRestrictedWriteStatement2)
        .withStatements(allowRestrictedWriteStatement);

Это установка только оператора allowRestrictedWriteStatement или того, кто стоит последним в Policy объекте (в нашем случае allowRestrictedWriteStatement). Есть ли способ объединить как политику, так и несколько политик, используя один Policy объект, пожалуйста, предложите любую идею.

1 Ответ

0 голосов
/ 06 января 2019

Вам нужно вызвать withStatements один раз и передать несколько Statement экземпляров ( JavaDoc ):

new Policy().withStatements(allowRestrictedWriteStatement, allowRestrictedWriteStatement2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...