Beispiele für die Verwendung der AWS CLI mit IAM Access Analyzer - AWS Command Line Interface

Beispiele für die Verwendung der AWS CLI mit IAM Access Analyzer

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit IAM Access Analyzer nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie apply-archive-rule verwendet wird.

AWS CLI

So wenden Sie eine Archivierungsregel auf vorhandene Erkenntnisse an, die den Archivregelkriterien entsprechen

Im folgenden Beispiel für apply-archive-rule wird eine Archivierungsregel auf vorhandene Erkenntnisse angewendet, die den Archivregelkriterien entsprechen.

aws accessanalyzer apply-archive-rule \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/UnusedAccess-ConsoleAnalyzer-organization \ --rule-name MyArchiveRule

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Archivierungsregeln im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie cancel-policy-generation verwendet wird.

AWS CLI

So stornieren Sie die angeforderte Richtliniengenerierung

Im folgenden Beispiel für cancel-policy-generation wird die Auftrags-ID für die angeforderte Richtliniengenerierung storniert.

aws accessanalyzer cancel-policy-generation \ --job-id 923a56b0-ebb8-4e80-8a3c-a11ccfbcd6f2

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Richtliniengenerierung von IAM Access Analyzer im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie check-access-not-granted verwendet wird.

AWS CLI

So überprüfen Sie, ob der angegebene Zugriff durch eine Richtlinie nicht zulässig ist

Im folgenden Beispiel für check-access-not-granted wird überprüft, ob der angegebene Zugriff durch eine Richtlinie nicht zulässig ist.

aws accessanalyzer check-access-not-granted \ --policy-document file://myfile.json \ --access actions="s3:DeleteBucket","s3:GetBucketLocation" \ --policy-type IDENTITY_POLICY

Inhalt von 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/*" ] } ] }

Ausgabe:

{ "result": "PASS", "message": "The policy document does not grant access to perform one or more of the listed actions." }

Weitere Informationen finden Sie unter Vorschau des Zugriffs mit APIs in IAM Access Analyzer im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie check-no-new-access verwendet wird.

AWS CLI

So überprüfen Sie, ob für eine aktualisierte Richtlinie im Vergleich zur vorhandenen Richtlinie neuer Zugriff gewährt wird

Im folgenden Beispiel für check-no-new-access wird überprüft, ob für eine aktualisierte Richtlinie im Vergleich zur vorhandenen Richtlinie neuer Zugriff gewährt wird.

aws accessanalyzer check-no-new-access \ --existing-policy-document file://existing-policy.json \ --new-policy-document file://new-policy.json \ --policy-type IDENTITY_POLICY

Inhalt von 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/*" ] } ] }

Inhalt von 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/*" ] } ] }

Ausgabe:

{ "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 } ] }

Weitere Informationen finden Sie unter Vorschau des Zugriffs mit APIs in IAM Access Analyzer im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie check-no-public-access verwendet wird.

AWS CLI

So überprüfen Sie, ob eine Ressourcenrichtlinie öffentlichen Zugriff auf den angegebenen Ressourcentyp gewähren kann

Mit dem folgenden Beispiel für check-no-public-access wird überprüft, ob eine Ressourcenrichtlinie öffentlichen Zugriff auf den angegebenen Ressourcentyp gewähren kann.

aws accessanalyzer check-no-public-access \ --policy-document file://check-no-public-access-myfile.json \ --resource-type AWS::S3::Bucket

Inhalt von myfile.json:

{ "Version":"2012-10-17", "Statement": [ { "Sid": "CheckNoPublicAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/JohnDoe" }, "Action": [ "s3:GetObject" ] } ] }

Ausgabe:

{ "result": "PASS", "message": "The resource policy does not grant public access for the given resource type." }

Weitere Informationen finden Sie unter Vorschau des Zugriffs mit APIs in IAM Access Analyzer im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie create-access-preview verwendet wird.

AWS CLI

So erstellen Sie eine Zugriffsvorschau, mit der Sie eine Vorschau der Erkenntnisse von IAM Access Analyzer für Ihre Ressource anzeigen können, bevor Sie Ressourcenberechtigungen bereitstellen

Im folgenden Beispiel für create-access-preview wird eine Zugriffsvorschau erstellt, mit der Sie eine Vorschau der Erkenntnisse von IAM Access Analyzer für Ihre Ressource anzeigen können, bevor Sie Ressourcenberechtigungen bereitstellen in Ihrem AWS-Konto bereitstellen.

aws accessanalyzer create-access-preview \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --configurations file://myfile.json

Inhalt von 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" } ] } } }

Ausgabe:

{ "id": "3c65eb13-6ef9-4629-8919-a32043619e6b" }

Weitere Informationen finden Sie unter Vorschau des Zugriffs mit APIs in IAM Access Analyzer im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie create-analyzer verwendet wird.

AWS CLI

So erstellen Sie einen Analysator

Im folgenden Beispiel für create-analyzer wird ein Analysator in Ihrem AWS-Konto erstellt.

aws accessanalyzer create-analyzer \ --analyzer-name example \ --type ACCOUNT

Ausgabe:

{ "arn": "arn:aws:access-analyzer:us-east-2:111122223333:analyzer/example" }

Weitere Informationen finden Sie unter Erste Schritte mit Erkenntnissen von AWS Identity and Access Management Access Analyzer im AWS-IAM-Benutzerhandbuch.

  • API-Details finden Sie unter CreateAnalyzer in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie create-archive-rule verwendet wird.

AWS CLI

So erstellen Sie eine Archivierungsregel für den angegebenen Analysator

Im folgenden Beispiel für create-archive-rule wird eine Archivierungsregel für den angegebenen Analysator in Ihrem AWS-Konto erstellt.

aws accessanalyzer create-archive-rule \ --analyzer-name UnusedAccess-ConsoleAnalyzer-organization \ --rule-name MyRule \ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}'

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Archivierungsregeln im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie delete-analyzer verwendet wird.

AWS CLI

So löschen Sie den angegebenen Analysator

Im folgenden Beispiel für delete-analyzer wird der angegebene Analysator in Ihrem AWS-Konto gelöscht.

aws accessanalyzer delete-analyzer \ --analyzer-name example

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Archivierungsregeln im AWS-IAM-Benutzerhandbuch.

  • API-Details finden Sie unter DeleteAnalyzer in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie delete-archive-rule verwendet wird.

AWS CLI

So löschen Sie die angegebene Archivierungsregel

Im folgenden Beispiel für delete-archive-rule wird die angegebene Archivierungsregel in Ihrem AWS-Konto gelöscht.

aws accessanalyzer delete-archive-rule \ --analyzer-name UnusedAccess-ConsoleAnalyzer-organization \ --rule-name MyRule

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Archivierungsregeln im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie get-access-preview verwendet wird.

AWS CLI

So rufen Sie Informationen über eine Zugriffsvorschau für den angegebenen Analysator ab

Im folgenden Beispiel für get-access-preview werden Informationen über eine Zugriffsvorschau für den angegebenen Analysator in Ihrem AWS-Konto abgerufen.

aws accessanalyzer get-access-preview \ --access-preview-id 3c65eb13-6ef9-4629-8919-a32043619e6b \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account

Ausgabe:

{ "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" } }

Weitere Informationen finden Sie unter Vorschau des Zugriffs mit APIs in IAM Access Analyzer im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie get-analyzed-resource verwendet wird.

AWS CLI

So rufen Sie Informationen über eine Ressource ab, die analysiert wurde

Im folgenden Beispiel für get-analyzed-resource werden Informationen über eine Ressource abgerufen, die in Ihrem AWS-Konto analysiert wurde.

aws accessanalyzer get-analyzed-resource \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --resource-arn arn:aws:s3:::amzn-s3-demo-bucket

Ausgabe:

{ "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" } }

Weitere Informationen finden Sie unter Verwenden von AWS Identity and Access Management Access Analyzer im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie get-analyzer verwendet wird.

AWS CLI

So rufen Sie Informationen über den angegebenen Analysator ab

Im folgenden Beispiel für get-analyzer werden Informationen über den angegebenen Analysator in Ihrem AWS-Konto abgerufen.

aws accessanalyzer get-analyzer \ --analyzer-name ConsoleAnalyzer-account

Ausgabe:

{ "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" } }

Weitere Informationen finden Sie unter Verwenden von AWS Identity and Access Management Access Analyzer im AWS-IAM-Benutzerhandbuch.

  • API-Details finden Sie unter GetAnalyzer in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-archive-rule verwendet wird.

AWS CLI

So rufen Sie Informationen über eine Archivierungsregel ab

Im folgenden Beispiel für get-archive-rule werden Informationen über eine Archivierungsregel in Ihrem AWS-Konto abgerufen.

aws accessanalyzer get-archive-rule \ --analyzer-name UnusedAccess-ConsoleAnalyzer-organization \ --rule-name MyArchiveRule

Ausgabe:

{ "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" } }

Weitere Informationen finden Sie unter Archivierungsregeln im AWS-IAM-Benutzerhandbuch.

  • API-Details finden Sie unter GetArchiveRule in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-finding-v2 verwendet wird.

AWS CLI

So rufen Sie Informationen über die angegebene Erkenntnis ab

Im folgenden Beispiel für get-finding-v2 werden Informationen über die angegebene Erkenntnis in Ihrem AWS-Konto abgerufen.

aws accessanalyzer get-finding-v2 \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-organization \ --id 0910eedb-381e-4e95-adda-0d25c19e6e90

Ausgabe:

{ "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" }

Weitere Informationen finden Sie unter Überprüfen von Erkenntnissen im AWS-IAM-Benutzerhandbuch.

  • API-Details finden Sie unter GetFindingV2 in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-finding verwendet wird.

AWS CLI

So rufen Sie Informationen über die angegebene Erkenntnis ab

Im folgenden Beispiel für get-finding werden Informationen über die angegebene Erkenntnis in Ihrem AWS-Konto abgerufen.

aws accessanalyzer get-finding \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-organization \ --id 0910eedb-381e-4e95-adda-0d25c19e6e90

Ausgabe:

{ "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" } }

Weitere Informationen finden Sie unter Überprüfen von Erkenntnissen im AWS-IAM-Benutzerhandbuch.

  • API-Details finden Sie unter GetFinding in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-generated-policy verwendet wird.

AWS CLI

So rufen Sie die Richtlinie ab, die mit der StartPolicyGeneration-API generiert wurde

Im folgenden Beispiel für get-generated-policy wird die Richtlinie abgerufen, die mit der StartPolicyGeneration-API in Ihrem AWS-Konto generiert wurde.

aws accessanalyzer get-generated-policy \ --job-id c557dc4a-0338-4489-95dd-739014860ff9

Ausgabe:

{ "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" } }

Weitere Informationen finden Sie unter Richtliniengenerierung von IAM Access Analyzer im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie list-access-preview-findings verwendet wird.

AWS CLI

So rufen Sie eine Liste mit Erkenntnissen der Zugriffsvorschau ab, die mit der angegebenen Zugriffsvorschau generiert wurden

Im folgenden Beispiel für list-access-preview-findings wird eine Liste mit Erkenntnissen der Zugriffsvorschau abgerufen, die mit der angegebenen Zugriffsvorschau in Ihrem AWS-Konto generiert wurden.

aws accessanalyzer list-access-preview-findings \ --access-preview-id 3c65eb13-6ef9-4629-8919-a32043619e6b \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account

Ausgabe:

{ "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" } ] } ] }

Weitere Informationen finden Sie unter Vorschau des Zugriffs mit APIs in IAM Access Analyzer im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie list-access-previews verwendet wird.

AWS CLI

So rufen Sie eine Liste der Zugriffsvorschauen für den angegebenen Analysator ab

Im folgenden Beispiel für list-access-previews wird eine Liste von Zugriffsvorschauen für den angegebenen Analysator in Ihrem AWS-Konto abgerufen.

aws accessanalyzer list-access-previews \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account

Ausgabe:

{ "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" } ] }

Weitere Informationen finden Sie unter Vorschau des Zugriffs mit APIs in IAM Access Analyzer im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie list-analyzed-resources verwendet wird.

AWS CLI

So listen Sie die verfügbaren Widgets auf

Im folgenden Beispiel für list-analyzed-resources werden die verfügbaren Widgets in Ihrem AWS-Konto aufgelistet.

aws accessanalyzer list-analyzed-resources \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --resource-type AWS::IAM::Role

Ausgabe:

{ "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" } ] }

Weitere Informationen finden Sie unter Verwenden von AWS Identity and Access Management Access Analyzer im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie list-analyzers verwendet wird.

AWS CLI

So rufen Sie eine Liste von Analysatoren ab

Im folgenden Beispiel für list-analyzers wird eine Liste der Analysatoren in Ihrem AWS-Konto abgerufen.

aws accessanalyzer list-analyzers

Ausgabe:

{ "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" } ] }

Weitere Informationen finden Sie unter Verwenden von AWS Identity and Access Management Access Analyzer im AWS-IAM-Benutzerhandbuch.

  • API-Details finden Sie unter ListAnalyzers in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-archive-rules verwendet wird.

AWS CLI

So rufen Sie eine Liste von Archivierungsregeln ab, die für den angegebenen Analysator erstellt wurden

Im folgenden Beispiel für list-archive-rules wird eine Liste der Archivierungsregeln abgerufen, die für den angegebenen Analysator in Ihrem AWS-Konto erstellt wurden.

aws accessanalyzer list-archive-rules \ --analyzer-name UnusedAccess-ConsoleAnalyzer-organization

Ausgabe:

{ "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" } ] }

Weitere Informationen finden Sie unter Verwenden von AWS Identity and Access Management Access Analyzer im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie list-findings-v2 verwendet wird.

AWS CLI

So rufen Sie eine Liste von Erkenntnissen auf, die vom angegebenen Analysator generiert wurden

Im folgenden Beispiel für list-findings-v2 wird eine Liste der Erkenntnisse abgerufen, die vom angegebenen Analysator in Ihrem AWS-Konto generiert wurden. In diesem Beispiel werden die Ergebnisse so gefiltert, dass sie nur IAM-Rollen enthalten, deren Name Cognito enthält.

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"]}}'

Ausgabe:

{ "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" } ] }

Weitere Informationen finden Sie unter Verwenden von AWS Identity and Access Management Access Analyzer im AWS-IAM-Benutzerhandbuch.

  • API-Details finden Sie unter ListFindingsV2 in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-findings verwendet wird.

AWS CLI

So rufen Sie eine Liste von Erkenntnissen auf, die vom angegebenen Analysator generiert wurden

Im folgenden Beispiel für list-findings wird eine Liste der Erkenntnisse abgerufen, die vom angegebenen Analysator in Ihrem AWS-Konto generiert wurden. In diesem Beispiel werden die Ergebnisse so gefiltert, dass sie nur IAM-Rollen enthalten, deren Name Cognito enthält.

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"]}}'

Ausgabe:

{ "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" } ] }

Weitere Informationen finden Sie unter Verwenden von AWS Identity and Access Management Access Analyzer im AWS-IAM-Benutzerhandbuch.

  • API-Details finden Sie unter ListFindings in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-policy-generations verwendet wird.

AWS CLI

So listen Sie alle in den letzten sieben Tagen angeforderten Richtliniengenerierungen auf

Im folgenden Beispiel für list-policy-generations werden alle Richtliniengenerierungen aufgelistet, die in den letzten sieben Tagen in Ihrem AWS-Konto angefordert wurden.

aws accessanalyzer list-policy-generations

Ausgabe:

{ "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" } ] }

Weitere Informationen finden Sie unter Richtliniengenerierung von IAM Access Analyzer im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie list-tags-for-resource verwendet wird.

AWS CLI

So rufen Sie eine Liste von Tags ab, die auf die angegebene Ressource angewendet wurden

Im folgenden Beispiel für list-tags-for-resource wird eine Liste aller Tags abgerufen, die auf die angegebene Ressource in Ihrem AWS-Konto angewendet wurden.

aws accessanalyzer list-tags-for-resource \ --resource-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account

Ausgabe:

{ "tags": { "Zone-of-trust": "Account", "Name": "ConsoleAnalyzer" } }

Weitere Informationen finden Sie unter Richtliniengenerierung von IAM Access Analyzer im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie start-policy-generation verwendet wird.

AWS CLI

So starten Sie eine Anforderung zur Richtliniengenerierung

Im folgenden Beispiel für start-policy-generation wird eine Anforderung zur Richtliniengenerierung in Ihrem AWS-Konto gestartet.

aws accessanalyzer start-policy-generation \ --policy-generation-details '{"principalArn":"arn:aws:iam::111122223333:role/Admin"}' \ --cloud-trail-details file://myfile.json

Inhalt von 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" } ] }

Ausgabe:

{ "jobId": "c557dc4a-0338-4489-95dd-739014860ff9" }

Weitere Informationen finden Sie unter Richtliniengenerierung von IAM Access Analyzer im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie start-resource-scan verwendet wird.

AWS CLI

So starten Sie sofort einen Scan der Richtlinien, die auf angegebene Ressource angewendet wurden

Im folgenden Beispiel für start-resource-scan wird sofort ein Scan der Richtlinien gestartet, die auf die angegebene Ressource in Ihrem AWS-Konto angewendet wurden.

aws accessanalyzer start-resource-scan \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --resource-arn arn:aws:iam::111122223333:role/Cognito_testpoolAuth_Role

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Richtliniengenerierung von IAM Access Analyzer im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie tag-resource verwendet wird.

AWS CLI

So fügen Sie der angegebenen Ressource ein Tag hinzu

Im folgenden Beispiel für tag-resource wird der angegebenen Ressource in Ihrem AWS-Konto ein Tag hinzugefügt.

aws accessanalyzer tag-resource \ --resource-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --tags Environment=dev,Purpose=testing

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Verwenden von AWS Identity and Access Management Access Analyzer im AWS-IAM-Benutzerhandbuch.

  • API-Details finden Sie unter TagResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie untag-resource verwendet wird.

AWS CLI

So entfernen Sie Tags aus den angegebenen Ressourcen

Im folgenden Beispiel für AWS werden Tags aus der angegebenen Ressource in Ihrem untag-resource-Konto entfernt.

aws accessanalyzer untag-resource \ --resource-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --tag-keys Environment Purpose

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Verwenden von AWS Identity and Access Management Access Analyzer im AWS-IAM-Benutzerhandbuch.

  • API-Details finden Sie unter UntagResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie update-archive-rule verwendet wird.

AWS CLI

So aktualisieren Sie die Kriterien und Werte für die angegebene Archivierungsregel

Im folgenden Beispiel für update-archive-rule werden die Kriterien und Werte für die angegebene Archivierungsregel in Ihrem AWS-Konto aktualisiert.

aws accessanalyzer update-archive-rule \ --analyzer-name UnusedAccess-ConsoleAnalyzer-organization \ --rule-name MyArchiveRule \ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}'

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Archivierungsregeln im AWS-IAM-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie update-findings verwendet wird.

AWS CLI

So aktualisieren Sie den Status für die angegebenen Erkenntnisse

Im folgenden Beispiel für update-findings wird der Status der angegebenen Erkenntnisse in Ihrem AWS-Konto aktualisiert.

aws accessanalyzer update-findings \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/UnusedAccess-ConsoleAnalyzer-organization \ --ids 4f319ac3-2e0c-4dc4-bf51-7013a086b6ae 780d586a-2cce-4f72-aff6-359d450e7500 \ --status ARCHIVED

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Verwenden von AWS Identity and Access Management Access Analyzer im AWS-IAM-Benutzerhandbuch.

  • API-Details finden Sie unter UpdateFindings in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie validate-policy verwendet wird.

AWS CLI

So fordern Sie die Validierung einer Richtlinie an und geben eine Liste von Erkenntnissen zurück

Im folgenden Beispiel für validate-policy werden die Validierung einer Richtlinie angefordert und eine Liste von Erkenntnissen zurückgegeben. Die Richtlinie im Beispiel ist eine Rollenvertrauensrichtlinie für eine Rolle in Amazon Cognito, die für den Web-Identitätsverbund verwendet wird. Die Erkenntnisse der Vertrauensrichtlinie beziehen sich auf einen leeren Sid-Elementwert und einen nicht übereinstimmenden Richtlinienprinzipal, da die falsche Aktion für „Rolle übernehmen“, sts:AssumeRole, verwendet wurde. Die richtige Aktion für „Rolle annehmen“ für die Verwendung mit Cognito ist sts:AssumeRoleWithWebIdentity.

aws accessanalyzer validate-policy \ --policy-document file://myfile.json \ --policy-type RESOURCE_POLICY

Inhalt von 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" } } } ] }

Ausgabe:

{ "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 } } } ] } ] }

Weitere Informationen finden Sie unter Überprüfungen für die Validierung von Richtlinien im AWS-IAM-Benutzerhandbuch.

  • API-Details finden Sie unter ValidatePolicy in der AWS CLI-Befehlsreferenz.