Exemplos de política de acesso a dados do IAM do Neptune - Amazon Neptune

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á.

Exemplos de política de acesso a dados do IAM do Neptune

Os seguintes exemplos mostram como criar políticas personalizadas do IAM que usem controle de acesso refinado de APIs de planos de dados e ações, introduzidas na versão 1.2.0.0 do mecanismo do Neptune.

Exemplo de política que viabiliza acesso irrestrito aos dados em um cluster de banco de dados do Neptune

O exemplo de política a seguir permite que um usuário do IAM se conecte a um cluster de banco de dados do Neptune usando a autenticação de banco de dados do IAM e usa o caractere “*“ para corresponder a todas as ações disponíveis.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "neptune-db:*", "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" } ] }

O exemplo anterior inclui um ARN de recurso em um formato específico da autenticação do IAM no Neptune. Para criar o ARN, consulte Specifying data resources. Observe que o ARN usando para um Resource de autorização do IAM não é o mesmo ARN atribuído ao cluster na criação.

Exemplo de política que viabiliza acesso somente leitura a um cluster de banco de dados do Neptune

A política a seguir concede permissão para acesso total somente leitura aos dados em um cluster de banco de dados do Neptune:

{ "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Action": [ "neptune-db:Read*", "neptune-db:Get*", "neptune-db:List*" ], "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" } ] }

Exemplo de política que nega acesso todo o acesso a um cluster de banco de dados do Neptune

A ação padrão do IAM é negar o acesso a um cluster de banco de dados a menos que um Effect Allow seja concedido. No entanto, a política a seguir nega todo o acesso a um cluster de banco de dados para uma determinada AWS conta e região, que então tem precedência sobre qualquer Allow efeito.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "neptune-db:*", "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" } ] }

Exemplo de política que concede acesso de leitura por meio de consultas

A seguinte política apenas concede permissão para leitura de um cluster de banco de dados do Neptune usando uma consulta:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "neptune-db:ReadDataViaQuery", "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" } ] }

Exemplo de política que só permite consultas do Gremlin

A seguinte política usa a chave de condição neptune-db:QueryLanguage para conceder permissão para consultar o Neptune somente usando a linguagem de consulta Gremlin:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "neptune-db:ReadDataViaQuery", "neptune-db:WriteDataViaQuery", "neptune-db:DeleteDataViaQuery" ], "Resource": "*", "Condition": { "StringEquals": { "neptune-db:QueryLanguage": "Gremlin" } } } ] }

Exemplo de política que permite todo o acesso, exceto ao gerenciamento de modelos do Neptune ML

A seguinte política concede acesso total às operações de grafo do Neptune, exceto os atributos de gerenciamento de modelos do Neptune ML:

{ "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Action": [ "neptune-db:CancelLoaderJob", "neptune-db:CancelQuery", "neptune-db:DeleteDataViaQuery", "neptune-db:DeleteStatistics", "neptune-db:GetEngineStatus", "neptune-db:GetLoaderJobStatus", "neptune-db:GetQueryStatus", "neptune-db:GetStatisticsStatus", "neptune-db:GetStreamRecords", "neptune-db:ListLoaderJobs", "neptune-db:ManageStatistics", "neptune-db:ReadDataViaQuery", "neptune-db:ResetDatabase", "neptune-db:StartLoaderJob", "neptune-db:WriteDataViaQuery" ], "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" } ] }

Exemplo de política que permite acesso ao gerenciamento de modelos do Neptune ML

Essa política concede acesso aos atributos de gerenciamento de modelos do Neptune ML:

{ "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Action": [ "neptune-db:CancelMLDataProcessingJob", "neptune-db:CancelMLModelTrainingJob", "neptune-db:CancelMLModelTransformJob", "neptune-db:CreateMLEndpoint", "neptune-db:DeleteMLEndpoint", "neptune-db:GetMLDataProcessingJobStatus", "neptune-db:GetMLEndpointStatus", "neptune-db:GetMLModelTrainingJobStatus", "neptune-db:GetMLModelTransformJobStatus", "neptune-db:ListMLDataProcessingJobs", "neptune-db:ListMLEndpoints", "neptune-db:ListMLModelTrainingJobs", "neptune-db:ListMLModelTransformJobs", "neptune-db:StartMLDataProcessingJob", "neptune-db:StartMLModelTrainingJob", "neptune-db:StartMLModelTransformJob" ], "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" } ] }

Exemplo de política que concede acesso total por consulta

A seguinte política concede acesso total às operações de consulta de grafo do Neptune, mas não a atributos, como redefinição rápida, fluxos, carregador em massa, gerenciamento de modelos do Neptune ML, etc.:

{ "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Action": [ "neptune-db:ReadDataViaQuery", "neptune-db:WriteDataViaQuery", "neptune-db:DeleteDataViaQuery", "neptune-db:GetEngineStatus", "neptune-db:GetQueryStatus", "neptune-db:CancelQuery" ], "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" } ] }

Exemplo de política que concede acesso total somente para consultas do Gremlin

A seguinte política concede acesso total às operações de consulta de grafo do Neptune usando a linguagem de consulta Gremlin, mas não a consultas em outras linguagens e não a atributos, como redefinição rápida, fluxos, carregador em massa, gerenciamento de modelos do Neptune ML, etc.:

{ "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Action": [ "neptune-db:ReadDataViaQuery", "neptune-db:WriteDataViaQuery", "neptune-db:DeleteDataViaQuery", "neptune-db:GetEngineStatus", "neptune-db:GetQueryStatus", "neptune-db:CancelQuery" ], "Resource": [ "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" ], "Condition": { "StringEquals": { "neptune-db:QueryLanguage":"Gremlin" } } } ] }

Exemplo de política que concede acesso total, exceto para redefinição rápida

A seguinte política concede acesso total a um cluster de banco de dados do Neptune, exceto para uso de redefinição rápida:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "neptune-db:*", "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" }, { "Effect": "Deny", "Action": "neptune-db:ResetDatabase", "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" } ] }