O Platform for AI (PAI) integra-se ao Resource Access Management (RAM) para autenticar todas as operações em recursos do PAI. As operações nos sub-serviços do PAI conectados a workspaces são encaminhadas ao RAM pelas APIs de workspace para autenticação. Para implementar controle de acesso refinado além das funções padrão, anexe uma política do RAM que inclua um elemento Condition a uma função do RAM. O PAI avalia as condições da política e transmite as propriedades correspondentes ao RAM para autenticação.
Se as funções predefinidas de workspace atendem aos seus requisitos de controle de acesso, consulte Apêndice: Funções e permissões antes de criar políticas personalizadas.
Chaves de condição compatíveis
O elemento Condition em uma política do RAM define quando uma permissão entra em vigor. O PAI oferece suporte às seguintes chaves de condição:
|
Chave |
Descrição |
Tipo |
Valores válidos |
|
|
Visibilidade do recurso no workspace |
String |
|
|
|
Indica se o usuário autenticado criou o recurso |
String |
|
|
|
Endereço IP de origem da solicitação |
String |
Um ou mais endereços IP, usados com o operador de condição |
Caso uma política anexada a um usuário do RAM não incluapai:Accessibilityoupai:EntityAccessTypeno elementoCondition, o RAM ignora essas verificações de propriedade durante a autenticação.
Restrinja o acesso por visibilidade do recurso e criador
Anexe políticas com as condições pai:Accessibility e pai:EntityAccessType às funções do RAM para controlar quais recursos cada função pode acessar com base na visibilidade e na propriedade.
O elemento Resource em cada Statement usa o seguinte formato:
acs:<sub-service-code>:<region>:<account-id>:workspace/<workspace-id>/<resource-name>/<resource-id>
Função de desenvolvedor de algoritmos
Para conceder a um desenvolvedor acesso apenas aos próprios recursos privados e a todos os recursos públicos, use uma política com duas instruções.
A primeira instrução permite que a função acesse recursos simultaneamente privados (pai:Accessibility: PRIVATE) e criados pelo usuário autenticado (pai:EntityAccessType: CREATOR). A segunda instrução libera o acesso a todos os recursos públicos, independentemente do criador.
{
"Version": "1",
"Statement": [
{
"Action": [
"pai:*"
],
"Resource": "acs:paidsw:*:*:*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"pai:Accessibility": "PRIVATE",
"pai:EntityAccessType": "CREATOR"
}
}
},
{
"Action": [
"pai:*"
],
"Resource": "acs:paidsw:*:*:*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"pai:Accessibility": "PUBLIC"
}
}
}
]
}
Função de administrador
Para conceder a uma função acesso irrestrito a todos os recursos do workspace — independentemente da visibilidade ou do criador — omita completamente o elemento Condition. O RAM concede acesso sem verificar pai:Accessibility ou pai:EntityAccessType.
{
"Version": "1",
"Statement": [
{
"Action": [
"pai:*"
],
"Resource": "acs:paidsw:*:*:*",
"Effect": "Allow"
}
]
}
Outras funções
As políticas para outras funções de workspace seguem o mesmo padrão da função de desenvolvedor de algoritmos. O elemento Condition permanece inalterado; apenas o elemento Action varia conforme as permissões atribuídas a cada função.
Restrinja o acesso por endereço IP
Para bloquear solicitações de endereços IP específicos, anexe uma política com Effect: Deny e a chave de condição acs:SourceIp à função do RAM. Use o operador de condição IpAddress para especificar os endereços bloqueados. Quando uma solicitação se origina de um endereço IP listado, o RAM rejeita o acesso aos recursos especificados.
A política a seguir nega todas as ações em recursos eas e pai* quando a solicitação vem de 192.0.2.100 ou 203.0.113.200:
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": "*",
"Resource": [
"acs:eas:*:*:*",
"acs:pai*:*:*:*"
],
"Condition": {
"IpAddress": {
"acs:SourceIp": [
"192.0.2.100",
"203.0.113.200"
]
}
}
}
]
}
O elementoResourcesegue o formatoacs:<sub-service-ram-code>:<region>:<account-id>:workspace/<workspace-id>/<resource-name-plural>/<resource-id>.
Como funciona
Quando um usuário do RAM solicita acesso a um objeto de API do PAI, o PAI avalia as propriedades do recurso e chama a API do RAM para autenticação. O RAM concede acesso somente quando ambas as condições abaixo são verdadeiras:
O usuário do RAM tem permissão para executar a ação solicitada no recurso.
Os valores das propriedades de tempo de execução transmitidos pelo PAI ao RAM (como
pai:Accessibilityepai:EntityAccessType) correspondem aos valores definidos no elementoConditionda política anexada.