Claves de condición de Directory Service Data - AWS Directory Service

Claves de condición de Directory Service Data

Utilice las claves de condición de Directory Service Data para agregar instrucciones específicas para acceder al nivel de usuarios y grupo. Esto les permite a los usuarios decidir qué entidades principales pueden realizar acciones en qué recursos y en qué condiciones.

El elemento Condition o bloque Condition permite especificar condiciones en las que entra en vigor una instrucción. El elemento Condition es opcional. Puede crear expresiones condicionales que utilicen operadores de condición, tales como igual (=) o menor que(<), para que la condición de la política coincida con los valores de la solicitud.

Si especifica varios elementos Condition en una instrucción o varias claves en un único elemento Condition, AWS las evalúa mediante una operación lógica AND. Si especifica varios valores para una única clave de condición, AWS evalúa la condición con una operación lógica OR. Se deben cumplir todas las condiciones antes de que se concedan los permisos de la instrucción. También puedes utilizar variables de marcador de posición al especificar condiciones. Por ejemplo, puede conceder un permiso de usuario de IAM para acceder a un recurso solo si está etiquetado con su nombre de usuario. Para obtener más información, consulte Condition con varias claves o valores en la Guía del usuario de IAM.

Para obtener una lista de las acciones que admiten estas claves de condición, consulte Acciones definidas por AWS Directory Service Data en la Referencia de autorización de servicios.

nota

Para obtener más información sobre los permisos de nivel de recursos basados en etiquetas, consulte Uso de etiquetas con políticas de IAM.

ds-data:SAMAccountName

Funciona con Operadores de cadena.

Utilice esta clave para permitir o denegar de forma explícita que un rol de IAM realice acciones en usuarios y grupos específicos.

importante

Al usar SAMAccountName o MemberName, se recomienda especificar ds-data:Identifier como SAMAccountName. Esto evita que los futuros identificadores compatibles con AWS Directory Service Data, como SID, infrinjan los permisos existentes.

La siguiente política impide que la entidad principal de IAM describa al usuario joe o al grupo joegroup.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "DenyDescribe", "Effect": "Deny", "Action": "ds-data:Describe*", "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "ds-data:SAMAccountName": [ "joe", "joegroup" ], "ds-data:identifier": [ "SAMAccountName" ] } } } ] }
nota

Esta clave de condición distingue entre mayúsculas y minúsculas. Debe usar operadores de condición StringEqualsIgnoreCase o StringNotEqualsIgnoreCase para comparar los valores de las cadenas independientemente de las mayúsculas y minúsculas.

ds-data:Identifier

Funciona con Operadores de cadena.

Utilice esta clave para definir qué identificador se debe utilizar en los permisos de la política de IAM. En la actualidad, solo se admite SAMAccountName.

La siguiente política permite a la entidad principal de IAM actualizar el usuario joe.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "UpdateJoe", "Effect": "Allow", "Action": "ds-data:UpdateUser", "Resource": "arn:aws:ds:us-east-1:111122223333:directory/d-012345678", "Condition": { "StringEqualsIgnoreCase": { "ds-data:SAMAccountName": [ "joe" ], "ds-data:identifier": [ "SAMAccountName" ] } } } ] }

ds-data:MemberName

Funciona con Operadores de cadena.

Utilice esta clave para definir a qué miembros se les pueden realizar operaciones.

importante

Al usar MemberName o SAMAccountName, recomendamos especificarlo ds-data:Identifier como SAMAccountName. Esto evita que los futuros identificadores compatibles con Directory Service Data, como SID, infrinjan los permisos existentes.

La siguiente política permite a la entidad principal de IAM realizar AddGroupMember sobre un miembro joe de cualquier grupo.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AddJoe", "Effect": "Allow", "Action": "ds-data:AddGroupMember", "Resource": "arn:aws:ds:us-east-1:111122223333:directory/d-012345678", "Condition": { "StringEqualsIgnoreCase": { "ds-data:MemberName": "joe" } } } ] }
nota

Esta clave de condición distingue entre mayúsculas y minúsculas. Debe usar operadores de condición StringEqualsIgnoreCase o StringNotEqualsIgnoreCase para comparar valores de cadenas, independientemente de las mayúsculas y minúsculas.

ds-data:MemberRealm

Funciona con Operadores de cadena.

Utilice esta clave para comprobar si el valor ds-data:MemberRealm de la política coincide con el dominio de miembros de la solicitud.

nota

Esta clave de condición distingue entre mayúsculas y minúsculas. Debe usar operadores de condición StringEqualsIgnoreCase o StringNotEqualsIgnoreCase para comparar valores de cadenas, independientemente de las mayúsculas y minúsculas.

La siguiente política permite a la entidad principal de IAM llamar a AddGroupMember para un miembro de bob en el ámbito ONE.TRU1.AMAZON.COM.

nota

En el siguiente ejemplo, se utiliza únicamente la clave de contexto ds-data:MemberName.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "addbob", "Effect": "Allow", "Action": "ds-data:AddGroupMember", "Resource": "arn:aws:ds:us-east-1:111122223333:directory/d-012345678", "Condition": { "StringEqualsIgnoreCase": { "ds-data:MemberName": "bob", "ds-data:MemberRealm": "one.tru1.amazon.com" } } } ] }

ds-data:Realm

Funciona con Operadores de cadena.

Utilice esta clave para comprobar si el valor ds-data:Realm de la política coincide con el dominio que una entidad principal de IAM puede utilizar para realizar solicitudes a las API de datos de Directory Service.

nota

Esta clave de condición distingue entre mayúsculas y minúsculas. Debe usar operadores de condición StringEqualsIgnoreCase o StringNotEqualsIgnoreCase para comparar valores de cadenas, independientemente de las mayúsculas y minúsculas.

La siguiente política impide que la entidad principal de IAM haga llamadas de ListUsers en el ámbito de one.tru1.amazon.com.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "DenyTrustedList", "Effect": "Deny", "Action": "ds-data:ListUsers", "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "ds-data:Realm": [ "one.tru1.amazon.com" ] } } } ] }