Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejemplos de IAM políticas para Amazon EBS
De forma predeterminada, los usuarios y los roles no tienen permiso para crear o modificar EBS los recursos de Amazon. Tampoco pueden realizar tareas con AWS Management Console, AWS Command Line Interface (AWS CLI) o AWS API. Para conceder a los usuarios permiso para realizar acciones en los recursos que necesitan, un IAM administrador puede crear IAM políticas. A continuación, el administrador puede añadir las IAM políticas a las funciones y los usuarios pueden asumir las funciones.
Para obtener información sobre cómo crear una política IAM basada en la identidad mediante estos documentos de JSON política de ejemplo, consulte Crear IAM políticas (consola) en la Guía del IAMusuario.
Para obtener más información sobre las acciones y los tipos de recursos definidos por AmazonEBS, incluido el ARNs formato de cada uno de los tipos de recursos, consulte Acciones, recursos y claves de condición de Amazon Elastic Block Store en la Referencia de autorización de servicios.
Temas
Prácticas recomendadas sobre las políticas
Las políticas basadas en la identidad determinan si alguien puede crear, acceder o eliminar EBS los recursos de Amazon de tu cuenta. Estas acciones pueden generar costos adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:
-
Comience con las políticas AWS administradas y avance hacia los permisos con privilegios mínimos: para empezar a conceder permisos a sus usuarios y cargas de trabajo, utilice las políticas AWS administradas que otorgan permisos para muchos casos de uso comunes. Están disponibles en su. Cuenta de AWS Le recomendamos que reduzca aún más los permisos definiendo políticas administradas por el AWS cliente que sean específicas para sus casos de uso. Para obtener más información, consulte las políticas AWS gestionadas o las políticas AWS gestionadas para las funciones laborales en la Guía del IAM usuario.
-
Aplique permisos con privilegios mínimos: cuando establezca permisos con IAM políticas, conceda solo los permisos necesarios para realizar una tarea. Para ello, debe definir las acciones que se puedes llevar a cabo en determinados recursos en condiciones específicas, también conocidos como permisos de privilegios mínimos. Para obtener más información sobre cómo IAM aplicar permisos, consulte Políticas y permisos IAM en la IAM Guía del usuario.
-
Utilice las condiciones en IAM las políticas para restringir aún más el acceso: puede añadir una condición a sus políticas para limitar el acceso a las acciones y los recursos. Por ejemplo, puede escribir una condición de política para especificar que todas las solicitudes deben enviarse medianteSSL. También puedes usar condiciones para conceder el acceso a las acciones del servicio si se utilizan a través de una acción específica Servicio de AWS, por ejemplo AWS CloudFormation. Para obtener más información, consulte los elementos IAM JSON de la política: Condición en la Guía del IAM usuario.
-
Utilice IAM Access Analyzer para validar sus IAM políticas y garantizar permisos seguros y funcionales: IAM Access Analyzer valida las políticas nuevas y existentes para que se ajusten al lenguaje de las políticas (JSON) y IAM a las IAM mejores prácticas. IAMAccess Analyzer proporciona más de 100 comprobaciones de políticas y recomendaciones prácticas para ayudarle a crear políticas seguras y funcionales. Para obtener más información, consulte Validar políticas con IAM Access Analyzer en la Guía del IAM usuario.
-
Requerir autenticación multifactorial (MFA): si se encuentra en una situación en la que se requieren IAM usuarios o un usuario raíz Cuenta de AWS, actívela MFA para aumentar la seguridad. Para solicitarlo MFA cuando se convoque a API las operaciones, añada MFA condiciones a sus políticas. Para obtener más información, consulte APIAcceso seguro con MFA en la Guía del IAM usuario.
Para obtener más información sobre las prácticas recomendadasIAM, consulte las prácticas recomendadas de seguridad IAM en la Guía del IAM usuario.
Permitir a los usuarios utilizar la EBS consola de Amazon
Para acceder a la consola de Amazon Elastic Block Store, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirte enumerar y ver detalles sobre los EBS recursos de Amazon que tienes Cuenta de AWS. Si crea una política basada en identidades que sea más restrictiva que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para las entidades (usuarios o roles) que tengan esa política.
No es necesario que concedas permisos mínimos de consola a los usuarios que realicen llamadas únicamente al AWS CLI o al AWS API. En su lugar, permita el acceso únicamente a las acciones que coincidan con la API operación que están intentando realizar.
Para garantizar que los usuarios y los roles puedan seguir utilizando la EBS consola de Amazon, adjunta también la política de Amazon EBS
o ConsoleAccess
AWS gestionada a las entidades. Para obtener más información, consulta Cómo añadir permisos a un usuario en la Guía del IAM usuario.ReadOnly
Cómo permitir a los usuarios consultar sus propios permisos
En este ejemplo se muestra cómo se puede crear una política que permita a IAM los usuarios ver las políticas integradas y administradas asociadas a su identidad de usuario. Esta política incluye permisos para completar esta acción en la consola o mediante programación mediante la tecla o. AWS CLI AWS API
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }
Permiso para los usuarios de trabajo con volúmenes
Ejemplos
Ejemplo: Adjuntar y separar volúmenes
Cuando una API acción requiere que la persona que realiza la llamada especifique varios recursos, debe crear una declaración de política que permita a los usuarios acceder a todos los recursos necesarios. Si necesita utilizar un elemento Condition
con uno o varios de estos recursos, debe crear varias instrucciones, tal y como se muestra en este ejemplo.
La siguiente política permite a los usuarios adjuntar volúmenes con la etiqueta iam-user-name"volume_user
=" a instancias con la etiqueta "department=dev
«y separar esos volúmenes de esas instancias. Si adjuntas esta política a un IAM grupo, la variable de aws:username
política otorga a cada usuario del grupo permiso para adjuntar o separar volúmenes de las instancias con una etiqueta denominada cuyo nombre de usuario volume_user
es un valor.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DetachVolume" ], "Resource": "arn:aws:ec2:us-east-1:
account-id
:instance/*", "Condition": { "StringEquals": { "aws:ResourceTag/department": "dev" } } }, { "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DetachVolume" ], "Resource": "arn:aws:ec2:us-east-1:account-id
:volume/*", "Condition": { "StringEquals": { "aws:ResourceTag/volume_user": "${aws:username}" } } } ] }
Ejemplo: Crear un volumen
La siguiente política permite a los usuarios utilizar la CreateVolumeAPIacción. Se permite al usuario crear un volumen únicamente si este está cifrado y si el tamaño del volumen es inferior a 20 GiB.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateVolume" ], "Resource": "arn:aws:ec2:us-east-1:
account-id
:volume/*", "Condition":{ "NumericLessThan": { "ec2:VolumeSize" : "20" }, "Bool":{ "ec2:Encrypted" : "true" } } } ] }
Ejemplo: Crear un volumen con etiquetas
La siguiente política contiene la clave de condición aws:RequestTag
que exige a los usuarios que etiqueten todos los volúmenes que creen con las etiquetas costcenter=115
y stack=prod
. Si los usuarios no transmiten estas etiquetas en concreto o si no especifican ninguna etiqueta, la solicitud dará un error.
En las acciones de creación de recursos que aplican etiquetas, los usuarios también deben tener permisos para utilizar la acción CreateTags
. La segunda instrucción utiliza la clave de condición ec2:CreateAction
para permitir a los usuarios crear etiquetas únicamente en el contexto de CreateVolume
. Los usuarios no pueden etiquetar volúmenes que ya existen ni otros recursos.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateTaggedVolumes", "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:us-east-1:
account-id
:volume/*", "Condition": { "StringEquals": { "aws:RequestTag/costcenter": "115", "aws:RequestTag/stack": "prod" } } }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:us-east-1:account-id
:volume/*", "Condition": { "StringEquals": { "ec2:CreateAction" : "CreateVolume" } } } ] }
La siguiente política permite a los usuarios crear un volumen sin tener que especificar etiquetas. La acción CreateTags
solo se evalúa si se especifican etiquetas en la solicitud CreateVolume
. Si los usuarios especifican etiquetas, la etiqueta tiene que ser purpose=test
. No se permite ninguna otra etiqueta en la solicitud.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:us-east-1:
account-id
:volume/*", "Condition": { "StringEquals": { "aws:RequestTag/purpose": "test", "ec2:CreateAction" : "CreateVolume" }, "ForAllValues:StringEquals": { "aws:TagKeys": "purpose" } } } ] }
Ejemplo: trabajar con volúmenes mediante la EC2 consola de Amazon
La siguiente política otorga a los usuarios permiso para ver y crear volúmenes y adjuntar y separar volúmenes a instancias específicas mediante la EC2 consola de Amazon.
Los usuarios pueden adjuntar cualquier volumen a instancias que tienen la etiqueta "purpose=test
" y también separar volúmenes de dichas instancias. Para adjuntar un volumen mediante la EC2 consola de Amazon, resulta útil que los usuarios tengan permiso para usar la ec2:DescribeInstances
acción, ya que esto les permite seleccionar una instancia de una lista rellenada previamente en el cuadro de diálogo Adjuntar volumen. Sin embargo, esto también permite a los usuarios ver todas las instancias de la página Instances (Instancia[s]) de la consola, por lo que puede omitir esta acción.
En la primera instrucción, la acción ec2:DescribeAvailabilityZones
es necesaria para garantizar que un usuario pueda seleccionar una zona de disponibilidad al crear un volumen.
Los usuarios no pueden etiquetar los volúmenes que crean (ni durante la creación de volúmenes ni después).
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeVolumes", "ec2:DescribeAvailabilityZones", "ec2:CreateVolume", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DetachVolume" ], "Resource": "arn:aws:ec2:region:111122223333:instance/*", "Condition": { "StringEquals": { "aws:ResourceTag/purpose": "test" } } }, { "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DetachVolume" ], "Resource": "arn:aws:ec2:region:111122223333:volume/*" } ] }
Permiso para los usuarios de trabajo con instantáneas
Los siguientes son ejemplos de políticas tanto para CreateSnapshot
(point-in-timeinstantáneas de un EBS volumen) como para CreateSnapshots
(instantáneas de varios volúmenes).
Ejemplos
Ejemplo: Crear una instantánea
La siguiente política permite a los clientes utilizar la CreateSnapshotAPIacción. El cliente puede crear instantáneas únicamente si este está cifrado y si el tamaño del volumen es inferior a 20 GiB.
{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"arn:aws:ec2:us-east-1::snapshot/*" }, { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"arn:aws:ec2:us-east-1:
account-id
:volume/*", "Condition":{ "NumericLessThan":{ "ec2:VolumeSize":"20" }, "Bool":{ "ec2:Encrypted":"true" } } } ] }
Ejemplo: Crear instantáneas
La siguiente política permite a los clientes utilizar la CreateSnapshotsAPIacción. El cliente solo puede crear instantáneas si todos los volúmenes de la instancia son GP2 tipográficos.
{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:CreateSnapshots", "Resource":[ "arn:aws:ec2:us-east-1::snapshot/*", "arn:aws:ec2:*:*:instance/*" ] }, { "Effect":"Allow", "Action":"ec2:CreateSnapshots", "Resource":"arn:aws:ec2:us-east-1:*:volume/*", "Condition":{ "StringLikeIfExists":{ "ec2:VolumeType":"gp2" } } } ] }
Ejemplo: Crear una instantánea con etiquetas
La siguiente política incluye la clave de condición aws:RequestTag
que exige al cliente aplicar las etiquetas costcenter=115
y stack=prod
a cualquier instantánea nueva. Si los usuarios no transmiten estas etiquetas en concreto o si no especifican ninguna etiqueta, la solicitud dará un error.
En las acciones de creación de recursos que aplican etiquetas, los clientes también deben tener permisos para utilizar la acción CreateTags
. La tercera instrucción utiliza la clave de condición ec2:CreateAction
para permitir a los clientes crear etiquetas únicamente en el contexto de CreateSnapshot
. Los clientes no pueden etiquetar volúmenes que ya existen ni otros recursos.
{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"arn:aws:ec2:us-east-1:
account-id
:volume/*" }, { "Sid":"AllowCreateTaggedSnapshots", "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "aws:RequestTag/costcenter":"115", "aws:RequestTag/stack":"prod" } } }, { "Effect":"Allow", "Action":"ec2:CreateTags", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "ec2:CreateAction":"CreateSnapshot" } } } ] }
Ejemplo: Creación de instantáneas de varios volúmenes con etiquetas
La siguiente política incluye la clave de condición aws:RequestTag
que exige al cliente aplicar las etiquetas costcenter=115
y stack=prod
al crear un conjunto de instantáneas de varios volúmenes. Si los usuarios no transmiten estas etiquetas en concreto o si no especifican ninguna etiqueta, la solicitud dará un error.
{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:CreateSnapshots", "Resource":[ "arn:aws:ec2:us-east-1::snapshot/*", "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*" ] }, { "Sid":"AllowCreateTaggedSnapshots", "Effect":"Allow", "Action":"ec2:CreateSnapshots", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "aws:RequestTag/costcenter":"115", "aws:RequestTag/stack":"prod" } } }, { "Effect":"Allow", "Action":"ec2:CreateTags", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "ec2:CreateAction":"CreateSnapshots" } } } ] }
La siguiente política permite a los clientes crear una instantánea sin tener que especificar etiquetas. La acción CreateTags
se evalúa solo si se especifican etiquetas en la solicitud CreateSnapshot
o CreateSnapshots
. Las etiquetas se pueden omitir en la solicitud. Si se especifica una etiqueta, la etiqueta debe ser purpose=test
. No se permite ninguna otra etiqueta en la solicitud.
{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"*" }, { "Effect":"Allow", "Action":"ec2:CreateTags", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "aws:RequestTag/purpose":"test", "ec2:CreateAction":"CreateSnapshot" }, "ForAllValues:StringEquals":{ "aws:TagKeys":"purpose" } } } ] }
La siguiente política permite a los clientes crear conjuntos de instantáneas de varios volúmenes sin tener que especificar etiquetas. La acción CreateTags
se evalúa solo si se especifican etiquetas en la solicitud CreateSnapshot
o CreateSnapshots
. Las etiquetas se pueden omitir en la solicitud. Si se especifica una etiqueta, la etiqueta debe ser purpose=test
. No se permite ninguna otra etiqueta en la solicitud.
{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:CreateSnapshots", "Resource":"*" }, { "Effect":"Allow", "Action":"ec2:CreateTags", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "aws:RequestTag/purpose":"test", "ec2:CreateAction":"CreateSnapshots" }, "ForAllValues:StringEquals":{ "aws:TagKeys":"purpose" } } } ] }
La siguiente política permite crear instantáneas solo si el volumen de origen se etiqueta con User:username
para el cliente y la propia instantánea se etiqueta con Environment:Dev
y User:username
. El cliente puede añadir etiquetas adicionales a la instantánea.
{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"arn:aws:ec2:us-east-1:
account-id
:volume/*", "Condition":{ "StringEquals":{ "aws:ResourceTag/User":"${aws:username}" } } }, { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "aws:RequestTag/Environment":"Dev", "aws:RequestTag/User":"${aws:username}" } } }, { "Effect":"Allow", "Action":"ec2:CreateTags", "Resource":"arn:aws:ec2:us-east-1::snapshot/*" } ] }
La siguiente política de CreateSnapshots
permite crear instantáneas solo si el volumen de origen se etiqueta con User:username
para el cliente y la propia instantánea se etiqueta con Environment:Dev
y User:username
.
{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:CreateSnapshots", "Resource":"arn:aws:ec2:us-east-1:*:instance/*", }, { "Effect":"Allow", "Action":"ec2:CreateSnapshots", "Resource":"arn:aws:ec2:us-east-1:
account-id
:volume/*", "Condition":{ "StringEquals":{ "aws:ResourceTag/User":"${aws:username}" } } }, { "Effect":"Allow", "Action":"ec2:CreateSnapshots", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "aws:RequestTag/Environment":"Dev", "aws:RequestTag/User":"${aws:username}" } } }, { "Effect":"Allow", "Action":"ec2:CreateTags", "Resource":"arn:aws:ec2:us-east-1::snapshot/*" } ] }
La siguiente política permite la eliminación de una instantánea solo si la instantánea está etiquetada con User:nombre de usuario para el cliente.
{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:DeleteSnapshot", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "aws:ResourceTag/User":"${aws:username}" } } } ] }
La siguiente política permite a un cliente crear una instantánea, pero deniega la acción si la instantánea que se está creando tiene una clave de etiqueta value=stack
.
{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":[ "ec2:CreateSnapshot", "ec2:CreateTags" ], "Resource":"*" }, { "Effect":"Deny", "Action":"ec2:CreateSnapshot", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "ForAnyValue:StringEquals":{ "aws:TagKeys":"stack" } } } ] }
La siguiente política permite a un cliente crear instantáneas, pero deniega la acción si las instantáneas que se están creando tienen una clave de etiqueta value=stack
.
{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":[ "ec2:CreateSnapshots", "ec2:CreateTags" ], "Resource":"*" }, { "Effect":"Deny", "Action":"ec2:CreateSnapshots", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "ForAnyValue:StringEquals":{ "aws:TagKeys":"stack" } } } ] }
La siguiente política le permite combinar varias acciones en una sola política. Solo puede crear una instantánea (en el contexto de CreateSnapshots
) cuando la instantánea se crea en la región us-east-1
. Solo puede crear instantáneas (en el contexto de CreateSnapshots
) cuando las instantáneas se crean en la región us-east-1
y cuando el tipo de instancia es t2*
.
{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":[ "ec2:CreateSnapshots", "ec2:CreateSnapshot", "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:snapshot/*", "arn:aws:ec2:*:*:volume/*" ], "Condition":{ "StringEqualsIgnoreCase": { "ec2:Region": "us-east-1" }, "StringLikeIfExists": { "ec2:InstanceType": ["t2.*"] } } } ] }
Ejemplo: Copia de instantáneas
Los permisos a nivel de recursos especificados para la CopySnapshotacción se aplican únicamente a la nueva instantánea. No se pueden especificar para la instantánea de origen.
La siguiente política de ejemplo permite a las entidades copiar instantáneas sólo si la nueva instantánea se crea con la clave de etiqueta de purpose
y un valor de etiqueta de production
(purpose=production
).
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCopySnapshotWithTags", "Effect": "Allow", "Action": "ec2:CopySnapshot", "Resource": "arn:aws:ec2:*:
account-id
:snapshot/*", "Condition": { "StringEquals": { "aws:RequestTag/purpose": "production" } } } ] }
Ejemplo: Modificar la configuración de permisos de las instantáneas
La siguiente política permite la modificación de una instantánea solo si la instantánea está etiquetada conUser:
, ¿dónde username
username
es el nombre de usuario de la AWS cuenta del cliente. La solicitud falla si no se cumple esta condición.
{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:ModifySnapshotAttribute", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "aws:ResourceTag/user-name":"${aws:
username
}" } } } ] }