Ejemplos del Analizador de acceso de IAM que utilizan la AWS CLI
En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar situaciones comunes usando la AWS Command Line Interface con el Analizador de acceso de IAM.
Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.
En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.
Temas
Acciones
En el siguiente ejemplo de código, se muestra cómo utilizar apply-archive-rule
.
- AWS CLI
-
Aplicación de una regla de archivado a los resultados existentes que cumplan los criterios de la regla de archivado
En el siguiente ejemplo de
apply-archive-rule
, se aplica una regla de archivado a los resultados existentes que cumplen los criterios de la regla de archivado.aws accessanalyzer apply-archive-rule \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/UnusedAccess-ConsoleAnalyzer-organization
\ --rule-nameMyArchiveRule
Este comando no genera ninguna salida.
Para obtener más información, consulte Reglas de archivado en la Guía del usuario de AWS IAM.
-
Para obtener más información sobre la API, consulte ApplyArchiveRule
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar cancel-policy-generation
.
- AWS CLI
-
Cancelación de la generación de políticas solicitada
En el siguiente ejemplo de
cancel-policy-generation
, se cancela el ID de trabajo de la generación de políticas solicitada.aws accessanalyzer cancel-policy-generation \ --job-id
923a56b0-ebb8-4e80-8a3c-a11ccfbcd6f2
Este comando no genera ninguna salida.
Para obtener más información, consulte Generación de políticas del Analizador de acceso de IAM en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte CancelPolicyGeneration
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar check-access-not-granted
.
- AWS CLI
-
Comprobación de si una política no permite el acceso especificado
En el siguiente ejemplo de
check-access-not-granted
, se comprueba si una política no permite el acceso especificado.aws accessanalyzer check-access-not-granted \ --policy-document
file://myfile.json
\ --access actions="s3:DeleteBucket","s3:GetBucketLocation" \ --policy-typeIDENTITY_POLICY
Contenido de
myfile.json
:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }
Salida:
{ "result": "PASS", "message": "The policy document does not grant access to perform one or more of the listed actions." }
Para obtener más información, consulte Vista previa del acceso con las API de IAM Access Analyzer en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte CheckAccessNotGranted
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar check-no-new-access
.
- AWS CLI
-
Comprobación de si se permite un nuevo acceso a una política actualizada al compararla con la política existente
En el siguiente ejemplo de
check-no-new-access
, se comprueba si se permite un nuevo acceso a una política actualizada al compararla con la política existente.aws accessanalyzer check-no-new-access \ --existing-policy-document
file://existing-policy.json
\ --new-policy-documentfile://new-policy.json
\ --policy-typeIDENTITY_POLICY
Contenido de
existing-policy.json
:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }
Contenido de
new-policy.json
:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }
Salida:
{ "result": "FAIL", "message": "The modified permissions grant new access compared to your existing policy.", "reasons": [ { "description": "New access in the statement with index: 0.", "statementIndex": 0 } ] }
Para obtener más información, consulte Vista previa del acceso con las API de IAM Access Analyzer en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte CheckNoNewAccess
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar check-no-public-access
.
- AWS CLI
-
Comprobación de si una política de recursos puede conceder acceso público al tipo de recurso especificado
En el siguiente ejemplo de
check-no-public-access
, se comprueba si una política de recursos puede conceder acceso público al tipo de recurso especificado.aws accessanalyzer check-no-public-access \ --policy-document
file://check-no-public-access-myfile.json
\ --resource-typeAWS::S3::Bucket
Contenido de
myfile.json
:{ "Version": "2012-10-17", "Statement": [ { "Sid": "CheckNoPublicAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/JohnDoe" }, "Action": [ "s3:GetObject" ] } ] }
Salida:
{ "result": "PASS", "message": "The resource policy does not grant public access for the given resource type." }
Para obtener más información, consulte Vista previa del acceso con las API de IAM Access Analyzer en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte CheckNoPublicAccess
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-access-preview
.
- AWS CLI
-
Creación de una vista previa del acceso que le permita obtener una vista previa de los resultados del analizador de acceso de IAM para su recurso antes de implementar los permisos del recurso
En el siguiente ejemplo de
create-access-preview
, se crea una vista previa del acceso que le permite obtener una vista previa de los resultados del Analizador de acceso de IAM para su recurso antes de implementar los permisos de recursos en la cuenta de AWS.aws accessanalyzer create-access-preview \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
\ --configurationsfile://myfile.json
Contenido de
myfile.json
:{ "arn:aws:s3:::amzn-s3-demo-bucket": { "s3Bucket": { "bucketPolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::111122223333:root\"]},\"Action\":[\"s3:PutObject\",\"s3:PutObjectAcl\"],\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/*\"}]}", "bucketPublicAccessBlock": { "ignorePublicAcls": true, "restrictPublicBuckets": true }, "bucketAclGrants": [ { "grantee": { "id": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be" }, "permission": "READ" } ] } } }
Salida:
{ "id": "3c65eb13-6ef9-4629-8919-a32043619e6b" }
Para obtener más información, consulte Vista previa del acceso con las API de IAM Access Analyzer en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte CreateAccessPreview
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-analyzer
.
- AWS CLI
-
Cómo crear un analizador
En el siguiente ejemplo de
create-analyzer
, se crea un analizador en la cuenta de AWS.aws accessanalyzer create-analyzer \ --analyzer-name
example
\ --typeACCOUNT
Salida:
{ "arn": "arn:aws:access-analyzer:us-east-2:111122223333:analyzer/example" }
Para obtener más información, consulte Introducción a los resultados de AWS Identity and Access Management Access Analyzer de la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte CreateAnalyzer
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-archive-rule
.
- AWS CLI
-
Creación de una regla de archivado para el analizador especificado
En el siguiente ejemplo de
create-archive-rule
, se crea una regla de archivado para el analizador especificado en la cuenta de AWS.aws accessanalyzer create-archive-rule \ --analyzer-name
UnusedAccess-ConsoleAnalyzer-organization
\ --rule-nameMyRule
\ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}
'Este comando no genera ninguna salida.
Para obtener más información, consulte Reglas de archivado en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte CreateArchiveRule
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-analyzer
.
- AWS CLI
-
Eliminación del analizador especificado
En el siguiente ejemplo de
delete-analyzer
, se elimina el analizador especificado de la cuenta de AWS.aws accessanalyzer delete-analyzer \ --analyzer-name
example
Este comando no genera ninguna salida.
Para obtener más información, consulte Reglas de archivado en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte DeleteAnalyzer
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-archive-rule
.
- AWS CLI
-
Eliminación de la regla de archivado especificada
En el siguiente ejemplo de
delete-archive-rule
, se elimina la regla de archivado especificada de la cuenta de AWS.aws accessanalyzer delete-archive-rule \ --analyzer-name
UnusedAccess-ConsoleAnalyzer-organization
\ --rule-nameMyRule
Este comando no genera ninguna salida.
Para obtener más información, consulte Reglas de archivado en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte DeleteArchiveRule
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-access-preview
.
- AWS CLI
-
Recuperación de información sobre una vista previa de acceso del analizador especificado
En el siguiente ejemplo de
get-access-preview
, se recupera información sobre una vista previa del acceso del analizador especificado en la cuenta de AWS.aws accessanalyzer get-access-preview \ --access-preview-id
3c65eb13-6ef9-4629-8919-a32043619e6b
\ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
Salida:
{ "accessPreview": { "id": "3c65eb13-6ef9-4629-8919-a32043619e6b", "analyzerArn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account", "configurations": { "arn:aws:s3:::amzn-s3-demo-bucket": { "s3Bucket": { "bucketPolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::111122223333:root\"]},\"Action\":[\"s3:PutObject\",\"s3:PutObjectAcl\"],\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/*\"}]}", "bucketAclGrants": [ { "permission": "READ", "grantee": { "id": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be" } } ], "bucketPublicAccessBlock": { "ignorePublicAcls": true, "restrictPublicBuckets": true } } } }, "createdAt": "2024-02-17T00:18:44+00:00", "status": "COMPLETED" } }
Para obtener más información, consulte Vista previa del acceso con las API de IAM Access Analyzer en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte GetAccessPreview
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-analyzed-resource
.
- AWS CLI
-
Recuperación de la información sobre un recurso analizado
En el siguiente ejemplo de
get-analyzed-resource
, se recupera información sobre un recurso que se ha analizado en la cuenta de AWS.aws accessanalyzer get-analyzed-resource \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
\ --resource-arnarn:aws:s3:::amzn-s3-demo-bucket
Salida:
{ "resource": { "analyzedAt": "2024-02-15T18:01:53.002000+00:00", "isPublic": false, "resourceArn": "arn:aws:s3:::amzn-s3-demo-bucket", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::S3::Bucket" } }
Para obtener más información, consulte Uso de AWS Identity and Access Management Access Analyzer en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte GetAnalyzedResource
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-analyzer
.
- AWS CLI
-
Recuperación de información sobre el analizador especificado
En el siguiente ejemplo de
get-analyzer
, se devuelve información sobre el analizador especificado en la cuenta de AWS.aws accessanalyzer get-analyzer \ --analyzer-name
ConsoleAnalyzer-account
Salida:
{ "analyzer": { "arn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account", "createdAt": "2019-12-03T07:28:17+00:00", "lastResourceAnalyzed": "arn:aws:sns:us-west-2:111122223333:config-topic", "lastResourceAnalyzedAt": "2024-02-15T18:01:53.003000+00:00", "name": "ConsoleAnalyzer-account", "status": "ACTIVE", "tags": { "auto-delete": "no" }, "type": "ACCOUNT" } }
Para obtener más información, consulte Uso de AWS Identity and Access Management Access Analyzer en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte GetAnalyzer
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-archive-rule
.
- AWS CLI
-
Recuperación de información sobre una regla de archivado
En el siguiente ejemplo de
get-archive-rule
, se recupera información sobre una regla de archivado en la cuenta de AWS.aws accessanalyzer get-archive-rule \ --analyzer-name
UnusedAccess-ConsoleAnalyzer-organization
\ --rule-nameMyArchiveRule
Salida:
{ "archiveRule": { "createdAt": "2024-02-15T00:49:27+00:00", "filter": { "resource": { "contains": [ "Cognito" ] }, "resourceType": { "eq": [ "AWS::IAM::Role" ] } }, "ruleName": "MyArchiveRule", "updatedAt": "2024-02-15T00:49:27+00:00" } }
Para obtener más información, consulte Reglas de archivado en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte GetArchiveRule
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-finding-v2
.
- AWS CLI
-
Recuperación de información sobre el resultado especificado
En el siguiente ejemplo de
get-finding-v2
, se recupera información sobre el resultado especificado en la cuenta de AWS.aws accessanalyzer get-finding-v2 \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-organization
\ --id0910eedb-381e-4e95-adda-0d25c19e6e90
Salida:
{ "findingDetails": [ { "externalAccessDetails": { "action": [ "sts:AssumeRoleWithWebIdentity" ], "condition": { "cognito-identity.amazonaws.com:aud": "us-west-2:EXAMPLE0-0000-0000-0000-000000000000" }, "isPublic": false, "principal": { "Federated": "cognito-identity.amazonaws.com" } } } ], "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolAuth_Role", "status": "ACTIVE", "error": null, "createdAt": "2021-02-26T21:17:50.905000+00:00", "resourceType": "AWS::IAM::Role", "findingType": "ExternalAccess", "resourceOwnerAccount": "111122223333", "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "id": "0910eedb-381e-4e95-adda-0d25c19e6e90", "updatedAt": "2021-02-26T21:17:50.905000+00:00" }
Para obtener más información, consulte Revisión de los resultados en la Guía del usuario de AWS.
-
Para obtener información sobre la API, consulte GetFindingV2
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-finding
.
- AWS CLI
-
Recuperación de información sobre el resultado especificado
En el siguiente ejemplo de
get-finding
, se recupera información sobre el resultado especificado en la cuenta de AWS.aws accessanalyzer get-finding \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-organization
\ --id0910eedb-381e-4e95-adda-0d25c19e6e90
Salida:
{ "finding": { "id": "0910eedb-381e-4e95-adda-0d25c19e6e90", "principal": { "Federated": "cognito-identity.amazonaws.com" }, "action": [ "sts:AssumeRoleWithWebIdentity" ], "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolAuth_Role", "isPublic": false, "resourceType": "AWS::IAM::Role", "condition": { "cognito-identity.amazonaws.com:aud": "us-west-2:EXAMPLE0-0000-0000-0000-000000000000" }, "createdAt": "2021-02-26T21:17:50.905000+00:00", "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "updatedAt": "2021-02-26T21:17:50.905000+00:00", "status": "ACTIVE", "resourceOwnerAccount": "111122223333" } }
Para obtener más información, consulte Revisión de los resultados en la Guía del usuario de AWS.
-
Para obtener información sobre la API, consulte GetFinding
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-generated-policy
.
- AWS CLI
-
Recuperación de la política generada mediante la API StartPolicyGeneration
En el siguiente ejemplo de
get-generated-policy
, se recupera la política que se ha generado mediante la API StartPolicyGeneration en la cuenta de AWS.aws accessanalyzer get-generated-policy \ --job-id
c557dc4a-0338-4489-95dd-739014860ff9
Salida:
{ "generatedPolicyResult": { "generatedPolicies": [ { "policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"SupportedServiceSid0\",\"Effect\":\"Allow\",\"Action\":[\"access-analyzer:GetAnalyzer\",\"access-analyzer:ListAnalyzers\",\"access-analyzer:ListArchiveRules\",\"access-analyzer:ListFindings\",\"cloudtrail:DescribeTrails\",\"cloudtrail:GetEventDataStore\",\"cloudtrail:GetEventSelectors\",\"cloudtrail:GetInsightSelectors\",\"cloudtrail:GetTrailStatus\",\"cloudtrail:ListChannels\",\"cloudtrail:ListEventDataStores\",\"cloudtrail:ListQueries\",\"cloudtrail:ListTags\",\"cloudtrail:LookupEvents\",\"ec2:DescribeRegions\",\"iam:GetAccountSummary\",\"iam:GetOpenIDConnectProvider\",\"iam:GetRole\",\"iam:ListAccessKeys\",\"iam:ListAccountAliases\",\"iam:ListOpenIDConnectProviders\",\"iam:ListRoles\",\"iam:ListSAMLProviders\",\"kms:ListAliases\",\"s3:GetBucketLocation\",\"s3:ListAllMyBuckets\"],\"Resource\":\"*\"}]}" } ], "properties": { "cloudTrailProperties": { "endTime": "2024-02-14T22:44:40+00:00", "startTime": "2024-02-13T00:30:00+00:00", "trailProperties": [ { "allRegions": true, "cloudTrailArn": "arn:aws:cloudtrail:us-west-2:111122223333:trail/my-trail", "regions": [] } ] }, "isComplete": false, "principalArn": "arn:aws:iam::111122223333:role/Admin" } }, "jobDetails": { "completedOn": "2024-02-14T22:47:01+00:00", "jobId": "c557dc4a-0338-4489-95dd-739014860ff9", "startedOn": "2024-02-14T22:44:41+00:00", "status": "SUCCEEDED" } }
Para obtener más información, consulte Generación de políticas del Analizador de acceso de IAM en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte GetGeneratedPolicy
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-access-preview-findings
.
- AWS CLI
-
Recuperación de una lista de los resultados de la vista previa de acceso generados por la vista previa de acceso especificada
En el siguiente ejemplo de
list-access-preview-findings
, se recupera una lista de los resultados de la vista previa de acceso generados por la vista previa de acceso especificada en la cuenta de AWS.aws accessanalyzer list-access-preview-findings \ --access-preview-id
3c65eb13-6ef9-4629-8919-a32043619e6b
\ --analyzer-arnarn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
Salida:
{ "findings": [ { "id": "e22fc158-1c87-4c32-9464-e7f405ce8d74", "principal": { "AWS": "111122223333" }, "action": [ "s3:PutObject", "s3:PutObjectAcl" ], "condition": {}, "resource": "arn:aws:s3:::amzn-s3-demo-bucket", "isPublic": false, "resourceType": "AWS::S3::Bucket", "createdAt": "2024-02-17T00:18:46+00:00", "changeType": "NEW", "status": "ACTIVE", "resourceOwnerAccount": "111122223333", "sources": [ { "type": "POLICY" } ] } ] }
Para obtener más información, consulte Vista previa del acceso con las API de IAM Access Analyzer en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte ListAccessPreviewFindings
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-access-previews
.
- AWS CLI
-
Recuperación de una lista de vistas previas de acceso para el analizador especificado
En el siguiente ejemplo de
list-access-previews
, se recupera una lista de vistas previas de acceso del analizador especificado en la cuenta de AWS.aws accessanalyzer list-access-previews \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
Salida:
{ "accessPreviews": [ { "id": "3c65eb13-6ef9-4629-8919-a32043619e6b", "analyzerArn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account", "createdAt": "2024-02-17T00:18:44+00:00", "status": "COMPLETED" } ] }
Para obtener más información, consulte Vista previa del acceso con las API de IAM Access Analyzer en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte ListAccessPreviews
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-analyzed-resources
.
- AWS CLI
-
Para enumerar los widgets disponibles
En el siguiente ejemplo de
list-analyzed-resources
, se genera una lista de los widgets disponibles en la cuenta de AWS.aws accessanalyzer list-analyzed-resources \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
\ --resource-typeAWS::IAM::Role
Salida:
{ "analyzedResources": [ { "resourceArn": "arn:aws:sns:us-west-2:111122223333:Validation-Email", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::SNS::Topic" }, { "resourceArn": "arn:aws:sns:us-west-2:111122223333:admin-alerts", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::SNS::Topic" }, { "resourceArn": "arn:aws:sns:us-west-2:111122223333:config-topic", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::SNS::Topic" }, { "resourceArn": "arn:aws:sns:us-west-2:111122223333:inspector-topic", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::SNS::Topic" } ] }
Para obtener más información, consulte Uso de AWS Identity and Access Management Access Analyzer en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte ListAnalyzedResources
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-analyzers
.
- AWS CLI
-
Recuperación de una lista de analizadores
En el siguiente ejemplo de
list-analyzers
, se obtiene una lista de todos los analizadores de la cuenta de AWS.aws accessanalyzer list-analyzers
Salida:
{ "analyzers": [ { "arn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/UnusedAccess-ConsoleAnalyzer-organization", "createdAt": "2024-02-15T00:46:40+00:00", "name": "UnusedAccess-ConsoleAnalyzer-organization", "status": "ACTIVE", "tags": { "auto-delete": "no" }, "type": "ORGANIZATION_UNUSED_ACCESS" }, { "arn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-organization", "createdAt": "2020-04-25T07:43:28+00:00", "lastResourceAnalyzed": "arn:aws:s3:::amzn-s3-demo-bucket", "lastResourceAnalyzedAt": "2024-02-15T21:51:56.517000+00:00", "name": "ConsoleAnalyzer-organization", "status": "ACTIVE", "tags": { "auto-delete": "no" }, "type": "ORGANIZATION" }, { "arn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account", "createdAt": "2019-12-03T07:28:17+00:00", "lastResourceAnalyzed": "arn:aws:sns:us-west-2:111122223333:config-topic", "lastResourceAnalyzedAt": "2024-02-15T18:01:53.003000+00:00", "name": "ConsoleAnalyzer-account", "status": "ACTIVE", "tags": { "auto-delete": "no" }, "type": "ACCOUNT" } ] }
Para obtener más información, consulte Uso de AWS Identity and Access Management Access Analyzer en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte ListAnalyzers
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-archive-rules
.
- AWS CLI
-
Recuperación de una lista de reglas de archivado creadas para el analizador especificado
En el siguiente ejemplo de
list-archive-rules
se recupera una lista de reglas de archivado creadas para el analizador especificado en la cuenta de AWS.aws accessanalyzer list-archive-rules \ --analyzer-name
UnusedAccess-ConsoleAnalyzer-organization
Salida:
{ "archiveRules": [ { "createdAt": "2024-02-15T00:49:27+00:00", "filter": { "resource": { "contains": [ "Cognito" ] }, "resourceType": { "eq": [ "AWS::IAM::Role" ] } }, "ruleName": "MyArchiveRule", "updatedAt": "2024-02-15T00:49:27+00:00" }, { "createdAt": "2024-02-15T23:27:45+00:00", "filter": { "findingType": { "eq": [ "UnusedIAMUserAccessKey" ] } }, "ruleName": "ArchiveRule-56125a39-e517-4ff8-afb1-ef06f58db612", "updatedAt": "2024-02-15T23:27:45+00:00" } ] }
Para obtener más información, consulte Uso de AWS Identity and Access Management Access Analyzer en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte ListArchiveRules
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-findings-v2
.
- AWS CLI
-
Recuperación de una lista de resultados generados por el analizador especificado
En el siguiente ejemplo de
list-findings-v2
, se recupera una lista de los resultados generados por el analizador especificado en la cuenta de AWS. En este ejemplo, se filtran los resultados para que se incluyan solo los roles de IAM cuyo nombre contengaCognito
.aws accessanalyzer list-findings-v2 \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
\ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}
'Salida:
{ "findings": [ { "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "createdAt": "2021-02-26T21:17:24.710000+00:00", "id": "597f3bc2-3adc-4c18-9879-5c4b23485e46", "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolUnauth_Role", "resourceType": "AWS::IAM::Role", "resourceOwnerAccount": "111122223333", "status": "ACTIVE", "updatedAt": "2021-02-26T21:17:24.710000+00:00", "findingType": "ExternalAccess" }, { "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "createdAt": "2021-02-26T21:17:50.905000+00:00", "id": "ce0e221a-85b9-4d52-91ff-d7678075442f", "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolAuth_Role", "resourceType": "AWS::IAM::Role", "resourceOwnerAccount": "111122223333", "status": "ACTIVE", "updatedAt": "2021-02-26T21:17:50.905000+00:00", "findingType": "ExternalAccess" } ] }
Para obtener más información, consulte Uso de AWS Identity and Access Management Access Analyzer en la Guía del usuario de AWS IAM.
-
Para obtener detalles de la API, consulte ListFindingsV2
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-findings
.
- AWS CLI
-
Recuperación de una lista de resultados generados por el analizador especificado
En el siguiente ejemplo de
list-findings
, se recupera una lista de los resultados generados por el analizador especificado en la cuenta de AWS. En este ejemplo, se filtran los resultados para que se incluyan solo los roles de IAM cuyo nombre contengaCognito
.aws accessanalyzer list-findings \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
\ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}
'Salida:
{ "findings": [ { "id": "597f3bc2-3adc-4c18-9879-5c4b23485e46", "principal": { "Federated": "cognito-identity.amazonaws.com" }, "action": [ "sts:AssumeRoleWithWebIdentity" ], "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolUnauth_Role", "isPublic": false, "resourceType": "AWS::IAM::Role", "condition": { "cognito-identity.amazonaws.com:aud": "us-west-2:EXAMPLE0-0000-0000-0000-000000000000" }, "createdAt": "2021-02-26T21:17:24.710000+00:00", "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "updatedAt": "2021-02-26T21:17:24.710000+00:00", "status": "ACTIVE", "resourceOwnerAccount": "111122223333" }, { "id": "ce0e221a-85b9-4d52-91ff-d7678075442f", "principal": { "Federated": "cognito-identity.amazonaws.com" }, "action": [ "sts:AssumeRoleWithWebIdentity" ], "resource": "arn:aws:iam::111122223333:role/Cognito_testpoolAuth_Role", "isPublic": false, "resourceType": "AWS::IAM::Role", "condition": { "cognito-identity.amazonaws.com:aud": "us-west-2:EXAMPLE0-0000-0000-0000-000000000000" }, "createdAt": "2021-02-26T21:17:50.905000+00:00", "analyzedAt": "2024-02-16T18:17:47.888000+00:00", "updatedAt": "2021-02-26T21:17:50.905000+00:00", "status": "ACTIVE", "resourceOwnerAccount": "111122223333" } ] }
Para obtener más información, consulte Uso de AWS Identity and Access Management Access Analyzer en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte ListFindings
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-policy-generations
.
- AWS CLI
-
Para enumerar todas las generaciones de políticas solicitadas en los últimos siete días
En el siguiente ejemplo de
list-policy-generations
, se genera una lista de todas las generaciones de políticas solicitadas en los últimos siete días en la cuenta de AWS.aws accessanalyzer list-policy-generations
Salida:
{ "policyGenerations": [ { "completedOn": "2024-02-14T23:43:38+00:00", "jobId": "923a56b0-ebb8-4e80-8a3c-a11ccfbcd6f2", "principalArn": "arn:aws:iam::111122223333:role/Admin", "startedOn": "2024-02-14T23:43:02+00:00", "status": "CANCELED" }, { "completedOn": "2024-02-14T22:47:01+00:00", "jobId": "c557dc4a-0338-4489-95dd-739014860ff9", "principalArn": "arn:aws:iam::111122223333:role/Admin", "startedOn": "2024-02-14T22:44:41+00:00", "status": "SUCCEEDED" } ] }
Para obtener más información, consulte Generación de políticas del Analizador de acceso de IAM en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte ListPolicyGenerations
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-tags-for-resource
.
- AWS CLI
-
Recuperación de una lista de etiquetas aplicadas al recurso especificado
En el siguiente ejemplo de
list-tags-for-resource
, se recupera una lista de todas las etiquetas aplicadas al recurso especificado en la cuenta de AWS.aws accessanalyzer list-tags-for-resource \ --resource-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
Salida:
{ "tags": { "Zone-of-trust": "Account", "Name": "ConsoleAnalyzer" } }
Para obtener más información, consulte Generación de políticas del Analizador de acceso de IAM en la Guía del usuario de AWS IAM.
-
Para ver los detalles de la API, consulte ListTagsForResource
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar start-policy-generation
.
- AWS CLI
-
Inicio de una solicitud de generación de políticas
En el siguiente ejemplo de
start-policy-generation
, se inicia una solicitud de generación de políticas en la cuenta de AWS.aws accessanalyzer start-policy-generation \ --policy-generation-details '
{"principalArn":"arn:aws:iam::111122223333:role/Admin"}
' \ --cloud-trail-detailsfile://myfile.json
Contenido de
myfile.json
:{ "accessRole": "arn:aws:iam::111122223333:role/service-role/AccessAnalyzerMonitorServiceRole", "startTime": "2024-02-13T00:30:00Z", "trails": [ { "allRegions": true, "cloudTrailArn": "arn:aws:cloudtrail:us-west-2:111122223333:trail/my-trail" } ] }
Salida:
{ "jobId": "c557dc4a-0338-4489-95dd-739014860ff9" }
Para obtener más información, consulte Generación de políticas del Analizador de acceso de IAM en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte StartPolicyGeneration
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar start-resource-scan
.
- AWS CLI
-
Inicio inmediato de un análisis de las políticas aplicadas al recurso especificado
En el siguiente ejemplo de
start-resource-scan
, se inicia de inmediato un análisis de las políticas aplicadas al recurso especificado en la cuenta de AWS.aws accessanalyzer start-resource-scan \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
\ --resource-arnarn:aws:iam::111122223333:role/Cognito_testpoolAuth_Role
Este comando no genera ninguna salida.
Para obtener más información, consulte Generación de políticas del Analizador de acceso de IAM en la Guía del usuario de AWS IAM.
-
Para ver detalles de la API, consulte StartResourceScan
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar tag-resource
.
- AWS CLI
-
Adición de una etiqueta al recurso especificado
En el siguiente ejemplo de
tag-resource
, se añade una etiqueta al recurso especificado en la cuenta de AWS.aws accessanalyzer tag-resource \ --resource-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
\ --tagsEnvironment=dev,Purpose=testing
Este comando no genera ninguna salida.
Para obtener más información, consulte Uso de AWS Identity and Access Management Access Analyzer en la Guía del usuario de AWS IAM.
-
Para ver los detalles de la API, consulte TagResource
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar untag-resource
.
- AWS CLI
-
Eliminación de etiquetas del recurso especificado
En el siguiente ejemplo de
untag-resource
, se eliminan las etiquetas de un recurso especificado en la cuenta de AWS.aws accessanalyzer untag-resource \ --resource-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
\ --tag-keysEnvironment
Purpose
Este comando no genera ninguna salida.
Para obtener más información, consulte Uso de AWS Identity and Access Management Access Analyzer en la Guía del usuario de AWS IAM.
-
Para ver los detalles de la API, consulte UntagResource
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-archive-rule
.
- AWS CLI
-
Actualización de los criterios y valores de la regla de archivado especificada
En el siguiente ejemplo de
update-archive-rule
, se actualizan los criterios y valores de la regla de archivado especificada en la cuenta de AWS.aws accessanalyzer update-archive-rule \ --analyzer-name
UnusedAccess-ConsoleAnalyzer-organization
\ --rule-nameMyArchiveRule
\ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}
'Este comando no genera ninguna salida.
Para obtener más información, consulte Reglas de archivado en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte UpdateArchiveRule
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-findings
.
- AWS CLI
-
Actualización del estado de los resultados especificados
En el siguiente ejemplo de
update-findings
, se actualiza el estado de los resultados especificados en la cuenta de AWS.aws accessanalyzer update-findings \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/UnusedAccess-ConsoleAnalyzer-organization
\ --ids4f319ac3-2e0c-4dc4-bf51-7013a086b6ae
780d586a-2cce-4f72-aff6-359d450e7500
\ --statusARCHIVED
Este comando no genera ninguna salida.
Para obtener más información, consulte Uso de AWS Identity and Access Management Access Analyzer en la Guía del usuario de AWS IAM.
-
Para obtener información sobre la API, consulte UpdateFindings
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar validate-policy
.
- AWS CLI
-
Para solicitar la validación de una política y obtener una lista de resultados
En el siguiente ejemplo de
validate-policy
, se solicita la validación de una política y se obtiene una lista de resultados. La política del ejemplo es una política de confianza de rol para un rol de Amazon Cognito utilizado para la federación de identidades web. Los resultados generados a partir de la política de confianza se refieren a un valor de elementoSid
vacío y a una entidad principal de política no coincidente por el uso de una acción incorrecta de rol de asunción,sts:AssumeRole
. La acción correcta de rol de asunción que se debe usar con Cognito essts:AssumeRoleWithWebIdentity
.aws accessanalyzer validate-policy \ --policy-document
file://myfile.json
\ --policy-typeRESOURCE_POLICY
Contenido de
myfile.json
:{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ], "Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-west-2_EXAMPLE" } } } ] }
Salida:
{ "findings": [ { "findingDetails": "Add a value to the empty string in the Sid element.", "findingType": "SUGGESTION", "issueCode": "EMPTY_SID_VALUE", "learnMoreLink": "https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html#access-analyzer-reference-policy-checks-suggestion-empty-sid-value", "locations": [ { "path": [ { "value": "Statement" }, { "index": 0 }, { "value": "Sid" } ], "span": { "end": { "column": 21, "line": 5, "offset": 81 }, "start": { "column": 19, "line": 5, "offset": 79 } } } ] }, { "findingDetails": "The sts:AssumeRole action is invalid with the following principal(s): cognito-identity.amazonaws.com. Use a SAML provider principal with the sts:AssumeRoleWithSAML action or use an OIDC provider principal with the sts:AssumeRoleWithWebIdentity action. Ensure the provider is Federated if you use either of the two options.", "findingType": "ERROR", "issueCode": "MISMATCHED_ACTION_FOR_PRINCIPAL", "learnMoreLink": "https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html#access-analyzer-reference-policy-checks-error-mismatched-action-for-principal", "locations": [ { "path": [ { "value": "Statement" }, { "index": 0 }, { "value": "Action" }, { "index": 0 } ], "span": { "end": { "column": 32, "line": 11, "offset": 274 }, "start": { "column": 16, "line": 11, "offset": 258 } } }, { "path": [ { "value": "Statement" }, { "index": 0 }, { "value": "Principal" }, { "value": "Federated" } ], "span": { "end": { "column": 61, "line": 8, "offset": 202 }, "start": { "column": 29, "line": 8, "offset": 170 } } } ] }, { "findingDetails": "The following actions: sts:TagSession are not supported by the condition key cognito-identity.amazonaws.com:aud. The condition will not be evaluated for these actions. We recommend that you move these actions to a different statement without this condition key.", "findingType": "ERROR", "issueCode": "UNSUPPORTED_ACTION_FOR_CONDITION_KEY", "learnMoreLink": "https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html#access-analyzer-reference-policy-checks-error-unsupported-action-for-condition-key", "locations": [ { "path": [ { "value": "Statement" }, { "index": 0 }, { "value": "Action" }, { "index": 1 } ], "span": { "end": { "column": 32, "line": 12, "offset": 308 }, "start": { "column": 16, "line": 12, "offset": 292 } } }, { "path": [ { "value": "Statement" }, { "index": 0 }, { "value": "Condition" }, { "value": "StringEquals" }, { "value": "cognito-identity.amazonaws.com:aud" } ], "span": { "end": { "column": 79, "line": 16, "offset": 464 }, "start": { "column": 58, "line": 16, "offset": 443 } } } ] } ] }
Para obtener más información, consulte Comprobaciones para validar políticas en la Guía del usuario de AWS IAM.
-
Para obtener información acerca de la API, consulte ValidatePolicy
en la Referencia de comandos de la AWS CLI.
-