Restringindo o Acesso a Recursos com Base no Período

Você pode usar variáveis baseadas em tempo em suas políticas para restringir o acesso concedido na política apenas a determinados períodos.

Esse recurso permite que você restrinja ações em recursos a momentos específicos. Por exemplo, você pode criar uma política que permita acesso apenas em uma data especificada. Uma política como essa será útil se sua empresa contratar contratantes e você quiser garantir que o acesso não seja permitido após a data final do contrato. Ou você pode permitir acesso a recursos somente durante o horário comercial (por exemplo, de segunda a sexta das 9h às 17h). Essa restrição pode diminuir o risco de um ator inválido fazer alterações quando tiver maior probabilidade de passar despercebido.

As variáveis que você pode usar para definir o escopo do acesso com base no período são:

  • request.utc-timestamp
  • request.utc-timestamp.month-of-year
  • request.utc-timestamp.day-of-month
  • request.utc-timestamp.day-of-week
  • request.utc-timestamp.time-of-day

O uso dessas variáveis é descrito com mais detalhes nas seções a seguir.

Informações para Trabalhar com Variáveis Baseadas no Tempo

Especifique o horário das variáveis usando o formato ISO 8601: AAAA-MM-DDThh:mm:ssZ. Os exemplos desse formato são:

  • Data e hora com segundos: '2020-04-01T15:00:00Z'
  • Data e hora com minutos: '2020-04-01T05:00Z'
  • Apenas data: '2020-04-01Z'
  • Somente hora: '05:00:00'

Embora você possa especificar um tempo abaixo de segundos, permita uma diferença de tempo de 5 minutos entre o timestamp da solicitação e o horário em que a solicitação é avaliada pelo serviço IAM. Essa diferença de tempo pode ser causada por vários fatores; portanto, esteja ciente dessa possível discrepância ao planejar e implementar suas políticas baseadas em tempo.

O tempo especificado é avaliado como Horário Universal Coordenado (UTC). Isso significa que você deve calcular o horário UTC correto para o fuso horário no qual a política é avaliada. Por exemplo, para especificar 9:00 AM no Horário Padrão do Pacífico para o valor de uma variável, você digitaria '17:00:00'. Se sua localidade adotar o horário de verão, atualize todas as políticas que mencionam uma hora específica quando a mudança de horário entrar em vigor.

Detalhes de Cada Variável Baseada em Tempo

O uso de cada variável é descrito nas seguintes seções:

request.utc-timestamp

Descrição: O horário em que a solicitação é recebida para autorização. Você pode criar uma política que permita o acesso apenas antes ou depois de um timestamp de data e hora específico. O timestamp deve seguir o formato ISO 8601: AAAA-MM-DDThh:mm:ssZ e estar no Horário Universal Coordenado (UTC).

Operadores suportados: antes de | após

Valores permitidos: Timestamp no Horário Universal Coordenado (UTC) no formato ISO 8601: AAAA-MM-DDThh:mm:ssZ

Valores de Exemplo:
  • '2020-04-01T00:00:00Z'
  • '2020-04-01T00:00Z'

Exemplo de política: Permite que o grupo, Contratantes, acesse os recursos instance-family somente até uma determinada data:

Allow group Contractors to manage instance-family in tenancy where request.utc-timestamp before '2022-01-01T00:00Z'

O acesso concedido pela política ao grupo Contratantes expirará em 1º de janeiro de 2022, ao meio dia no UTC.

request.utc-timestamp.month-of-year

Descrição: O mês do ano em que a solicitação é recebida para autorização. Você pode criar uma política que permita o acesso apenas durante meses específicos.

Operadores suportados: = | != | em

Valores permitidos: Mês numérico (correspondente a ISO 8601)

Exemplo de Valores: '1', '2', '3', ... '12'

Exemplo de política: Permitir que o grupo, SummerInterns, acesse os recursos instance-family somente durante junho, julho e agosto:

Allow group SummerInterns to manage instance-family in tenancy where ANY {request.utc-timestamp.month-of-year in ('6', '7', '8')}

O acesso concedido pela política ao grupo SummerInterns só é válido durante junho, julho e agosto de um determinado ano.

request.utc-timestamp.day-of-month

Descrição: O dia do mês em que a solicitação é recebida para autorização. Você pode criar uma política que permita o acesso apenas para dias específicos do mês. Lembre-se de que o intervalo do dia é calculado com base no UTC. Por exemplo, suponha que você esteja em Miami, Flórida, EUA e digite '1' para indicar o primeiro dia do mês. Para o mês de fevereiro, a política entrará em vigor de 12:00 AM até 11:59 PM UTC em 1º de fevereiro, que em Miami é de 7:00 PM em 31 de janeiro até 6:59 PM em 1º de fevereiro.

Operadores suportados: = | != | em

Valores permitidos: Dia numérico do mês

Exemplo de Valores: '1', '2', '3', ... '31'

Exemplo de política: Permitir que o grupo, ComplianceAuditors, leia all-resources somente no primeiro dia do mês.

Allow group ComplianceAuditors to read all-resources in tenancy where request.utc-timestamp.day-of-month = '1'

O acesso concedido pela política ao grupo ComplianceAuditors só é válido no primeiro dia de cada mês (o dia é definido pelo horário UTC).

request.utc-timestamp.day-of-week

Descrição: O dia da semana em que a solicitação é recebida para autorização. Você pode criar uma política que permita acesso apenas para dias específicos da semana. Observe que o intervalo do dia é calculado com base no UTC. Por exemplo, suponha que você esteja em Miami, Flórida, EUA e digite 'monday'. A política entrará em vigor de 12:00 AM a 11:59 PM UTC na segunda-feira, que em Miami é de 7:00 PM (EST) no domingo a 6:59 PM na segunda-feira.

Operadores suportados: = | != | em

Valores permitidos: Nome do dia da semana em inglês

Exemplo de Valores: 'Monday', 'Tuesday', 'Wednesday' etc.

Exemplo de política: Permitir que o grupo, WorkWeek, gerencieinstance-family somente durante a semana de trabalho da empresa.

Allow group WorkWeek to manage instance-family where ANY {request.utc-timestamp.day-of-week in ('monday', 'tuesday', 'wednesday', 'thursday', 'friday')}

O acesso concedido pela política ao grupo WorkWeek só é válido nos dias especificados (o dia é definido pelo horário UTC).

request.utc-timestamp.time-of-day

Descrição: A hora do dia em que a solicitação é recebida para autorização. Você pode criar uma política que permita o acesso apenas para um período específico durante o dia. Observe que a hora do dia é calculada com base no UTC. Se você viver em um fuso horário que adote o horário de verão, atualize a política quando o horário mudar.

Operadores suportados: entre

Valores permitidos: Intervalo de tempo no UTC no formato ISO 8601: hh:mm:ssZ

Exemplo de Valores: '01:00:00Z' AND '2:01:00Z'

Exemplo de políticas: Permitir que o grupo DayShift gerencie instâncias e recursos relacionados entre as horas de 9:00 AM e 5:00 PM Horário Padrão do Pacífico (PST).

Observe que os horários são convertidos em UTC:

Allow group DayShift to manage instance-family where request.utc-timestamp.time-of-day between '17:00:00Z' and '01:00:00Z'

Quero permitir que o grupo NightShift gerencie instâncias e recursos relacionados entre 5:00 PM e 9:00 AM PST.

Allow group NightShift to manage instance-family where request.utc-timestamp.time-of-day between '01:00:00Z' and '17:00:00Z'

Nos dois exemplos, a hora atual é calculada e testada para ver se está dentro do intervalo fornecido ou não (ignorando em qual dia a hora cai).