기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
IAM 를 사용하여 분석기 예제 액세스 AWS CLI
다음 코드 예제에서는 IAM Access Analyzer AWS Command Line Interface 와 함께 를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.
각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.
주제
작업
다음 코드 예시에서는 apply-archive-rule
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
아카이브 규칙 기준을 충족하는 기존 결과에 아카이브 규칙을 적용하려면
다음
apply-archive-rule
예제에서는 아카이브 규칙 기준을 충족하는 기존 결과에 아카이브 규칙을 적용합니다.aws accessanalyzer apply-archive-rule \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/UnusedAccess-ConsoleAnalyzer-organization
\ --rule-nameMyArchiveRule
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS IAM 사용 설명서의 아카이브 규칙을 참조하세요.
-
자세한 API 내용은 명령 참조ApplyArchiveRule
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 cancel-policy-generation
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
요청된 정책 생성을 취소하려면
다음
cancel-policy-generation
예제에서는 요청된 정책 생성 작업 ID를 취소합니다.aws accessanalyzer cancel-policy-generation \ --job-id
923a56b0-ebb8-4e80-8a3c-a11ccfbcd6f2
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS IAM 사용 설명서의 IAM Access Analyzer 정책 생성을 참조하세요.
-
자세한 API 내용은 명령 참조CancelPolicyGeneration
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 check-access-not-granted
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 액세스가 정책에서 허용되지 않는지 확인하려면
다음
check-access-not-granted
예제에서는 지정된 액세스가 정책에서 허용되지 않는지 확인합니다.aws accessanalyzer check-access-not-granted \ --policy-document
file://myfile.json
\ --access actions="s3:DeleteBucket","s3:GetBucketLocation" \ --policy-typeIDENTITY_POLICY
myfile.json
의 콘텐츠:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] } ] }
출력:
{ "result": "PASS", "message": "The policy document does not grant access to perform one or more of the listed actions." }
자세한 내용은 AWS IAM 사용 설명서의 IAM Access Analyzer를 사용한 액세스 미리 보기를 APIs 참조하세요.
-
자세한 API 내용은 명령 참조CheckAccessNotGranted
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 check-no-new-access
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
기존 정책과 비교할 때 업데이트된 정책에 대해 새 액세스가 허용되는지 확인하려면
다음
check-no-new-access
예제에서는 기존 정책과 비교할 때 업데이트된 정책에 대해 새 액세스가 허용되는지 여부를 확인합니다.aws accessanalyzer check-no-new-access \ --existing-policy-document
file://existing-policy.json
\ --new-policy-documentfile://new-policy.json
\ --policy-typeIDENTITY_POLICY
existing-policy.json
의 콘텐츠:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] } ] }
new-policy.json
의 콘텐츠:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] } ] }
출력:
{ "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 } ] }
자세한 내용은 AWS IAM 사용 설명서의 IAM Access Analyzer를 사용한 액세스 미리 보기를 APIs 참조하세요.
-
자세한 API 내용은 명령 참조CheckNoNewAccess
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 check-no-public-access
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
리소스 정책이 지정된 리소스 유형에 대한 퍼블릭 액세스 권한을 부여할 수 있는지 확인하려면
다음
check-no-public-access
예제에서는 리소스 정책이 지정된 리소스 유형에 대한 퍼블릭 액세스 권한을 부여할 수 있는지 확인합니다.aws accessanalyzer check-no-public-access \ --policy-document
file://check-no-public-access-myfile.json
\ --resource-typeAWS::S3::Bucket
myfile.json
의 콘텐츠:{ "Version": "2012-10-17", "Statement": [ { "Sid": "CheckNoPublicAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/JohnDoe" }, "Action": [ "s3:GetObject" ] } ] }
출력:
{ "result": "PASS", "message": "The resource policy does not grant public access for the given resource type." }
자세한 내용은 AWS IAM 사용 설명서의 IAM Access Analyzer를 사용한 액세스 미리 보기를 APIs 참조하세요.
-
자세한 API 내용은 명령 참조CheckNoPublicAccess
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 create-access-preview
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
리소스 권한을 배포하기 전에 리소스에 대한 IAM Access Analyzer 결과를 미리 볼 수 있는 액세스 미리 보기를 생성하려면
다음
create-access-preview
예제에서는 AWS 계정에 리소스 권한을 배포하기 전에 리소스에 대한 IAM Access Analyzer 결과를 미리 볼 수 있는 액세스 미리 보기를 생성합니다.aws accessanalyzer create-access-preview \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
\ --configurationsfile://myfile.json
myfile.json
의 콘텐츠:{ "arn:aws:s3:::DOC-EXAMPLE-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:::DOC-EXAMPLE-BUCKET/*\"}]}", "bucketPublicAccessBlock": { "ignorePublicAcls": true, "restrictPublicBuckets": true }, "bucketAclGrants": [ { "grantee": { "id": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be" }, "permission": "READ" } ] } } }
출력:
{ "id": "3c65eb13-6ef9-4629-8919-a32043619e6b" }
자세한 내용은 AWS IAM 사용 설명서의 IAM Access Analyzer를 사용한 액세스 미리 보기를 APIs 참조하세요.
-
자세한 API 내용은 명령 참조CreateAccessPreview
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 create-analyzer
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
분석기를 생성하려면
다음
create-analyzer
예제에서는 AWS 계정에 분석기를 생성합니다.aws accessanalyzer create-analyzer \ --analyzer-name
example
\ --typeACCOUNT
출력:
{ "arn": "arn:aws:access-analyzer:us-east-2:111122223333:analyzer/example" }
자세한 내용은 AWS IAM 사용 설명서의 AWS Identity and Access Management Access Analyzer 결과 시작하기를 참조하세요.
-
자세한 API 내용은 명령 참조CreateAnalyzer
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 create-archive-rule
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 분석기에 대한 아카이브 규칙을 생성하려면
다음
create-archive-rule
예제에서는 AWS 계정에서 지정된 분석기에 대한 아카이브 규칙을 생성합니다.aws accessanalyzer create-archive-rule \ --analyzer-name
UnusedAccess-ConsoleAnalyzer-organization
\ --rule-nameMyRule
\ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}
'이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS IAM 사용 설명서의 아카이브 규칙을 참조하세요.
-
자세한 API 내용은 명령 참조CreateArchiveRule
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 delete-analyzer
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 분석기를 삭제하려면
다음
delete-analyzer
예제에서는 AWS 계정에서 지정된 분석기를 삭제합니다.aws accessanalyzer delete-analyzer \ --analyzer-name
example
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS IAM 사용 설명서의 아카이브 규칙을 참조하세요.
-
자세한 API 내용은 명령 참조DeleteAnalyzer
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 delete-archive-rule
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 아카이브 규칙을 삭제하려면
다음
delete-archive-rule
예제에서는 AWS 계정에서 지정된 아카이브 규칙을 삭제합니다.aws accessanalyzer delete-archive-rule \ --analyzer-name
UnusedAccess-ConsoleAnalyzer-organization
\ --rule-nameMyRule
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS IAM 사용 설명서의 아카이브 규칙을 참조하세요.
-
자세한 API 내용은 명령 참조DeleteArchiveRule
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-access-preview
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 분석기의 액세스 미리 보기에 대한 정보를 검색하려면
다음
get-access-preview
예제에서는 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
출력:
{ "accessPreview": { "id": "3c65eb13-6ef9-4629-8919-a32043619e6b", "analyzerArn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account", "configurations": { "arn:aws:s3:::DOC-EXAMPLE-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:::DOC-EXAMPLE-BUCKET/*\"}]}", "bucketAclGrants": [ { "permission": "READ", "grantee": { "id": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be" } } ], "bucketPublicAccessBlock": { "ignorePublicAcls": true, "restrictPublicBuckets": true } } } }, "createdAt": "2024-02-17T00:18:44+00:00", "status": "COMPLETED" } }
자세한 내용은 AWS IAM 사용 설명서의 IAM Access Analyzer를 사용한 액세스 미리 보기를 APIs 참조하세요.
-
자세한 API 내용은 명령 참조GetAccessPreview
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-analyzed-resource
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
분석된 리소스에 대한 정보를 검색하려면
다음
get-analyzed-resource
예제에서는 AWS 계정에서 분석된 리소스에 대한 정보를 검색합니다.aws accessanalyzer get-analyzed-resource \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
\ --resource-arnarn:aws:s3:::DOC-EXAMPLE-BUCKET
출력:
{ "resource": { "analyzedAt": "2024-02-15T18:01:53.002000+00:00", "isPublic": false, "resourceArn": "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::S3::Bucket" } }
자세한 내용은 AWS IAM 사용 설명서의 AWS Identity and Access Management Access Analyzer 사용을 참조하세요.
-
자세한 API 내용은 명령 참조GetAnalyzedResource
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-analyzer
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 분석기에 대한 정보를 검색하려면
다음
get-analyzer
예제에서는 AWS 계정에서 지정된 분석기에 대한 정보를 검색합니다.aws accessanalyzer get-analyzer \ --analyzer-name
ConsoleAnalyzer-account
출력:
{ "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" } }
자세한 내용은 AWS IAM 사용 설명서의 AWS Identity and Access Management Access Analyzer 사용을 참조하세요.
-
자세한 API 내용은 명령 참조GetAnalyzer
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-archive-rule
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
아카이브 규칙에 대한 정보를 검색하려면
다음
get-archive-rule
예제에서는 AWS 계정의 아카이브 규칙에 대한 정보를 검색합니다.aws accessanalyzer get-archive-rule \ --analyzer-name
UnusedAccess-ConsoleAnalyzer-organization
\ --rule-nameMyArchiveRule
출력:
{ "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" } }
자세한 내용은 AWS IAM 사용 설명서의 아카이브 규칙을 참조하세요.
-
자세한 API 내용은 명령 참조GetArchiveRule
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-finding-v2
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 결과에 대한 정보를 검색하려면
다음
get-finding-v2
예제는 AWS 계정에서 지정된 결과에 대한 정보를 에트리브합니다.aws accessanalyzer get-finding-v2 \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-organization
\ --id0910eedb-381e-4e95-adda-0d25c19e6e90
출력:
{ "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" }
자세한 내용은 AWS IAM 사용 설명서의 결과 검토를 참조하세요.
-
API 자세한 내용은 AWS CLI 명령 참조의 GetFindingV2
를 참조하세요.
-
다음 코드 예시에서는 get-finding
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 결과에 대한 정보를 검색하려면
다음
get-finding
예제는 AWS 계정에서 지정된 결과에 대한 정보를 에트리브합니다.aws accessanalyzer get-finding \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-organization
\ --id0910eedb-381e-4e95-adda-0d25c19e6e90
출력:
{ "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" } }
자세한 내용은 AWS IAM 사용 설명서의 결과 검토를 참조하세요.
-
자세한 API 내용은 명령 참조GetFinding
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-generated-policy
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
`StartPolicyGeneration`를 사용하여 생성된 정책을 검색하려면 API
다음
get-generated-policy
예제에서는 AWS 계정에서 를 사용하여 StartPolicyGeneration API 생성된 정책을 검색합니다.aws accessanalyzer get-generated-policy \ --job-id
c557dc4a-0338-4489-95dd-739014860ff9
출력:
{ "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" } }
자세한 내용은 AWS IAM 사용 설명서의 IAM Access Analyzer 정책 생성을 참조하세요.
-
자세한 API 내용은 명령 참조GetGeneratedPolicy
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-access-preview-findings
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 액세스 미리 보기에서 생성된 액세스 미리 보기 조사 결과 목록을 검색하려면
다음
list-access-preview-findings
예제에서는 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
출력:
{ "findings": [ { "id": "e22fc158-1c87-4c32-9464-e7f405ce8d74", "principal": { "AWS": "111122223333" }, "action": [ "s3:PutObject", "s3:PutObjectAcl" ], "condition": {}, "resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "isPublic": false, "resourceType": "AWS::S3::Bucket", "createdAt": "2024-02-17T00:18:46+00:00", "changeType": "NEW", "status": "ACTIVE", "resourceOwnerAccount": "111122223333", "sources": [ { "type": "POLICY" } ] } ] }
자세한 내용은 AWS IAM 사용 설명서의 IAM Access Analyzer를 사용한 액세스 미리 보기를 APIs 참조하세요.
-
자세한 API 내용은 명령 참조ListAccessPreviewFindings
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-access-previews
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 분석기에 대한 액세스 미리 보기 목록을 검색하려면
다음
list-access-previews
예제에서는 AWS 계정에서 지정된 분석기에 대한 액세스 미리 보기 목록을 검색합니다.aws accessanalyzer list-access-previews \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
출력:
{ "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" } ] }
자세한 내용은 AWS IAM 사용 설명서의 IAM Access Analyzer를 사용한 액세스 미리 보기를 APIs 참조하세요.
-
자세한 API 내용은 명령 참조ListAccessPreviews
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-analyzed-resources
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
사용 가능한 위젯을 나열하려면
다음
list-analyzed-resources
예제에서는 AWS 계정에서 사용 가능한 위젯을 나열합니다.aws accessanalyzer list-analyzed-resources \ --analyzer-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
\ --resource-typeAWS::IAM::Role
출력:
{ "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" } ] }
자세한 내용은 AWS IAM 사용 설명서의 AWS Identity and Access Management Access Analyzer 사용을 참조하세요.
-
자세한 API 내용은 명령 참조ListAnalyzedResources
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-analyzers
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
분석기 목록을 검색하려면
다음
list-analyzers
예제에서는 AWS 계정의 분석기 목록을 검색합니다.aws accessanalyzer list-analyzers
출력:
{ "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:::DOC-EXAMPLE-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" } ] }
자세한 내용은 AWS IAM 사용 설명서의 AWS Identity and Access Management Access Analyzer 사용을 참조하세요.
-
자세한 API 내용은 명령 참조ListAnalyzers
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-archive-rules
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 분석기에 대해 생성된 아카이브 규칙 목록을 검색하려면
다음
list-archive-rules
예제에서는 AWS 계정에서 지정된 분석기에 대해 생성된 아카이브 규칙 목록을 검색합니다.aws accessanalyzer list-archive-rules \ --analyzer-name
UnusedAccess-ConsoleAnalyzer-organization
출력:
{ "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" } ] }
자세한 내용은 AWS IAM 사용 설명서의 AWS Identity and Access Management Access Analyzer 사용을 참조하세요.
-
자세한 API 내용은 명령 참조ListArchiveRules
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-findings-v2
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 분석기에서 생성된 결과 목록을 검색하려면
다음
list-findings-v2
예제에서는 AWS 계정의 지정된 분석기에서 생성된 조사 결과 목록을 검색합니다. 이 예제에서는 이름이 를 포함하는 IAM 역할만 포함하도록 결과를 필터링합니다Cognito
.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"]}}
'출력:
{ "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" } ] }
자세한 내용은 AWS IAM 사용 설명서의 AWS Identity and Access Management Access Analyzer 사용을 참조하세요.
-
API 자세한 내용은 AWS CLI 명령 참조의 ListFindingsV2
를 참조하세요.
-
다음 코드 예시에서는 list-findings
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 분석기에서 생성된 결과 목록을 검색하려면
다음
list-findings
예제에서는 AWS 계정의 지정된 분석기에서 생성된 조사 결과 목록을 검색합니다. 이 예제에서는 이름이 를 포함하는 IAM 역할만 포함하도록 결과를 필터링합니다Cognito
.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"]}}
'출력:
{ "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" } ] }
자세한 내용은 AWS IAM 사용 설명서의 AWS Identity and Access Management Access Analyzer 사용을 참조하세요.
-
자세한 API 내용은 명령 참조ListFindings
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-policy-generations
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지난 7일 동안 요청된 모든 정책 생성을 나열하려면
다음
list-policy-generations
예제에서는 AWS 계정에서 지난 7일 동안 요청된 모든 정책 생성을 나열합니다.aws accessanalyzer list-policy-generations
출력:
{ "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" } ] }
자세한 내용은 AWS IAM 사용 설명서의 IAM 액세스 분석기 정책 생성을 참조하세요.
-
자세한 API 내용은 명령 참조ListPolicyGenerations
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-tags-for-resource
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 리소스에 적용된 태그 목록을 검색하려면
다음
list-tags-for-resource
예제에서는 AWS 계정의 지정된 리소스에 적용된 태그 목록을 검색합니다.aws accessanalyzer list-tags-for-resource \ --resource-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
출력:
{ "tags": { "Zone-of-trust": "Account", "Name": "ConsoleAnalyzer" } }
자세한 내용은 AWS IAM 사용 설명서의 IAM 액세스 분석기 정책 생성을 참조하세요.
-
자세한 API 내용은 명령 참조ListTagsForResource
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 start-policy-generation
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
정책 생성 요청을 시작하려면
다음
start-policy-generation
예제에서는 AWS 계정에서 정책 생성 요청을 시작합니다.aws accessanalyzer start-policy-generation \ --policy-generation-details '
{"principalArn":"arn:aws:iam::111122223333:role/Admin"}
' \ --cloud-trail-detailsfile://myfile.json
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" } ] }
출력:
{ "jobId": "c557dc4a-0338-4489-95dd-739014860ff9" }
자세한 내용은 AWS IAM 사용 설명서의 IAM Access Analyzer 정책 생성을 참조하세요.
-
자세한 API 내용은 명령 참조StartPolicyGeneration
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 start-resource-scan
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 리소스에 적용된 정책 스캔을 즉시 시작하려면
다음
start-resource-scan
예제에서는 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
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS IAM 사용 설명서의 IAM Access Analyzer 정책 생성을 참조하세요.
-
자세한 API 내용은 명령 참조StartResourceScan
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 tag-resource
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 리소스에 태그를 추가하려면
다음
tag-resource
예제에서는 AWS 계정의 지정된 리소스에 태그를 추가합니다.aws accessanalyzer tag-resource \ --resource-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
\ --tagsEnvironment=dev,Purpose=testing
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS IAM 사용 설명서의 AWS Identity and Access Management Access Analyzer 사용을 참조하세요.
-
자세한 API 내용은 명령 참조TagResource
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 untag-resource
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 리소스에서 태그를 제거하려면
다음
untag-resource
예제에서는 AWS 계정의 지정된 리소스에서 태그를 제거합니다.aws accessanalyzer untag-resource \ --resource-arn
arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account
\ --tag-keysEnvironment
Purpose
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS IAM 사용 설명서의 AWS Identity and Access Management Access Analyzer 사용을 참조하세요.
-
자세한 API 내용은 명령 참조UntagResource
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 update-archive-rule
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 아카이브 규칙의 기준 및 값을 업데이트하려면
다음
update-archive-rule
예제에서는 AWS 계정에서 지정된 아카이브 규칙의 기준과 값을 업데이트합니다.aws accessanalyzer update-archive-rule \ --analyzer-name
UnusedAccess-ConsoleAnalyzer-organization
\ --rule-nameMyArchiveRule
\ --filter '{"resource": {"contains": ["Cognito"]}, "resourceType": {"eq": ["AWS::IAM::Role"]}}
'이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS IAM 사용 설명서의 아카이브 규칙을 참조하세요.
-
자세한 API 내용은 명령 참조UpdateArchiveRule
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 update-findings
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 조사 결과의 상태를 업데이트하려면
다음
update-findings
예제에서는 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
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS IAM 사용 설명서의 AWS Identity and Access Management Access Analyzer 사용을 참조하세요.
-
자세한 API 내용은 명령 참조UpdateFindings
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 validate-policy
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
정책 검증을 요청하고 조사 결과 목록을 반환하려면
다음
validate-policy
예제에서는 정책의 검증을 요청하고 조사 결과 목록을 반환합니다. 예제의 정책은 웹 ID 페더레이션에 사용되는 Amazon Cognito 역할에 대한 역할 신뢰 정책입니다. 신뢰 정책에서 생성된 조사 결과는 잘못된 수임 역할 작업이 사용되므로 빈Sid
요소 값 및 일치하지 않는 정책 보안 주체와 관련이 있습니다sts:AssumeRole
. Cognito와 함께 사용할 올바른 역할 가정 작업은 입니다sts:AssumeRoleWithWebIdentity
.aws accessanalyzer validate-policy \ --policy-document
file://myfile.json
\ --policy-typeRESOURCE_POLICY
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" } } } ] }
출력:
{ "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 } } } ] } ] }
자세한 내용은 AWS IAM 사용 설명서의 정책 검증 확인을 참조하세요.
-
자세한 API 내용은 명령 참조ValidatePolicy
의 섹션을 참조하세요. AWS CLI
-