AWS Identity and Access Management (IAM) ayuda a controlar de forma segura el acceso a los recursos de AWS que se ejecutan en su dispositivo AWS Snowball Edge. Utilice IAM para controlar quién está autenticado (ha iniciado sesión) y autorizado (tiene permisos) para utilizar recursos.
IAM puede utilizarse localmente en su dispositivo. Puede usar el servicio IAM local para crear nuevos usuarios y adjuntarles políticas de IAM. Puede utilizar estas políticas para permitir el acceso necesario para realizar tareas asignadas. Por ejemplo, puede otorgar a un usuario la capacidad de transferir datos, pero limitar su capacidad de crear nuevas instancias compatibles con Amazon EC2.
Además, puede crear credenciales locales basadas en sesión utilizando AWS Security Token Service (AWS STS) en su dispositivo. Para obtener más información sobre el servicio IAM, consulte Introducción en la Guía del usuario de IAM.
Las credenciales raíz del dispositivo no se pueden deshabilitar y no puede utilizar las políticas de su cuenta para denegar explícitamente el acceso al usuario raíz de la Cuenta de AWS. Le recomendamos que proteja las claves de acceso de usuario raíz y que cree credenciales de usuario de IAM para la interacción diaria con su dispositivo.
importante
La documentación de esta sección se aplica al uso local de IAM en un dispositivo AWS Snowball Edge. Para obtener más información acerca del uso de IAM en la Nube de AWS, consulte Administración de identidad y acceso en AWS Snowball.
Para que los servicios de AWS funcionen correctamente en un dispositivo Snowball Edge, debe permitir los puertos para los servicios. Para obtener más información, consulte Requisitos de puertos para los servicios de AWS en un dispositivo Snow Family.
Temas
Uso de la AWS CLI y operaciones de la API en un dispositivo Snowball Edge
Cuando utilice la AWS CLI u operaciones de la API para emitir comandos de IAM, AWS STS, Amazon S3 y Amazon EC2 en un dispositivo Snowball Edge, debe especificar region
como “snow
”. Puede hacerlo utilizando aws configure
o dentro del propio comando, como se muestra en los ejemplos siguientes.
aws configure --profile abc
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: 1234567
Default region name [None]: snow
Default output format [None]: json
Or (Disyunción)
aws iam list-users --profile snowballEdge --endpoint http://192.0.2.0:6078 --region snow
nota
El ID de clave de acceso y la clave secreta de acceso que se usan localmente en AWS Snowball Edge no se pueden intercambiar con las claves de la Nube de AWS.
Lista de comandos de la AWS CLI de IAM admitidos en los dispositivos Snowball Edge
A continuación, encontrará una descripción del subconjunto de comandos y opciones de la AWS CLI para IAM que pueden utilizarse en los dispositivos Snowball Edge. Si un comando o una opción no aparece en la lista siguiente, no está admitido. En la descripción se indican los parámetros no admitidos para los comandos.
-
attach-role-policy: asocia la política administrada indicada al rol de IAM especificado.
-
attach-user-policy: asocia la política administrada indicada al usuario especificado.
-
create-access-key: crea una nueva clave de acceso secreta de IAM local y el ID de clave de acceso de AWS correspondiente para el usuario especificado.
-
create-policy: crea una nueva política administrada de IAM para el dispositivo.
-
create-role: crea un nuevo rol de IAM local para el dispositivo. Los siguientes parámetros no se admiten:
-
Tags
-
PermissionsBoundary
-
-
create-user: crea un nuevo usuario de IAM local para el dispositivo. Los siguientes parámetros no se admiten:
-
Tags
-
PermissionsBoundary
-
-
delete-access-key: elimina una nueva clave de acceso secreta de IAM local y el ID de clave de acceso de AWS correspondiente para el usuario especificado.
-
delete-policy: elimina la política administrada especificada.
-
delete-role: elimina el rol especificado.
-
delete-user: elimina el usuario especificado.
-
detach-role-policy: quita la política administrada indicada del rol especificado.
-
detach-user-policy: quita la política administrada indicada del usuario especificado.
-
get-policy: recupera información sobre la política administrada especificada, incluida la versión predeterminada de la política y el número total de usuarios, grupos y roles de IAM a los que se asocia dicha política.
-
get-policy-version: recupera información acerca de la versión indicada de la política administrada especificada, incluido el documento de políticas.
-
get-role: recupera información sobre el rol especificado, incluidos la ruta del rol, el GUID, el ARN y la política de confianza del rol que concede permiso para asumir el rol.
-
get-user: recupera información acerca del usuario de IAM especificado, incluidos la fecha de creación, la ruta, el ID exclusivo y el ARN del usuario.
-
list-access-keys: devuelve información sobre los ID de clave de acceso asociados al usuario de IAM especificado.
-
list-attached-role-policies: enumera todas las políticas administradas asociadas al rol de IAM especificado.
-
list-attached-user-policies: enumera todas las políticas administradas asociadas al usuario de IAM especificado.
-
list-entities-for-policy: enumera todos los usuarios, grupos y roles de IAM a los que está asociada la política administrada especificada.
-
--EntityFilter
: solo se admiten los valoresuser
yrole
.
-
-
list-policies: enumera todas las políticas administradas que están disponibles en su Cuenta de AWS local. El siguiente parámetro no se admite:
-
--PolicyUsageFilter
-
-
list-roles: enumera los roles de IAM locales que tienen el prefijo de ruta especificado.
-
list-users: enumera los usuarios de IAM que tienen el prefijo de ruta especificado.
-
update-access-key: cambia el estado de la clave de acceso especificada de activa a inactiva o viceversa.
-
update-assume-role-policy: actualiza la política que concede a una entidad de IAM permiso para asumir un rol.
-
update-role: actualiza la descripción o la configuración de duración máxima de la sesión de un rol.
-
update-user: actualiza el nombre o la ruta del usuario de IAM especificado.
Operaciones de la API de IAM admitidas en los dispositivos Snow Family
A continuación, encontrará las operaciones de la API de IAM que puede utilizar con un dispositivo Snowball Edge, con enlaces a sus descripciones en la Referencia de la API de IAM.
-
AttachRolePolicy: asocia la política administrada indicada al rol de IAM especificado.
-
AttachUserPolicy: asocia la política administrada indicada al usuario especificado.
-
CreateAccessKey: crea una nueva clave de acceso secreta de IAM local y el ID de clave de acceso de AWS correspondiente para el usuario especificado.
-
CreatePolicy: crea una nueva política administrada de IAM para el dispositivo.
-
CreateRole: crea un nuevo rol de IAM local para el dispositivo.
-
CreateUser: crea un nuevo usuario de IAM local para el dispositivo.
Los siguientes parámetros no se admiten:
-
Tags
-
PermissionsBoundary
-
-
DeleteAccessKey: elimina la clave de acceso especificada.
-
DeletePolicy: elimina la política administrada especificada.
-
DeleteRole: elimina el rol especificado.
-
DeleteUser: elimina el usuario especificado.
-
DetachRolePolicy: quita la política administrada indicada del rol especificado.
-
DetachUserPolicy: quita la política administrada indicada del usuario especificado.
-
GetPolicy: recupera información sobre la política administrada especificada, incluida la versión predeterminada de la política y el número total de usuarios, grupos y roles de IAM a los que se asocia dicha política.
-
GetPolicyVersion: recupera información acerca de la versión indicada de la política administrada especificada, incluido el documento de políticas.
-
GetRole: recupera información sobre el rol especificado, incluidos la ruta del rol, el GUID, el ARN y la política de confianza del rol que concede permiso para asumir el rol.
-
GetUser: recupera información acerca del usuario de IAM especificado, incluidos la fecha de creación, la ruta, el ID exclusivo y el ARN del usuario.
-
ListAccessKeys: devuelve información sobre los ID de clave de acceso asociados al usuario de IAM especificado.
-
ListAttachedRolePolicies: enumera todas las políticas administradas asociadas al rol de IAM especificado.
-
ListAttachedUserPolicies: enumera todas las políticas administradas asociadas al usuario de IAM especificado.
-
ListEntitiesForPolicy: recupera información acerca del usuario de IAM especificado, incluidos la fecha de creación, la ruta, el ID exclusivo y el ARN del usuario.
-
--EntityFilter
: solo se admiten los valoresuser
yrole
.
-
-
ListPolicies: enumera todas las políticas administradas que están disponibles en su Cuenta de AWS local. El siguiente parámetro no se admite:
-
--PolicyUsageFilter
-
-
ListRoles: enumera los roles de IAM que tienen el prefijo de ruta especificado.
-
ListUsers: enumera los usuarios de IAM que tienen el prefijo de ruta especificado.
-
UpdateAccessKey: cambia el estado de la clave de acceso especificada de activa a inactiva o viceversa.
-
UpdateAssumeRolePolicy: actualiza la política que concede a una entidad de IAM permiso para asumir un rol.
-
UpdateRole: actualiza la descripción o la configuración de duración máxima de la sesión de un rol.
-
UpdateUser: actualiza el nombre o la ruta del usuario de IAM especificado.
Versión y gramática de la política de IAM admitidas en los dispositivos Snow Family
A continuación se presenta la versión local compatible de IAM 2012-10-17 de la política de IAM y un subconjunto de la gramática de políticas.
Tipo de política | Gramática compatible |
---|---|
Políticas basadas en la identidad (política de usuario/rol) | "Effect ", "Action " y "Resource " notaIAM local no admite " |
Políticas basadas en recursos (política de confianza de roles) | "Effect ", "Action " y "Principal " notaPara Principal solo se permite el ID de Cuenta de AWS o el ID de entidad principal. |
Ejemplos de políticas de IAM en dispositivos Snow Family
nota
Los usuarios de AWS Identity and Access Management (IAM) necesitan tener permisos "snowballdevice:*"
para poder utilizar la aplicación AWS OpsHub for Snow Family para administrar dispositivos Snow Family.
A continuación se muestran ejemplos de políticas que conceden permisos para un dispositivo Snowball Edge.
Autorización de la llamada a GetUser para un usuario de muestra en un dispositivo Snow Family a través de la API de IAM
Utilice la siguiente política para permitir la llamada a GetUser para un usuario de ejemplo a través de la API de IAM.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "iam:GetUser", "Resource": "arn:aws:iam:::user/
example-user
" } ] }
Autorización del acceso total a la API de Amazon S3 en un dispositivo Snow Family
Utilice la siguiente política para permitir el acceso total a la API de Amazon S3.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}
Autorización del acceso de lectura y escritura a un bucket de Amazon S3 en un dispositivo Snow Family
Utilice la siguiente política para permitir el acceso de lectura y escritura a un bucket específico.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListObjectsInBucket",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::bucket-name"
},
{
"Sid": "AllObjectActions",
"Effect": "Allow",
"Action": "s3:*Object",
"Resource": "arn:aws:s3:::bucket-name/*"
}
]
}
Autorización del acceso de enumeración, obtención y colocación de un bucket de Amazon S3 en un dispositivo Snow Family
Utilice la siguiente política para permitir el acceso List, Get y Put para un bucket específico de S3.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:List*"
],
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
}
]
}
Autorización del acceso total a la API de Amazon EC2 en un dispositivo Snow Family
Utilice la siguiente política para permitir acceso total a Amazon EC2.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:*",
"Resource": "*"
}
]
}
Autorización del acceso para iniciar y detener instancias compatibles con Amazon EC2 en un dispositivo Snow Family
Utilice la siguiente política para permitir el acceso para iniciar y detener instancias de Amazon EC2.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": "*"
}
]
}
Denegación de las llamadas a DescribeLaunchTemplates, pero concesión de permiso a todas las llamadas a DescribeImages en un dispositivo Snow Family
Utilice la siguiente política para denegar las llamadas a DescribeLaunchTemplates
pero permitir todas las llamadas a DescribeImages
.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": [
"ec2:DescribeLaunchTemplates"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:DescribeImages"
],
"Resource": "*"
}
]
}
Política para las llamadas a la API en un dispositivo Snow Family
Enumera todas las políticas administradas que están disponibles en su dispositivo Snow, incluidas sus propias políticas administradas definidas por el cliente. Hay más información disponible al respecto en list-policies.
aws iam list-policies --endpoint http://
ip-address
:6078 --profile snowballEdge --region snow { "Policies": [ { "PolicyName": "Administrator", "Description": "Root user admin policy for Account 123456789012", "CreateDate": "2020-03-04T17:44:59.412Z", "AttachmentCount": 1, "IsAttachable": true, "PolicyId": "policy-id
", "DefaultVersionId": "v1", "Path": "/", "Arn": "arn:aws:iam::123456789012:policy/Administrator", "UpdateDate": "2020-03-04T19:10:45.620Z" } ] }
Ejemplo de TrustPolicy en un dispositivo Snow Family
Una política de confianza devuelve un conjunto de credenciales de seguridad temporales que puede usar para obtener acceso a recursos de AWS a los que normalmente no tendría acceso. Las credenciales temporales incluyen un ID de clave de acceso, una clave de acceso secreta y un token de seguridad. Normalmente, se utiliza AssumeRole
en la cuenta para el acceso entre cuentas.
A continuación, se muestra un ejemplo de una política de confianza. Para obtener más información acerca de la política de confianza, consulte AssumeRole en la Referencia de la API de AWS Security Token Service.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
AccountId
:root" //You can use the Principal ID instead of the account ID. ] }, "Action": [ "sts:AssumeRole" ] } ] }