Doc AWS SDK 예제 GitHub 리포지토리에서 더 많은 SDK 예제를 사용할 수 있습니다. AWS
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용한 IAM Access Analyzer 예제 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 세부 정보는 AWS CLI 명령 참조의 ApplyArchiveRule
을 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 CancelPolicyGeneration
을 참조하세요.
-
다음 코드 예시에서는 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:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-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 API를 사용하여 액세스 미리 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CheckAccessNotGranted
를 참조하세요.
-
다음 코드 예시에서는 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:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }
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/*" ] } ] }
출력:
{ "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 API를 사용하여 액세스 미리 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CheckNoNewAccess
를 참조하세요.
-
다음 코드 예시에서는 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 API를 사용하여 액세스 미리 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CheckNoPublicAccess
를 참조하세요.
-
다음 코드 예시에서는 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:::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" } ] } } }
출력:
{ "id": "3c65eb13-6ef9-4629-8919-a32043619e6b" }
자세한 내용은 AWS IAM 사용 설명서의 IAM Access Analyzer API를 사용하여 액세스 미리 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CreateAccessPreview
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 CreateAnalyzer
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 CreateArchiveRule
을 참조하세요.
-
다음 코드 예시에서는 delete-analyzer
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 분석기를 삭제하는 방법
다음
delete-analyzer
예시에서는 AWS 계정에서 지정된 분석기를 삭제합니다.aws accessanalyzer delete-analyzer \ --analyzer-name
example
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS IAM 사용 설명서의 아카이브 규칙을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteAnalyzer
를 참조하세요.
-
다음 코드 예시에서는 delete-archive-rule
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 아카이브 규칙을 삭제하는 방법
다음
delete-archive-rule
예시에서는 AWS 계정에서 지정된 아카이브 규칙을 삭제합니다.aws accessanalyzer delete-archive-rule \ --analyzer-name
UnusedAccess-ConsoleAnalyzer-organization
\ --rule-nameMyRule
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS IAM 사용 설명서의 아카이브 규칙을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteArchiveRule
을 참조하세요.
-
다음 코드 예시에서는 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:::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" } }
자세한 내용은 AWS IAM 사용 설명서의 IAM Access Analyzer API를 사용하여 액세스 미리 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 GetAccessPreview
를 참조하세요.
-
다음 코드 예시에서는 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:::amzn-s3-demo-bucket
출력:
{ "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" } }
자세한 내용은 AWS IAM 사용 설명서의 AWS Identity and Access Management Access Analyzer 사용을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 GetAnalyzedResource
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 GetAnalyzer
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 GetArchiveRule
을 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 GetFinding
을 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 GetGeneratedPolicy
를 참조하세요.
-
다음 코드 예시에서는 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:::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" } ] } ] }
자세한 내용은 AWS IAM 사용 설명서의 IAM Access Analyzer API를 사용하여 액세스 미리 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListAccessPreviewFindings
를 참조하세요.
-
다음 코드 예시에서는 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 API를 사용하여 액세스 미리 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListAccessPreviews
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 ListAnalyzedResources
를 참조하세요.
-
다음 코드 예시에서는 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:::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" } ] }
자세한 내용은 AWS IAM 사용 설명서의 AWS Identity and Access Management Access Analyzer 사용을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListAnalyzers
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 ListArchiveRules
를 참조하세요.
-
다음 코드 예시에서는 list-findings-v2
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 분석기를 통해 생성된 결과의 목록을 검색하는 방법
다음
list-findings-v2
예시에서는 AWS 계정에서 지정된 분석기에서 생성된 결과 목록을 검색합니다. 이 예제에서는 이름에Cognito
가 들어 있는 IAM 역할만 포함하도록 결과를 필터링합니다.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 계정에서 지정된 분석기에서 생성된 결과 목록을 검색합니다. 이 예제에서는 이름에Cognito
가 들어 있는 IAM 역할만 포함하도록 결과를 필터링합니다.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 세부 정보는 AWS CLI 명령 참조의 ListFindings
를 참조하세요.
-
다음 코드 예시에서는 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 Access Analyzer 정책 생성을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListPolicyGenerations
를 참조하세요.
-
다음 코드 예시에서는 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 Access Analyzer 정책 생성을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListTagsForResource
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 StartPolicyGeneration
을 참조하세요.
-
다음 코드 예시에서는 start-resource-scan
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 리소스에 적용된 정책의 스캔을 즉시 시작하는 방법
다음
start-resource-scan
예제에서는 AWS 계정의 지정된 리소스에 적용된 정책의 스캔을 mmediately 시작합니다.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 세부 정보는 AWS CLI 명령 참조의 StartResourceScan
을 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 TagResource
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 UntagResource
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 UpdateArchiveRule
을 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 UpdateFindings
를 참조하세요.
-
다음 코드 예시에서는 validate-policy
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
정책 검증을 요청하고 결과 목록을 반환하는 방법
다음
validate-policy
예제에서는 정책의 검증을 요청하고 결과 목록을 반환합니다. 이 예제의 정책은 웹 ID 페더레이션에 사용되는 Amazon Cognito 역할에 대한 역할 신뢰 정책입니다. 잘못된 수임 역할 작업인sts:AssumeRole
이 사용되므로, 신뢰 정책에서 생성된 결과는 빈Sid
요소 값 및 불일치 정책 보안 주체와 관련됩니다. 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 세부 정보는 AWS CLI 명령 참조의 ValidatePolicy
를 참조하세요.
-