서드 파티 자격 증명 공급자의 역할 만들기(연동) - AWS Identity and Access Management

서드 파티 자격 증명 공급자의 역할 만들기(연동)

AWS 계정에 속하는 IAM 사용자를 생성하는 대신에 자격 증명 공급자를 사용할 수 있습니다. 자격 증명 공급자(IdP)를 사용하면 AWS 외부의 사용자 자격 증명을 관리할 수 있고 이 외부 사용자 자격 증명에 계정의 AWS 리소스에 대한 사용 권한을 부여할 수 있습니다. 연동 및 자격 증명 공급자에 대한 자세한 내용은 자격 증명 공급자 및 페더레이션 섹션을 참조하세요.

페더레이션 사용자의 역할 만들기(콘솔)

페더레이션 사용자의 역할을 만드는 절차는 서드 파티 공급자들의 선택에 따라 다릅니다.

페더레이션 액세스의 역할 만들기(AWS CLI)

AWS CLI에서 지원되는 자격 증명 공급자(OIDC 또는 SAML)의 역할을 만드는 절차는 동일합니다. 차이는 필수 선행 단계에서 생성하는 신뢰 정책의 내용에 있습니다. 사용하고 있는 공급자의 유형에 대한 필수 선행 조건 섹션에 나와 있는 절차에서부터 시작하세요.

AWS CLI에서 역할을 만들려면 여러 단계를 거쳐야 합니다. 콘솔을 사용하여 역할을 만들 때는 많은 단계가 자동으로 수행되지만 AWS CLI를 사용하면 각 단계를 직접 명시적으로 수행해야 합니다. 역할을 만든 다음 권한 정책을 역할에 할당해야 합니다. 선택적으로 역할에 대한 권한 경계를 설정할 수 있습니다.

아이덴티티 페더레이션을 위한 역할을 생성하려면(AWS CLI)
  1. 역할 생성: aws iam create-role

  2. 역할에 권한 정책 연결: aws iam attach-role-policy

    또는

    역할을 위한 인라인 권한 정책 생성: aws iam put-role-policy

  3. (선택 사항) 태그를 연결하여 사용자 지정 속성을 역할에 추가: aws iam tag-role

    자세한 내용은 IAM 역할의 태그 관리(AWS CLI 또는 AWS API) 단원을 참조하십시오.

  4. (선택 사항) 역할(aws iam put-role-permissions-boundary)에 대한 권한 경계를 설정합니다.

    이 권한 경계는 역할이 가질 수 있는 최대 권한을 관리합니다. 권한 경계는 고급 AWS 기능입니다.

다음 예는 단순한 환경에서 자격 증명 공급자를 생성하는 가장 일반적인 단계 중 첫 두 단계를 보여줍니다. 이 예제는 123456789012 계정에 있는 모든 사용자가 역할을 수임하고 example_bucket Amazon S3 버킷을 볼 수 있도록 허용합니다. 또한 이 예는 Windows가 구동중인 컴퓨터에서 AWS CLI를 실행하고 있으며 자격 증명으로 AWS CLI를 이미 구성했다고 가정합니다. 자세한 내용은 AWS Command Line Interface 구성 섹션을 참조하세요.

다음 예는 사용자가 Amazon Cognito를 사용하여 로그인하는 경우 모바일 앱에 대해 설계되는 신뢰 정책을 보여줍니다. 이 예제에서 us-east:12345678-ffff-ffff-ffff-123456은 Amazon Cognito에 의해 할당된 자격 증명 풀 ID를 나타냅니다.

{ "Version": "2012-10-17", "Statement": { "Sid": "RoleForCognito", "Effect": "Allow", "Principal": {"Federated": "cognito-identity.amazonaws.com"}, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": {"StringEquals": {"cognito-identity.amazonaws.com:aud": "us-east:12345678-ffff-ffff-ffff-123456"}} } }

다음 권한 정책에서는 역할을 수임하는 사용자가 example_bucket Amazon S3 버킷에서 ListBucket 작업만 수행하도록 허용합니다.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::example_bucket" } }

Test-Cognito-Role 역할을 생성하기 위해서는 이전 신뢰 정책을 trustpolicyforcognitofederation.json 이름으로 이전 권한 정책을 permspolicyforcognitofederation.json 이름으로 로컬 policies 드라이브의 C: 폴더에 먼저 저장해야 합니다. 그러고 나면 다음 명령을 사용하여 역할을 만들고 인라인 정책을 연결합니다.

# Create the role and attach the trust policy that enables users in an account to assume the role. $ aws iam create-role --role-name Test-Cognito-Role --assume-role-policy-document file://C:\policies\trustpolicyforcognitofederation.json # Attach the permissions policy to the role to specify what it is allowed to do. aws iam put-role-policy --role-name Test-Cognito-Role --policy-name Perms-Policy-For-CognitoFederation --policy-document file://C:\policies\permspolicyforcognitofederation.json

페더레이션 액세스의 역할 만들기(AWS API)

AWS CLI에서 지원되는 자격 증명 공급자(OIDC 또는 SAML)의 역할을 만드는 절차는 동일합니다. 차이는 필수 선행 단계에서 생성하는 신뢰 정책의 내용에 있습니다. 사용하고 있는 공급자의 유형에 대한 필수 선행 조건 섹션에 나와 있는 절차에서부터 시작하세요.

아이덴티티 페더레이션을 위한 역할을 생성하려면(AWS API)
  1. 역할 만들기: CreateRole

  2. 역할에 권한 정책 연결: AttachRolePolicy

    또는

    역할을 위한 인라인 권한 정책 생성: PutRolePolicy

  3. (선택 사항) 태그를 연결하여 사용자 지정 속성을 사용자에게 추가: TagRole

    자세한 내용은 IAM 사용자의 태그 관리(AWS CLI 또는 AWS API) 단원을 참조하십시오.

  4. (선택 사항) 역할(PutRolePermissionsBoundary)에 대한 권한 경계를 설정합니다.

    이 권한 경계는 역할이 가질 수 있는 최대 권한을 관리합니다. 권한 경계는 고급 AWS 기능입니다.